読者です 読者をやめる 読者になる 読者になる
スポンサーリンク

電磁気学講義ノート:マクスウェル方程式のためのベクトル解析 (1)内積・外積の計算を簡素化

物理学 数学 シケプリ

Maxwell方程式に基づく電磁場の計算を,楽に,スムーズに,手早く実行したい。

そのために,計算上のテクニックとして以下の点を学ぶ。


(1)演算子の表示を省く:

  1. 和を縮約則で省いて,内積・外積の計算を簡素化しよう
  2. 微分の表示をナブラで省いて,場の計算を簡素化しよう


(2)変数の数を減らすために,扱いやすい座標系に変換する:

  1. 対称な場のために,rを導入する
  2. 積分実行のために,次元を一つ落とす


今回は,その前半を学ぶ。

(1−1)内積・外積の計算を簡素化しよう

ベクトル解析と言えば内積と外積。まずは,これらを簡単に計算したい。

  1. 内積を簡単に書くために,アインシュタイン記法
  2. 外積を簡単に書くために,イプシロン(レビ・チビタのテンソル)とクロネッカーのデルタ

の順に解説。

(1−1−1)内積を簡単に書くためのアインシュタイン記法

ベクトルの成分を計算する時に,ベクトルの成分を \vec{A}=(A_x,A_y,A_z)^T のように書くのをやめよう。

xとかyとかzといったアルファベットは文字であって,番号ではないので,一般化する方法がない。

そのせいで,3次元のベクトルの内積を書くときには


\vec{A}\cdot\vec{B}=A_xB_x+A_yB_y+A_zB_z


のように,合計6回も添え字のアルファベットを書かなければならない。



もしアルファベットのかわりに番号を使って \vec{A}=(A_1,A_2,A_3)^T とすれば,各座標軸を特別視せず,一般化して均質に取り扱う事が可能になる。

番号で表示すれば,3次元のベクトル同士の内積はシグマを使って


\vec{A}\cdot\vec{B}=\sum_{i=1}^3A_iB_i\quad\quad(=A_xB_x+A_yB_y+A_zB_z)


と書くことができるし,2次元ならば


\vec{A}\cdot\vec{B}=\sum_{i=1}^2A_iB_i\quad\quad(=A_xB_x+A_yB_y)


と書ける。

どちらの場合も番号表示のおかげで,添え字としてアルファベット(ここでは i )を書く手間が2回に減ってくれた。


さらに,次元に依存しない本質的な部分だけを記述すれば


\vec{A}\cdot\vec{B}=\sum_{i}A_iB_i


である。

ここでシグマの意味を考えると,この演算子がやっている事は

  • 演算対象(関数で言えば,引数)として,項 A_iB_i を受け取る。
  • 演算対象となる項に対して仮のパラメータ i を与え,
  • その仮パラメータを下限から上限までインクリメントさせ,足し合わせ,計算結果を返却。


ということだ。

そしてその本質は

  • (A)i は仮パラメータである。(つまり,計算終了後も残るような意味のあるパラメータではない)
  • (B)仮パラメータの上限と下限を決定することが必要である。


の2点。

しかし実は,この2点は自明である。

  • (A):
    • x, y, zなどの変数を使って考えている途中,いきなりiという未使用の変数が現れる。シグマによる和計算が発生するよりも前の時点では現れなかったのに。
    • 和計算が終わると,いきなり i という変数は現れなくなる。
    • したがって, i は和計算のためだけに利用された,一時的な,使い捨ての変数である。真の変数ではない。
  • (B):
    • いま2次元の話をしているのか,3次元の話をしているのか,大抵はわかりきっており,説明不要である。
    • とくに電磁場の計算をしているときには,和の下限が1で,上限が3である事は暗黙の了解である。


だから,シグマを書くことによる

  • iは項内の仮パラメータですよ
  • 1から3まで項内でインクリメントさせた上で和を取りますよ

という意思表示は,もはや不要になる。


したがって,x,y,zなどの座標軸に基づいて場の計算を行なっているときには,仮パラメータをシグマによる説明無しにいきなり使って


\vec{A}\cdot\vec{B}=A_iB_i


というふうに記述・表示してもよいという事がわかる。


仮パラメータは何でもよい。i だろうが j だろうが,演算対象に対する仮変数であることがわかりさえすればよい。

上の式を


\vec{A}\cdot\vec{B}=A_jB_j


と書いても同じことである。

なぜなら,和計算(シグマ演算子がやっていた演算)を計算もしくは展開し終わったら i とか j は消えるのだから。



これがアインシュタインの添え字縮約規則である。

アインシュタインの縮約記法
http://ja.wikipedia.org/wiki/%E3%82%A...


項内で同じ添え字が現れたら,和を取る。


計算例(1):


(\vec{A}\cdot\vec{B})(\vec{C}\cdot\vec{D})\\\quad=(\sum_{i}A_iB_i)(\sum_{j}C_jD_j)\\\quad=(A_iB_i)(C_jD_j)\\\quad=A_iB_iC_jD_j


縮約則のおかげで,シンプルに成分表示することができた。

この計算の注意点:

  • 仮パラメータは,あくまで1つの和計算の演算対象に対する仮パラメータだから,ABとCDで別々の仮パラメータを使わなければならない。同一の仮変数 i を使ってはならない。
  • 項内,つまり乗法で結合された4つの文字同士の間で,i と j に関して2回和を取っている。同様の計算のイメージをつかむために二重積分を引き合いに出すと, \int{}xdx\int{}ydy=\int{}dx\int{}dy(xy)のように一つの項内に2つの積分演算子が現れ,x積分の演算子とy積分の演算子は交換可能である。


計算例(2):


A_iA_jB_iB_j\\\quad=A_iB_iA_jB_j\\\quad=(A_iB_i)(A_jB_j)\\\quad=(\sum_{i}A_iB_i)(\sum_{j}A_jB_j)\\\quad=(\vec{A}\cdot\vec{B})(\vec{A}\cdot\vec{B})\\\quad=(\vec{A}\cdot\vec{B})^2

この計算の注意点:

  • あくまで同じ添え字に対してだけ,和を取る。iとjを混同してはならない。
  • だから,iだけのグループとjだけのグループに分けると計算しやすくなる。

以上で,内積を簡単に記述する方法を学んだ。

※なお,記法だけでなく内積の具体的なイメージについて知りたい場合は以下の記事を参照。

「相関係数とは何か?」 を体系的に理解するための6ステップ
http://language-and-engineering.hatenablog.jp/entry/20090128/1233151846

  • かけ算
  • 内積
  • なす角の余弦
  • 共分散
  • 相関係数
  • 相関関数

これらは6つとも同じものであり,類似度を算出するためのツールである。

(1−1−2)外積を簡単に書くためのイプシロン記法とクロネッカーのデルタ


続いて外積。


x,y,zを使って書くと


\vec{A}\times\vec{B}=(A_yB_z-A_zB_y,\quad A_zB_x-A_xB_z,\quad A_xB_y-A_yB_x)


であるが,こんな書き方は即刻やめること。


役に立たない,余分なものを書くために時間を費やしていたら,いつまでも進歩はない。


これは何にでも当てはまる事だが,ある程度議論を進めて行くと,ものごとの記述は冗長になる。

そこで,より高次の考えを伝達するために,本質をとらえた簡潔な記法が必要になる。

2 + 2 + 2 + 2 + 2 と書く代わりに, 2 × 5 と書くようなものだ。
*1




では,内積の時と同じように,外積も番号を使って書いてみよう。そうすれば一般化できるし,そうすれば縮約できる。

座標軸を1,2,3とおけば


\vec{A}\times\vec{B}=(A_2B_3-A_3B_2,\quad A_3B_1-A_1B_3,\quad A_1B_2-A_2B_1)


である。


ここでよく見ると,各成分は

  • 1番目の成分は,2番目・3番目 - 3番目・2番目
  • 2番目の成分は,3番目・1番目 - 1番目・3番目
  • 3番目の成分は,1番目・2番目 - 2番目・1番目

となっており,それを一般化すると

  • +( (1,2,3)という順列の偶置換 ) - ( (1,2,3)という順列の奇置換 )

ということになる。

この「{1}番目は{2}・{3}-{3}・{2}」という関係を簡潔に表現するために,レビ・チビタの完全反対称テンソル \epsilon_{ijk} を導入する。

この記号は

  • \epsilon_{1jk}= + 「(j,k)=(2,3)の項」 - 「(j,k)=(3,2)の項」
  • \epsilon_{2jk}= + 「(j,k)=(3,1)の項」 - 「(j,k)=(1,3)の項」
  • \epsilon_{3jk}= + 「(j,k)=(1,2)の項」 - 「(j,k)=(2,1)の項」

という算法を持つ。

偶置換がプラスで残り,奇置換がマイナスで残るのだ。


計算例:

  • \epsilon_{1jk}A_jB_k=A_2B_3-A_3B_2
  • \epsilon_{2jk}A_jB_k=A_3B_1-A_1B_3
  • \epsilon_{3jk}A_jB_k=A_1B_2-A_2B_1

※注:

外積の計算結果がこうなる理由は,外積の各成分が「平行四辺形の面積」を表すからである。

2つのベクトルが生む平行四辺形の面積は,高校で習う正弦定理と余弦定理から求められる。

http://detail.chiebukuro.yahoo.co.jp/...


また,これらの例でj,kを入れ替える事により

  • \epsilon_{ijk}=-\epsilon_{ikj}

奇置換すると負号がつく。


このイプシロン記号を使うと,外積ベクトルのi番目の成分は次のように書ける。


(\vec{A}\times\vec{B})_i=\epsilon_{ijk}A_jB_k


この算法は外積の性質を確かに満たす。


(\vec{B}\times\vec{A})_i\\\quad =\epsilon_{ijk}B_jA_k\\\quad =\epsilon_{ijk}A_kB_j\\\quad =-\epsilon_{ikj}A_kB_j=-(\vec{B}\times\vec{A})_i


重要な公式として,次の「2重イプシロンの公式」を覚えておくべきだ。


\epsilon_{ijk}\epsilon_{ipq} = \delta_{jp}\delta_{kq} - \delta_{jq}\delta_{kp}


この式は容易に導出できる。

イプシロンは偶置換の項をプラスで残し,奇置換の項をマイナスで残す。したがって

  • 2番目の添え字について j = p かつ3番目の添え字について k = q の項が,プラスで残る。(\delta_{jp}\delta_{kq}
  • 2番目の添え字について j = q かつ3番目の添え字について k = p の項が,マイナスで残る。(-\delta_{jq}\delta_{kp}


この2重イプシロンの式を使った計算例:外積との外積(ベクトル三重積,BAC-CAB則

(\vec{A}\times(\vec{B}\times\vec{C}))_i=\\\quad \epsilon_{ijk}A_j(\vec{B}\times\vec{C})_k\\\quad \epsilon_{ijk}A_j\epsilon_{kpq}B_pC_q\\\quad \epsilon_{kij}\epsilon_{kpq}A_jB_pC_q\\\quad (\delta_{ip}\delta_{jq}-\delta_{iq}\delta{jp}) A_jB_pC_q\\\quad=A_jB_iC_j-A_jB_jC_i\\\quad=B_i(A_jC_j)-C_i(A_jB_j)\\\quad=B_i(\vec{A}\cdot\vec{C})-C_i(\vec{A}\cdot\vec{B})\\\quad=(\vec{B}(\vec{A}\cdot\vec{C})-\vec{C}(\vec{A}\cdot\vec{B}))_i

この計算のポイント:

  • 一番最初から存在する添え字(真の添え字)が i であり,
  • その次に仮パラメータとして導入した添え字が j, k であり,
  • その次に仮パラメータとして導入した添え字が p, q である。

だから,展開するだけ展開したら,

  • まず p, q を消すためにデルタでp,qをi,j,kで揃え,
  • 次に j, k を消すために j の項をまとめて内積にした。

最も後から導入した仮添え字で項をまとめ,その添え字を消すように工夫すれば,縮約則の計算はうまくゆく。



別の計算例:スカラー三重積

\vec{A}\cdot(\vec{B}\times\vec{C})\\\quad=A_i(\vec{B}\times\vec{C})_i\\\quad=A_i\epsilon_{ijk}B_jC_k\\\quad=\epsilon_{ijk}A_iB_jC_k



以上のようにして,内積・外積の計算は全く機械的に,何も迷うことなく完了することができる。

そのおかげで,次項で述べるgrad / div / rotの微分計算も,同様に全く機械的に簡単に実行できるのである。


復習

  • なぜ,アルファベットではなく番号を使って,座標系を表現すべきなのか。
  • 何のために,和の演算子を省いた簡潔な記法(縮約則)が必要なのか。
  • 内積の計算を簡素化するための計算上のテクニックを述べよ。
  • 外積の計算を簡素化するための計算上のテクニックを述べよ。
  • ベクトル三重積を計算せよ。


続きはこちら。

電磁気学講義ノート:マクスウェル方程式のためのベクトル解析 (2)ナブラを使って grad・div・rot の計算を簡素化
http://language-and-engineering.hatenablog.jp/entry/20091223/p1

関連する記事:

物理数学で,「ベクトル解析」の教科書PDF(演習問題と解答つき) 入門用の講義ノート
http://language-and-engineering.hatenablog.jp/entry/20140612/VectorAnalysisPD...


電磁気学の講義ノートPDF (演習問題と解答つき) 大学の理論物理の教科書
http://language-and-engineering.hatenablog.jp/entry/20140615/ElectroMagnetism...


「解析力学」の講義ノートPDF。Webで入手可能なテキスト(演習問題と解答付き)
http://language-and-engineering.hatenablog.jp/entry/20140518/AnalyticalMechan...


大学の数学で,微積分(解析学)の講義ノートPDF。演習問題と解答付き(大学1年で学ぶ,1変数と多変数の微分積分学のオンライン教科書)
http://language-and-engineering.hatenablog.jp/entry/20140509/UniversityCalcul...


偏微分方程式の講義ノートPDF。解き方や分類の基礎を学ぶ入門用の参考書
http://language-and-engineering.hatenablog.jp/entry/20140608/PartialDifferent...

 

*1:実はこの原則は,プログラミングでも同じだ。名著「達人プログラマー」の中にも,「問題領域に近い部分でコーディングすること」という原則がある。