聖根のアジト / メモ / 理数関係 / 多次元における外積の考察
外積の基本
行列式表現を用いた方法
2次元の2項の外積
スカラーとベクトルの外積
4次元の2項の外積
n次元の2項の外積
外積のペアと内積のペア
ウェッジ積
行列を用いた外積の表現
行列を用いた内積とスカラー倍の表現
外積の関数バージョン
外積は高校の数学では通常出て来ないと思うので、簡単に説明します。
これは、内積と同じくベクトル同士の演算の一種です。
内積は、3次元ベクトル
a=(ax, ay, az)
b=(bx, by, bz)
に対して、
a・b=axbx+ayby+azbz
と表現されますが、これに対し、以下で表現されるものが外積です。
a×b=(aybz-azby, azbx-axbz, axby-aybx)
この計算の結果には、c=a×bと置くと、以下の特徴があります。
一番目の方法として、行列式による表現を、以下のように拡張したものが考えられます。
四次元ならば以下のようになります。
これにより得られた結果は、3つのベクトルa、b、c全てと垂直な方向となります。
その絶対値は、a、b、cという3つのベクトルが作り出す平行六面体の体積となります。
n次元の場合なら、n-1個のベクトルの間でこの演算をする事により、それらの全てのベクトルに垂直な方向を向き、
それらのベクトルが構成するn-1次元版平行六面体のn-1次元版体積を絶対値としたベクトルが得られると思います。
しかし、この式から解るように、これはa、b、cという3つのベクトルの間の演算となり、
結果の次元もこの3つのベクトルの積となります。
そうなると、物理の世界を多次元に拡張した場合に、3次元における外積の代わりとしては使えなさそうです。
そこで次に、外積を2つのベクトルの間の演算として考えて行こうと思います。
どうもこれは、「クロス積」の多次元における定義という事になっているようです。
多次元における2つのベクトルによる外積を考えるにあたり、ひとまず次元を下げ、2次元の場合について考えてみます。
物理において外積の現れる演算の例にトルクの計算がありますので、
これを例に考えてみます。
トルクは、いわゆる“てこ”の計算で、支点と力点との距離rと、力点に掛かる力Fを用いて、
T=rF
という感じでまず習うと思います。
「力のモーメント」と表現したほうが正確かもしれません。
これは3次元の場合は、支点に対する力点の位置のベクトルをr、力点にかかる力のベクトルをFとして、
T=r×F
と表現されます。
こう見ると、2次元では、外積は単なる掛け算になりそうに思えるかもしれませんが、
ここで用いられてるrとFは、互いに垂直に交わってるという前提条件がある上に、
スカラーである点に注意が要ります。
二次元においても、位置や力はベクトルとなります。
ここで、そのような前提条件を持たない2次元ベクトルrとFについて、
そこに現れるトルクを考えてみます。
すると、以下のようになります。
T=rxFy−ryFx
どちらにしても、トルクは2次元ではスカラーとなります。
これは、三次元ではxy、yz、zxの3方向の回転があるのに対し、二次元ではxyの回転しかない事によります。
これを、先ほどの3次元のトルクの式と照らし合わせると、2次元における外積を、
a×b=axby−aybx
として定義できるのではないかと考える事ができるようになります。
次元に注意してみると、
(2次元)×(2次元)=(スカラー)
です。
前項では、位置と力からトルクを求めましたが、逆に位置とトルクから力を求める場合にも外積は出てきます。
これらが互いに垂直に交わるという条件の下では、以下の式となります。
F=r×T/|r|2
しかし、前項の話では、二次元ではトルクはスカラーとなるため、
この式の中のr×Tは(2次元)×(スカラー)となってしまいます。
これは三次元の空間上で考えれば、
(ax, ay, 0)×(0, 0, c)=(ayc,−axc, 0)
にあたるため、この(2次元)×(スカラー)の計算は、
a×c=(ayc,−axc)=−c×a
と考えることができます。
次元について見ると、
(2次元)×(スカラー)=(スカラー)×(2次元)=(2次元)
となります。
次元だけ見ればスカラー倍(通常のベクトルとスカラーの積)と同じですが、上記のように式は異なっています。
このように、2次元の場合は、外積の計算が2タイプ出てきます。
3次元の場合は、回転の方向の数が次元の数と一致しているために、
2つの外積が重なっていたと考えることができます。
最初の「行列式表現を用いた方法」と合わせると、3種類の外積が、
3次元においては1つとなっていることになります。
以上から、一般次元における2項の外積の結果は、回転の方向の数と同じ次元数のベクトルで表現できることが予想されます。
4次元の場合であれば、xy、yz、zx、xw、yw、zwという6つの回転が考えられます。
これを用いれば、4次元ベクトルaとbとの外積は、
a×b=(aybz−azby, azbx−axbz, axby−aybx, axbw−awbx, aybw−awby, azbw−awbz)
という6次元ベクトルとして考えられそうです。
そしてこの絶対値は、3次元での外積同様、aとbが作り出す平行四辺形の面積となります。
次元に注目すると、以下となります。
(4次元)×(4次元)=(6次元)
また、2次元における(2次元)×(スカラー)の計算に相当するものとして、
(4次元)×(6次元)の計算があります。
これをどう計算するかについて、まず、2次元と3次元でこれにあたる計算を、
xy方向の回転成分をcxyと表現して整理すると、
a×c=(ax, ay)×cxy=(aycxy,−axcxy)
a×c=(ax, ay, az)×(cyz, czx, cxy)=(aycxy−azczx, azcyz−axcxy, axczx−aycyz)
となります。
これを見ると、結果のベクトルのi成分に来るものは、ベクトルcのij回転成分に、
ベクトルaのj成分を掛けたものの和(jiである場合は負号反転)となっています。
これに基づけば、cを六次元ベクトル
c=(cxy, cyz, czx, cxw, cyw, czw)
として、2次元や3次元の場合と類推して、以下となります。
a×c=(aycxy−azczx+awcxw, azcyz−axcxy+awcyw, axczx−aycyz+awczw, −axcxw−aycyw−azczw)=−c×a
次元に注目すると以下となります。
(4次元)×(6次元)=(6次元)×(4次元)=(4次元)
問題が負号の取り方や並べ方で、xy平面、yz平面、zx平面については、それぞれx→y、y→z、z→xという回り方を正としており、
これはちょうどx→y→zと循環する回り方となっていますが、ここにwを加えた場合に、
どちらの向きを正にするかを一意に決める方法がありません。
今回はひとまずx→w、y→w、z→wという回り方を正としていますが、いささか恣意的です。
x→y、x→z、y→z、x→w、y→w、z→wという並び方と向きにすれば、次項のように多次元への拡張した場合も、一意に並びと負号を決められますが、
三次元におけるトルクや磁界の表現についても考え直さないといけなくなります。
以上のn次元の場合を考えると、まずn次元における回転の方向の数は、2つの方向の組み合わせなので、
nC2(=n(n−1)/2)となります。
これにより、以下となります。
a×b=(a1b2−a2b1,
a1b3−a3b1,
…
a1bn−anb1,
a2b3−a3b2,
a2b4−a4b2,
…
a2bn−anb2,
…
an-1bn−anbn-1)
狽用いて表現では
となり、更に要素に着目すれば、j>kという前提で
と表現できます。
次元は以下となります。
(n次元)×(n次元)=(nC2次元)
(2次元)×(スカラー)の計算に相当する方は、
c=(c1,2, c1,3,… cn-1,n)
(狽用いた表現では
)として、以下となります
a×c=(a2c1,2+a3c1,3+…+anc1,n,
−a1c1,2+a3c2,3+…+anc2,n,
…,
−a1c1,n−a2c2,n−…−an-1cn-1,n)=−c×a
狽用いて表現では
となり、要素に着目した表現では
となります。
次元は以下となります。
(n次元)×(nC2次元)=(nC2次元)×(n次元)=(n次元)
前項で触れた通り、並びと向きについては一般的な三次元の外積と異なってしまうのが難点です。
前項までの話により、外積は
(n次元)×(n次元)
というタイプと
(n次元)×(nC2次元)
というタイプがペアとなって存在しています。
これにより、
a´=a×b
a´´=a´×c
a´´´=a´´×d
…
のように外積を繰り返した場合、結果の次元は
(n次元)→(nC2次元)→(n次元)→(nC2次元)→…
のようにループする形となります。
内積の場合も類似の話があり、
a´=a・b
a´´=a´c
a´´´=a´´・d
…
の場合に
(n次元)→スカラー→(n次元)→スカラー→…
でループします。
これを見ると、2つの外積の関係は、内積とスカラー倍の関係に似ているように思います。
前項までで触れた、2つのベクトルの外積の多次元への一般化については、
どうもウェッジ積(楔積)と呼ばれるものと考え方は同じようです。
こちらの場合は、例えばx→yの回転をex∧eyと表現するようです。
例えば、四次元の場合の
c=(cxy, cyz, czx, cxw, cyw, czw)
であれば、
c=cxyex∧ey+cyzey∧ez
+czxez∧ex
+cxwex∧ew
+cywey∧ew
+czwez∧ew
と表現できるようです。
この方法であれば、必要に応じて
c=cxyex∧ey
-cxzex∧ez
+cyzey∧ez
+cxwex∧ew
+cywey∧ew
+czwez∧ew
のように難なく書き換えることができるため、
先ほどの負号や順序の問題も、決める必要がなくなり解消されます。
今までは、n次元における回転の方向を、nC2次元のベクトルで表現してきましたが、
これは行列を用いることで、4次元であれば、
のように表現することもできそうです。
この行列を用いれば、(n次元)×(nC2次元)の外積は、
a×C=a(tC−C)
の形で表現できます。
ここで、tCは、Cの列と行を入れ替えた行列を意味し、即ち
です(これはCの転置行列と呼ばれます。)。
この方法の場合、C×aは
C×a=−t(tC−C)ta=(tC−C)ta
と表現できます。
更にtC−C → Cと置き換え、Cが
の形で表現されるものとすると、(n次元)×(n次元)の外積についても、
以下の形で表現できます。
a×b=tba−tab
元のa×Cについては以下のように、単なる行列との積になります。
a×C=aC
C×a=−t(tCta)=t(Cta)
ただ、cijと書いた場合は通常、行列Cのi行目のj列目の要素を意味するので、
更にC→tCと置き換えて、
とします。
この場合、先ほどの式は以下となります。
a×b=tab−tba
a×C=atC
C×a=−t(Cta)=t(tCta)
要素に着目すると、以下となります(上は先程の「n次元の2項の外積」のものと同じ形ですが、今回はj>kの制限はつきません)。
次元に着目すると、それぞれ以下のようになります。
(n次元ベクトル)×(n次元ベクトル)=(n×n行列)
(n次元ベクトル)(n×n行列)=(n次元ベクトル)
この考え方の場合なら、三次元の場合についても以下のように、異なる外積の計算が現れます。
通常の外積では、これらが同じ計算式になるというのも興味深い所だと思います。
こう見ていくと、nC2次元ベクトルとして考えるより、このような行列として考えた方がすっきりしそうです。
ただ、nC2次元ベクトルとして考えた場合は、2つのベクトルの成す平行四辺形の面積がその絶対値として現れましたが、
行列を用いた方法の場合はそこが難しそうです。
行列では、絶対値と同じ記号を用いてスカラーの値にする行列式がありますが、全くそれらしい値になりませんし、BR>
そもそも行列式の結果は元の行列と次元が異なるので、根本的に別物だとわかります。
一応、ベクトルの絶対値と同様、全要素の二乗の和の平方根を取る計算をすれば、
平行四辺形の面積の√2倍が出る形にはなり、この計算はフロベニウスノルムと呼ばれているそうです。
ただ、√2倍というのは微妙ですし、ベクトルの場合は絶対値を
|a|=√(ata)
のように定義できるのに対し、フロベニウスノルムにはそういう表現方法は無さそうなのが引っかかる所ではあります。
内積の行列を用いた表現は有名で、行列の計算を用いて
a・b=atb
となります。
一方、先程内積とペアになるものとしてスカラー倍を考えます。
こちらはこれはスカラー倍なのでまんまですが、
ここで、スカラー値を要素が1のベクトル(あるいは1×1の行列)と考えてみます。
すると、caという計算はできますが、acという計算はできず、t(tac)と表す必要があります。
一方、1×1の行列は転置しても値が変わらないので、
ca=tca
であり、
tca=t(tac)
と表現できます。これは先程の、(n次元)×(nC2次元)の外積の場合に似ています。
先程の内積についても、結果がスカラー値なので、
atb=t(bta)
となり、類似した形にできます。
余談ですが、内積の行列表現の前後を入れ替えた
abt
という計算は直積と呼ばれ、
英語では内積をinner productと呼ぶのに対し、outer productはこの直積を意味するそうです。
これもまた外積と呼ばれることがあるという、少々ややこしいことになっています。
関数というのは、無限の次元を持つベクトルという見方をする事もできます。
その見方に基づき、まずは内積の関数バージョンについて考えると、
が考えられます。
この式は、先ほども出たn次元における内積の式、
で、akをf(x)に、和を積分に置き換えた感じになってます。
外積を考えるのも、n次元の外積の式
をほとんどそのまま関数に拡張すれば良さそうです。
今回は先程の例とは異なり行列がありますが、これを上記と同様に関数に拡張すれば、
h(x,y)、即ち2変数関数となります。
上記の行列Cが、転置すると正負が反転したのに対し、これに対応するに変数関数hは、
以下の性質を持つと考えられます。
h(y,x)=−h(y,x)
このように考えると、以下のようになります。
ベクトルの時の、次元に注目した表現と同様の表現でまとめると、以下のようになります。
(関数)・(関数)=(定数)
(関数)(定数)=(関数)
(関数)×(関数)=(2変数関数)
(関数)×(2変数関数)=(2変数関数)×(関数)=(関数)
2005.6.22-2025.8.30