二項積
多重線型代数学における二項積(にこうせき、dyadic)あるいは二項テンソル (dyadic tensor) は、二つのベクトルのある種の積として得られる二階テンソルである。二項積はしばしば二つのベクトルを併置することで表され、しかしその振舞いは行列に対応する法則に従う。二項積に関する用語や概念は今日では比較的時代遅れのものであるが、連続体力学や電磁気学などの物理学において引き続き用例がある。
二項積の記法を確立した最初の人はジョサイア・ウィラード・ギブスで1884年の事である。
(本項では、大文字太字は二項積、小文字太字はベクトルを表すものとする。別な表記法として二項積およびベクトルのそれぞれに二重および一重の上付きまたは下付きのバーを付けるものがある。)
二項積テンソル、単純二項積あるいは単に二項積 (dyad; ダイアド) は二つの(一般には複素係数の)ベクトルに二項積を施した結果として得られる二次の二階テンソルである。一般に二次のテンソルを総称して二項積(dyadic) と呼ぶ。
同じ積を表すのにいくつか用語法と記法が存在する:
二項積 (dyadic product)
ベクトル a, b の二項積はこれらを併置した ab で表される。
外積(直積) (outer product)
列ベクトル a, b の外積は a ⊗ b あるいは ab⊤ で表される("⊤" は転置である)。
テンソル積 (tensor product)
ベクトル a, b のテンソル積は a ⊗ b で表される。
本項で扱う文脈においてこれらは互いに同じものを定める同義語であるが、テンソル積はより一般の対象に対してより抽象的な意味でも用いられることに注意すべきである。また「外積」(outer product) は全く別の概念である交叉積やより抽象的な楔積に対しても用いられる。
これらの語法の等価性を見るために、三次元のユークリッド空間を例に取ろう。i, j, k(あるいは e1, e2, e3)を基本ベクトルとして、二つのベクトル
\mathbf{a} = a_1 \mathbf{i} + a_2 \mathbf{j} + a_3 \mathbf{k},
\mathbf{b} = b_1 \mathbf{i} + b_2 \mathbf{j} + b_3 \mathbf{k}
を考える。a, b の二項積は「九元数の形」(nonion form) と呼ばれる和
\begin{alignat}{6}\mathbf{ab} =
&&    a_1 b_1 &\;\mathbf{ii} &{}+ a_1 b_2 &\;\mathbf{ij} &{}+ a_1 b_3 &\;\mathbf{ik}\\
&&{}+ a_2 b_1 &\;\mathbf{ji} &{}+ a_2 b_2 &\;\mathbf{jj} &{}+ a_2 b_3 &\;\mathbf{jk}\\
&&{}+ a_3 b_1 &\,\mathbf{ki} &{}+ a_3 b_2 &\,\mathbf{kj} &{}+ a_3 b_3 &\,\mathbf{kk}
\end{alignat}
や、列ベクトルや行ベクトルの(ベクトルを成分とするような)拡張を考えることにより 3 × 3 行列
\mathbf{ab} \equiv \begin{pmatrix}
a_1b_1 & a_1b_2 & a_1b_3 \\
a_2b_1 & a_2b_2 & a_2b_3 \\
a_3b_1 & a_3b_2 & a_3b_3
\end{pmatrix} = \begin{pmatrix} a_1 \\ a_2 \\ a_3 \end{pmatrix}\begin{pmatrix} b_1 & b_2 & b_3 \end{pmatrix} \equiv \mathbf{a}\otimes\mathbf{b} \equiv \mathbf{ab}^{\top}
で表現することができる(これが a, b のテンソル積の結果と同じであることに注意せよ)。
単純二項積 (dyad) は上記の和の項あるいは行列の成分を言う。つまり基底ベクトルの併置に係数をかけたものである。
基本ベクトル i, j, k が
\mathbf{i} = \mathbf{e}_1 = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}, \mathbf{j} = \mathbf{e}_2 = \begin{pmatrix} 0 \\ 1 \\ 0\end{pmatrix}, \mathbf{k} = \mathbf{e}_3 = \begin{pmatrix} 0 \\ 0 \\ 1\end{pmatrix}
で表される(転置をとる流儀もある)のと同様に、基本二項積テンソルは
\mathbf{ii} = \begin{pmatrix}
1 & 0 & 0 \\
0 & 0 & 0 \\
0 & 0 & 0
\end{pmatrix}, \ldots \mathbf{ji} = \begin{pmatrix}
0 & 0 & 0 \\
1 & 0 & 0 \\
0 & 0 & 0
\end{pmatrix}, \ldots \mathbf{jk} = \begin{pmatrix}
0 & 0 & 0 \\
0 & 0 & 1 \\
0 & 0 & 0
\end{pmatrix}, \ldots
のような表現を持つ。例えば:
\begin{align}
\mathbf{A} & = 2\mathbf{ij} + \frac{\sqrt{3}{2}\mathbf{ji} - 8\pi \mathbf{jk} + \frac{2\sqrt{2}{3} \mathbf{kk} \\
& = 2 \begin{pmatrix}
0 & 1 & 0 \\
0 & 0 & 0 \\
0 & 0 & 0
\end{pmatrix} + \frac{\sqrt{3}{2}\begin{pmatrix}
0 & 0 & 0 \\
1 & 0 & 0 \\
0 & 0 & 0
\end{pmatrix} - 8\pi \begin{pmatrix}
0 & 0 & 0 \\
0 & 0 & 1 \\
0 & 0 & 0
\end{pmatrix} + \frac{2\sqrt{2}{3}\begin{pmatrix}
0 & 0 & 0 \\
0 & 0 & 0 \\
0 & 0 & 1
\end{pmatrix}\\
& = \begin{pmatrix}
0 & 2 & 0 \\
\sqrt{3}/2 & 0 & - 8\pi \\
0 & 0 & \frac{2\sqrt{2}{3}
\end{pmatrix}
\end{align}
3-個より少ない数の単純二項積の和に簡約することのできない二項積は完全 (complete) であると言う。このとき、成分ベクトルは平面的でない (non-coplanar)October 2012 see Chen (1983)。
三次元の場合を容易に N-次元に拡張できる。標準基底 ei (i  1, 2, 3, …, N) で表した二つのベクトル
\mathbf{a} = \sum_{i=1}^N a_i\mathbf{e}_i = a_1 \mathbf{e}_1 + a_2 \mathbf{e}_2 + \cdots a_N \mathbf{e}_N
\mathbf{b} = \sum_{j=1}^N b_j\mathbf{e}_j  = b_1 \mathbf{e}_1 + b_2 \mathbf{e}_2 + \cdots b_N \mathbf{e}_N
に対して、これらの二項積 (dyadic product) は代数的な和
\mathbf{A} = \mathbf{ab} = \sum _{j=1}^N\sum_{i=1}^N a_ib_j{\mathbf{e}_i\mathbf{e}_j.
であり、行列の形に書けば
\begin{pmatrix} a_1 \\ a_2 \\ \vdots \\ a_N \end{pmatrix} \begin{pmatrix} b_1 & b_2 & \cdots & b_N\end{pmatrix} = \begin{pmatrix}
a_1b_1 & a_1b_2 & \cdots & a_1b_N \\
a_2b_1 & a_2b_2 & \cdots & a_2b_N \\
\vdots & \vdots & \ddots & \vdots \\
a_Nb_1 & a_Nb_2 & \cdots & a_Nb_N
\end{pmatrix}
となる。(二次テンソル冪 ∧2(V) の元という意味での)一般の二項積テンソル (dyadic) A は二項積多項式 (dyadic polynomial) とも呼ばれ、複数のベクトル ai, bj の単純二項積の線型和
\mathbf{A} = \sum_i \mathbf{a}_i \mathbf{b}_i = \mathbf{a}_1 \mathbf{b}_1 + \mathbf{a}_2 \mathbf{b}_2 + \mathbf{a}_3 \mathbf{b}_3 + \dotsb
である。次元と同じ数 N-個より少ない数の単純二項積の和に簡約することのできない二項積は完全 (complete) であると言う。
スカラー倍と両立する:
(\alpha \mathbf{a})  \mathbf{b} =\mathbf{a}  (\alpha \mathbf{b}) = \alpha (\mathbf{a}  \mathbf{b}).
(α は任意のスカラー)
ベクトル同士の演算に基づいて、(結果がまた二項積となるように)ベクトルと二項積の間に四種類の積を構成できる。
二項積同士の積がまた二項積となるように五種類の演算を以下のように定義する。a, b, c, d はベクトルとする。
\mathbf{A}=\sum _i \mathbf{a}_i\mathbf{b}_i, \quad \mathbf{B}=\sum _i \mathbf{c}_i\mathbf{d}_i
に対しては:
ダブルドット積(二重点乗積)の定義には二通りあり、何れの意味で用いる規約になっているのかは文脈に注意すべきである。この二項積同士の積に対応する行列の演算はなく、このような定義を持ち出すことに疑問は無かろう。
通常のドット積(点乗積)が可換であるため、このダブルドット積(二重点乗積)もまたそうなる:
\mathbf{A}:\mathbf{B} = \mathbf{B}:\mathbf{A}.
ダブルドット積(二重点乗積)は転置に関して特別の性質を持つ:
\mathbf{A}:\mathbf{B}^{\top} = \mathbf{A}^{\top}:\mathbf{B}.
他には:
\mathbf{A}:\mathbf{B} = (\mathbf{A}\cdot\mathbf{B}^{\top}):\mathbf{I}
= (\mathbf{B}\cdot\mathbf{A}^{\top}):\mathbf{I}.
任意の二つのベクトル a, b の二項積に対して、そのダブルクロス積(二重交叉平方、自身との二重交叉積)は必ず 0 になる:
\mathbf{ab}\mathop{_{\textstyle\times}^{\textstyle\times}\mathbf{ab} = (\mathbf{a}\times\mathbf{a})(\mathbf{b}\times\mathbf{b})= 0.
しかし一般の二項積テンソルに対して、そのダブルクロス積(二重交叉平方)は一般には 0 でない。例えばどの二つも一致しないベクトルから得られる一般二項積
\mathbf{A}=\sum _{i=1}^3 \mathbf{a}_i\mathbf{b}_i
に対して、積(平方)
\mathbf{A}\mathop{_{\textstyle\times}^{\textstyle\times}\mathbf{A} = 2 [(\mathbf{a}_1\times \mathbf{a}_2)(\mathbf{b}_1\times \mathbf{b}_2) + (\mathbf{a}_2\times \mathbf{a}_3)(\mathbf{b}_2\times \mathbf{b}_3) + (\mathbf{a}_3\times \mathbf{a}_1)(\mathbf{b}_3\times \mathbf{b}_1)]
は 0 でない。
二項積を基本ベクトルで展開してベクトルの併置を点乗積に置き換えれば、蹟 (spur) あるいは展開因子 (expansion factor) が得られる。
\begin{align}|\mathbf{A}|
& = \quad A_{11}\,\mathbf{i\cdot i} + A_{12}\,\mathbf{i\cdot j} + A_{13}\,\mathbf{i\cdot k}\\
& \quad + A_{21}\,\mathbf{j\cdot i} + A_{22}\,\mathbf{j\cdot j} + A_{23}\,\mathbf{j\cdot k}\\
& \quad + A_{31}\mathbf{k\cdot i} + A_{32}\mathbf{k\cdot j} + A_{33}\mathbf{k\cdot k}\\
& = A_{11} + A_{22} + A_{33}.
\end{align}
|\mathbf{A}| = A_i{}^i.
また三次元の場合に限られるが、併置をクロス積(交叉積)で置き換えれば回転因子 (rotation factor) が得られる:
\begin{align} \langle\mathbf{A}\rangle
& = \quad A_{11}\,\mathbf{i}\times\mathbf{i} + A_{12}\,\mathbf{i}\times\mathbf{j} + A_{31}\,\mathbf{i}\times\mathbf{k} \\
&\quad + A_{21}\,\mathbf{j}\times\mathbf{i} + A_{22}\,\mathbf{j}\times\mathbf{j} + A_{23}\,\mathbf{j}\times\mathbf{k}\\
&\quad + A_{31}\mathbf{k}\times\mathbf{i} + A_{32}\mathbf{k}\times\mathbf{j} + A_{33}\mathbf{k}\times\mathbf{k}\\
& = \quad A_{12}\mathbf{k} - A_{31}\mathbf{j} - A_{21}\mathbf{k} \\
& \quad + A_{23}\,\mathbf{i}\, + A_{31}\mathbf{j} - A_{32}\mathbf{i}\\
& = (A_{23}-A_{32})\mathbf{i} + (A_{31}-A_{13})\mathbf{j} + (A_{12}-A_{21})\mathbf{k}.
\end{align}
A のこの縮約をレヴィ–チヴィタテンソルで書けば:
\langle\mathbf{A}\rangle= {\epsilon_i}^{jk} A_{jk}.
単位二項積 (Unit dyadic) すなわち任意のベクトル a に対して以下を満たす二項積 I が存在する:
\mathbf{I}\cdot\mathbf{a}=\mathbf{a}\cdot\mathbf{I}= \mathbf{a}.
三次元の場合に、基底ベクトル a, b, c およびその逆ベクトル a, b, c を用いれば単位二項積は
\mathbf{I} = \mathbf{a}\hat{\mathbf{a} + \mathbf{b}\hat{\mathbf{b} + \mathbf{c}\hat{\mathbf{c}
と書ける。標準基底(基本ベクトル)で書けば
\mathbf{I} = \mathbf{ii} + \mathbf{jj} + \mathbf{kk}
である。対応する行列
\mathbf{I}=\begin{pmatrix}
1 & 0 & 0\\
0 & 1 & 0\\
0 & 0 & 1\\
\end{pmatrix}
は単位行列になる。
これは(併置記法が何を意味するのかという論理的な文脈で)より注意深く基礎付けることができる。有限次元ベクトル空間 V と V 上の二項積テンソルは、V とその双対空間に関するテンソル積の基本テンソルである。
V とその双対空間 V∗ とのテンソル積が V から V への線型写像の空間に線型同型であることに基づけば、二項積 vf は w ∈ V を f(w)v へ写す線型写像と看做すことができる。V が n-次元ユークリッド空間のときは、内積を用いて V はその双対空間と同一視できるから、二項積はユークリッド空間の二つのベクトルの基本テンソル積になる。
この意味で、基本二項積 ij は a1i + a2j + a3k を a2i に写す三次元空間からそれ自身への写像であり、同様に jj は同じ和を a‍2j に写す。そうすると、ii + jj + kk は恒等写像(単位元)であるということにはっきりと意味ができて、これは a1i + a2j + a3k をそれ自身に写す。
(\mathbf{a}\times\mathbf{I})\cdot(\mathbf{b}\times\mathbf{I})= \mathbf{ab}-(\mathbf{a}\cdot\mathbf{b})\mathbf{I},
\mathbf{I}\mathop{_{\textstyle\cdot}\limits^{\textstyle\times}\mathbf{ab} = \mathbf{b}\times\mathbf{a},
\mathbf{I}\mathop{_{\textstyle\times}\limits^{\textstyle\times}\mathbf{A} = (\mathbf{A}\mathop{_{\textstyle\times}\limits^{\textstyle\times}\mathbf{I})\mathbf{I}-\mathbf{A}^{\top},
\mathbf{I}:\mathbf{ab} = (\mathbf{I}\cdot\mathbf{a})\cdot\mathbf{b} = \mathbf{a}\cdot\mathbf{b} = \operatorname{tr}(\mathbf{ab}).
ここで、 "tr" は対角和(蹟、trace)を表す。
二次元の任意のベクトル a に対して単位二項積への左交叉積:
\mathbf{a}\times \mathbf{I}
は a の周りの 90° 反時計回りの回転を与える二項積である。あるいは、一般二項積テンソル
\mathbf{J}  =  \mathbf{ji - ij} = \begin{pmatrix}
0 & -1 \\
1 & 0
\end{pmatrix}
も二次元の 90° 反時計回りの回転になる。これはベクトルに左点乗積で回転を表す:
(\mathbf{j i} - \mathbf{i j}) \cdot (x \mathbf{i} + y \mathbf{j}) =
x \mathbf{j i} \cdot \mathbf{i} - x \mathbf{i j} \cdot \mathbf{i} + y \mathbf{j i} \cdot \mathbf{j} - y \mathbf{i j} \cdot \mathbf{j} =
-y \mathbf{i} + x \mathbf{j},
\begin{pmatrix}
0 & -1 \\
1 & 0
\end{pmatrix}
\begin{pmatrix}
x \\
\end{pmatrix}=
\begin{pmatrix}
-y \\
\end{pmatrix}.
一般に、反時計回りの角 θ の二次元回転二項積は
\mathbf{I}\cos\theta + \mathbf{J}\sin\theta =
\begin{pmatrix}
\cos\theta &-\sin\theta \\
\sin\theta &\;\cos\theta
\end{pmatrix}
で与えられる。ただし、I, J は上で与えたものとする。
幾らかの文献において、二項積 (dyadic) を一般化して三項積 (triadic), 四項積 (tetradic), …, 多項積 (polyadic) などを同様の方法で定めるものがある。