直積 (ベクトル)
線型代数学における直積(ちょくせき、英: direct product[1])あるいは外積(がいせき、英: outer product)は典型的には二つのベクトルのテンソル積を言う。座標ベクトルの外積をとった結果は行列になる。外積の名称は内積に対照するもので、内積はベクトルの対をスカラーにする。外積は、クロス積の意味で使われることもあるため、どちらの意味で使われているか注意が必要である。
- [math]\boldsymbol{u}\otimes\boldsymbol{v} = \boldsymbol{u} \boldsymbol{v}^{\top} = \begin{pmatrix}u_1 \\ u_2 \\ u_3 \\ u_4\end{pmatrix} \begin{pmatrix}v_1 & v_2 & v_3\end{pmatrix} = \begin{pmatrix}u_1v_1 & u_1v_2 & u_1v_3 \\ u_2v_1 & u_2v_2 & u_2v_3 \\ u_3v_1 & u_3v_2 & u_3v_3 \\ u_4v_1 & u_4v_2 & u_4v_3\end{pmatrix}.[/math]
ベクトル同士の外積は行列のクロネッカー積の特別な場合である。
「テンソルの外積」を「テンソル積」の同義語として用いる文献もある。外積は R, APL, Mathematica などいくつかの計算機プログラム言語では高階函数でもある。
Contents
定義
行列表現
ふたつのベクトル u, v の外積 u ⊗ v は、u を m × 1 列ベクトル、v を n × 1 列ベクトル(従って v⊤ は行ベクトル)としたときの行列の積 uv⊤ に等価である[2]。成分を用いて
- [math]\boldsymbol{u} =(u_1, u_2, \dotsc, u_m),\quad \boldsymbol{v} = (v_1, v_2, \dotsc, v_n)[/math]
と書けば、外積 u ⊗ v は m × n 行列 A で各成分は u の各成分と v の各成分の積であたえられ[3][4]、
- [math]\boldsymbol{u} \otimes \boldsymbol{v} = \boldsymbol{A} = \begin{pmatrix}u_1v_1 & u_1v_2 & \dots & u_1v_n \\ u_2v_1 & u_2v_2 & \dots & u_2v_n \\ \vdots & \vdots & \ddots & \vdots\\ u_mv_1 & u_mv_2 & \dots & u_mv_n \end{pmatrix}.[/math]
と表される。
複素ベクトルの場合には、これを少し変えて、v の転置の代わりに共軛転置 v∗ を用い、
- [math]\boldsymbol{u} \otimes \boldsymbol{v} = \boldsymbol{u} \boldsymbol{v}^{*}[/math]
とする。つまり得られる行列 A は u の各成分と v の各成分の複素共軛との積を成分とするものになる。
- 内積との対比
- m = n のときは別な仕方で行列の積を施してスカラー(1 × 1 行列)が得られる。つまり、数ベクトル空間の標準内積(点乗積)〈u, v〉 = u⊤v である。内積は外積のトレースに等しい。
- 行列としての階数
- u, v がともに非零ならば、外積 uv⊤ の行列としての階数は常に 1 である。このことを見るにはベクトル x に掛けて (uv⊤)x = u(v⊤x) とすればよい。これはベクトル u のスカラー v⊤x-倍に他ならない。
- ("行列の階数" をテンソルの階数 ("order" / "degree") と混同してはならない)。
テンソルの外積
テンソルに対する外積はふつうテンソル積と呼ばれる。テンソル a は階数 q で各次元 (i1, …, iq), b は階数 r で各次元が (j1, …, jr) とすれば、これらの外積 c は階数 q + r で各次元 (k1, …, kq+r) は先に i の次元を並べた後に j の次元を並べたものになる。これを ⊗ を用いた座標に依存しない表記で書き、その成分を添字表記で書けば
- [math]\boldsymbol{c}=\boldsymbol{a}\otimes\boldsymbol{b}, \quad c_{ij}=a_ib_j [/math]
となる[5]。高階テンソルの場合も同様で、例えば
- [math]\boldsymbol{T}=\boldsymbol{a}\otimes\boldsymbol{b}\otimes\boldsymbol{c}, \quad T_{ijk}=a_ib_jc_k [/math]
などと書ける。
例えば A が三階で各次元が (3, 5, 7), B が二階で各次元が (10, 100) ならば、それらの外積 C は五階で各次元は (3, 5, 7, 10, 100) となる。また例えば A の成分 a2,2,4 = 11 および B の成分 b8,88 = 13 に対応する外積 C の成分として c2,2,4,8,88 = 11*13 = 143 が決まる。
外積の行列としての定義をテンソル積の言葉で理解するには:
抽象的な定義
ベクトル空間 V, W と W∗ は W の双対空間とする。 ベクトル x ∈ V および y∗ ∈ W∗ に対してテンソル積 y∗ ⊗ x は
- [math]w \mapsto y^*(w)x[/math]
で与えられる写像 A: W → V に対応する。ここで y∗(w) は線型汎函数 y∗(これは W の双対空間の元)をベクトル w ∈ W において評価した値である。これはスカラーであり、これを最終的に V の元である x に掛けたものがテンソル積の値である。
ベクトル空間 V, W が有限次元ならば、W から V への線型変換全体の成す空間 Hom(W, V) は外積で生成される。実は行列の階数は、外積を和として表すために必要な項の最小数(行列のテンソル階数)に一致する。今の場合、Hom(W, V) は W∗ ⊗ V に線型同型である。
- 双対性内積との対比
- W = V のとき、余ベクトル w∗ ∈ V∗ とベクトル v ∈ V とを写像 (w∗, v) ↦ w∗(v) を通して対にすることができる。これは V とその双対空間との間に定まる双対性を表す内積である。
応用
外積は物理量(例えば慣性テンソルなど)の計算や、デジタル信号処理やデジタル画像処理における変形操作を行うのに有用である。また統計的解析においても、二つの確率変数の共分散および自己共分散行列の計算に有用である。
関連項目
乗法
双対性
出典
- ↑ Rowland, Todd and Weisstein, Eric W.. “Tensor Direct Product”. MathWorld(英語). Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ↑ Linear Algebra (4th Edition), S. Lipcshutz, M. Lipson, Schaum’s Outlines, McGraw Hill (USA), 2009, ISBN 978-0-07-154352-1
- ↑ Weisstein, Eric W. “Kronecker Product”. MathWorld(英語). Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ↑ Encyclopaedia of Physics (2nd Edition), R.G. Lerner, G.L. Trigg, VHC publishers, 1991, (Verlagsgesellschaft) 3-527-26954-1, (VHC Inc.) 0-89573-752-3
- ↑ Mathematical methods for physics and engineering, K.F. Riley, M.P. Hobson, S.J. Bence, Cambridge University Press, 2010, ISBN 978-0-521-86153-3