【LaTeX】内積・外積・テンソル積をLaTeXで書く

ベクトル同士の「かけ算」には複数の種類があり、それぞれ異なる記号で表記されます。内積(ドット積)は2つのベクトルの「類似度」を測る基本的な道具で、機械学習のコサイン類似度や量子力学の遷移振幅など、応用範囲は極めて広いです。外積(クロス積)は3次元空間でのトルクや角運動量の計算に欠かせません。テンソル積は量子力学の合成系や有限要素法で登場します。

これらの積をLaTeXで正しく書き分けることは、理工系の文書作成において重要なスキルです。

本記事の内容

  • 内積(ドット積)の表記法
  • 角括弧記法($\langle \cdot, \cdot \rangle$)
  • 外積(クロス積)の表記法
  • テンソル積の表記法
  • ディラックのブラケット記法

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

内積(ドット積)

内積とは

内積は2つのベクトルの間の「近さ」や「方向の一致度」を測るスカラー量です。日常のイメージで言えば、力のベクトルと移動のベクトルの内積が「仕事」(エネルギー)になります。力が移動方向に沿っているほど仕事が大きく、直交していると仕事は0です。

ドット記号 \cdot

最も一般的な内積の表記は、中央の点(ドット)を使います。

$$ \bm{a} \cdot \bm{b} $$

$$
\bm{a} \cdot \bm{b}
$$

\cdot で中央の点を出力します。この表記は物理学や工学で広く使われています。

成分表示

$$ \bm{a} \cdot \bm{b} = \sum_{i=1}^{n} a_i b_i = a_1 b_1 + a_2 b_2 + \cdots + a_n b_n $$

$$
\bm{a} \cdot \bm{b} = \sum_{i=1}^{n} a_i b_i
$$

行列表記

内積は行列の積としても書けます。

$$ \bm{a} \cdot \bm{b} = \bm{a}^\mathrm{T} \bm{b} $$

$$
\bm{a} \cdot \bm{b} = \bm{a}^\mathrm{T} \bm{b}
$$

$\bm{a}^\mathrm{T}$ は行ベクトル(1行$n$列)、$\bm{b}$ は列ベクトル($n$行1列)なので、積の結果はスカラー(1行1列)になります。

幾何学的な表現

$$ \bm{a} \cdot \bm{b} = \|\bm{a}\| \|\bm{b}\| \cos\theta $$

$$
\bm{a} \cdot \bm{b} = \|\bm{a}\| \|\bm{b}\| \cos\theta
$$

$\theta$ は2つのベクトルのなす角度です。この式から、直交するベクトル($\theta = 90°$)の内積は $\cos 90° = 0$ であることがわかります。

内積のドット記法を理解しました。次に、数学や物理学で使われる角括弧記法を見ていきましょう。

角括弧記法

\langle\rangle

数学では内積を角括弧 $\langle \cdot, \cdot \rangle$ で表すことがよくあります。関数解析や線形代数の教科書ではこの記法が標準的です。

$$ \langle \bm{a}, \bm{b} \rangle $$

$$
\langle \bm{a}, \bm{b} \rangle
$$

\langle で左の山括弧 $\langle$、\rangle で右の山括弧 $\rangle$ を出力します。

なぜ角括弧を使うか

ドット記法 $\bm{a} \cdot \bm{b}$ は見た目が簡潔ですが、抽象的な内積空間では「内積がどの空間のものか」を明示したい場合があります。

$$ \langle f, g \rangle_{L^2} = \int_a^b f(x) g(x) \, dx $$

$$
\langle f, g \rangle_{L^2} = \int_a^b f(x) g(x) \, dx
$$

下付き文字 $L^2$ で「$L^2$ 空間の内積」であることを明示しています。

重み付き内積

$$ \langle \bm{a}, \bm{b} \rangle_{\bm{W}} = \bm{a}^\mathrm{T} \bm{W} \bm{b} $$

$$
\langle \bm{a}, \bm{b} \rangle_{\bm{W}} = \bm{a}^\mathrm{T} \bm{W} \bm{b}
$$

重み行列 $\bm{W}$ による内積です。マハラノビス距離の計算で使われます。

エルミート内積

複素ベクトル空間のエルミート内積では、第1引数に共役をとります。

$$ \langle \bm{u}, \bm{v} \rangle = \sum_{i=1}^{n} \bar{u}_i v_i = \bm{u}^\dagger \bm{v} $$

$$
\langle \bm{u}, \bm{v} \rangle = \sum_{i=1}^{n} \bar{u}_i v_i = \bm{u}^\dagger \bm{v}
$$

$\bar{u}_i$ は複素共役、$\bm{u}^\dagger$ はエルミート転置です。

サイズ調整

内容が大きい場合は \left\langle\right\rangle でサイズを自動調整します。

$$ \left\langle \frac{\partial f}{\partial x}, \frac{\partial g}{\partial x} \right\rangle $$

$$
\left\langle \frac{\partial f}{\partial x}, \frac{\partial g}{\partial x} \right\rangle
$$

角括弧記法の書き方を理解しました。次に、3次元空間に固有の外積(クロス積)の書き方を見ていきましょう。

外積(クロス積)

外積とは

外積は3次元空間で定義される演算で、2つのベクトルに直交する新しいベクトルを生成します。トルク(力のモーメント)や角運動量の計算で欠かせません。

書き方

$$ \bm{a} \times \bm{b} $$

$$
\bm{a} \times \bm{b}
$$

\times でクロス記号 $\times$ を出力します。

行列式による定義

$$ \bm{a} \times \bm{b} = \begin{vmatrix} \bm{e}_x & \bm{e}_y & \bm{e}_z \\ a_x & a_y & a_z \\ b_x & b_y & b_z \end{vmatrix} $$

$$
\bm{a} \times \bm{b} = \begin{vmatrix}
\bm{e}_x & \bm{e}_y & \bm{e}_z \\
a_x & a_y & a_z \\
b_x & b_y & b_z
\end{vmatrix}
$$

成分表示

$$ \bm{a} \times \bm{b} = \begin{pmatrix} a_y b_z – a_z b_y \\ a_z b_x – a_x b_z \\ a_x b_y – a_y b_x \end{pmatrix} $$

$$
\bm{a} \times \bm{b} = \begin{pmatrix}
a_y b_z - a_z b_y \\
a_z b_x - a_x b_z \\
a_x b_y - a_y b_x
\end{pmatrix}
$$

幾何学的な大きさ

$$ \|\bm{a} \times \bm{b}\| = \|\bm{a}\| \|\bm{b}\| \sin\theta $$

$$
\|\bm{a} \times \bm{b}\| = \|\bm{a}\| \|\bm{b}\| \sin\theta
$$

外積の大きさは、2つのベクトルが張る平行四辺形の面積に等しくなります。

反交換性

$$ \bm{a} \times \bm{b} = -\bm{b} \times \bm{a} $$

外積は交換法則が成り立たず、順序を入れ替えると符号が反転します。

物理学での応用:ローレンツ力

$$ \bm{F} = q(\bm{E} + \bm{v} \times \bm{B}) $$

$$
\bm{F} = q(\bm{E} + \bm{v} \times \bm{B})
$$

荷電粒子に働くローレンツ力です。速度 $\bm{v}$ と磁場 $\bm{B}$ の外積が磁気力を表します。

外積の書き方を理解しました。次に、テンソル積と関連する積の書き方を見ていきましょう。

テンソル積とその他の積

テンソル積(クロネッカー積)

テンソル積は \otimes で表します。量子力学の複合系や有限要素法で登場します。

$$ \bm{a} \otimes \bm{b} $$

$$
\bm{a} \otimes \bm{b}
$$

2つのベクトルのテンソル積は行列になります。

$$ \bm{a} \otimes \bm{b} = \bm{a} \bm{b}^\mathrm{T} = \begin{pmatrix} a_1 b_1 & a_1 b_2 \\ a_2 b_1 & a_2 b_2 \end{pmatrix} $$

$$
\bm{a} \otimes \bm{b} = \bm{a} \bm{b}^\mathrm{T}
$$

ウェッジ積(外積代数)

微分形式で使われるウェッジ積は \wedge で表します。

$$ d\bm{x} \wedge d\bm{y} $$

$$
d\bm{x} \wedge d\bm{y}
$$

\wedge で $\wedge$ 記号を出力します。

アダマール積(要素ごとの積)

行列やベクトルの要素ごとの積は \circ\odot で表します。

$$ \bm{A} \circ \bm{B}, \quad \bm{A} \odot \bm{B} $$

$$
\bm{A} \circ \bm{B}, \quad \bm{A} \odot \bm{B}
$$

ニューラルネットワークのゲート機構(LSTMなど)でアダマール積が使われます。

スカラー三重積

3つのベクトルのスカラー三重積は次のように書きます。

$$ \bm{a} \cdot (\bm{b} \times \bm{c}) = \begin{vmatrix} a_x & a_y & a_z \\ b_x & b_y & b_z \\ c_x & c_y & c_z \end{vmatrix} $$

これは3つのベクトルが張る平行六面体の体積に等しい値です。

各種の積の書き方を紹介しました。次に、量子力学で使われるブラケット記法を見ていきましょう。

ディラックのブラケット記法

ブラケット記法とは

量子力学では、ディラック(Dirac)が考案した「ブラ」と「ケット」を使った独特の記法で内積を表現します。抽象的な状態ベクトルと内積を簡潔に書くための体系です。

ケットベクトル

$$ |\psi\rangle, \quad |0\rangle, \quad |n\rangle $$

$$
|\psi\rangle, \quad |0\rangle, \quad |n\rangle
$$

|\rangle で「ケット」(ket)を作ります。

ブラベクトル

$$ \langle\psi|, \quad \langle 0|, \quad \langle n| $$

$$
\langle\psi|, \quad \langle 0|, \quad \langle n|
$$

\langle| で「ブラ」(bra)を作ります。

ブラケット(内積)

$$ \langle\phi|\psi\rangle $$

$$
\langle\phi|\psi\rangle
$$

ブラとケットを組み合わせた $\langle\phi|\psi\rangle$ が内積を表します。これが「ブラケット」(bracket)の名前の由来です。

期待値

$$ \langle\psi|\hat{A}|\psi\rangle $$

$$
\langle\psi|\hat{A}|\psi\rangle
$$

演算子 $\hat{A}$ の量子力学的期待値です。

射影演算子

$$ \hat{P} = |\psi\rangle\langle\psi| $$

$$
\hat{P} = |\psi\rangle\langle\psi|
$$

ケットとブラの積(外積)は射影演算子になります。

LaTeX vs KaTeX の注意点

コマンド KaTeX対応 備考
\cdot 対応 ドット積
\times 対応 クロス積
\otimes 対応 テンソル積
\wedge 対応 ウェッジ積
\circ 対応 アダマール積
\odot 対応 アダマール積
\langle, \rangle 対応 角括弧

すべてのコマンドがKaTeXでサポートされています。

よくある間違いとTips

間違い1:内積と乗算の区別

% ドット積(内積)
$\bm{a} \cdot \bm{b}$

% スカラーの乗算
$a \cdot b$ または $ab$

ベクトル同士では $\cdot$ は内積、スカラー同士では通常の乗算を意味します。

間違い2:< > を山括弧に使う

% NG: 不等号として解釈される
$<\bm{a}, \bm{b}>$

% OK: 専用コマンド
$\langle \bm{a}, \bm{b} \rangle$

Tips:コサイン類似度

機械学習で頻出するコサイン類似度は内積で定義されます。

$$ \cos\theta = \frac{\bm{a} \cdot \bm{b}}{\|\bm{a}\| \|\bm{b}\|} = \frac{\langle \bm{a}, \bm{b} \rangle}{\|\bm{a}\| \|\bm{b}\|} $$

まとめ

本記事では、LaTeXで内積・外積・テンソル積を書く方法を解説しました。

  • 内積: \cdot(ドット)または \langle...\rangle(角括弧)
  • 外積: \times(クロス記号)
  • テンソル積: \otimes
  • ウェッジ積: \wedge
  • アダマール積: \circ または \odot
  • ブラケット記法: \langle\phi|\psi\rangle

ベクトルの積の書き方は分野によって異なるため、適切な記法を選ぶことが大切です。

次のステップとして、以下の記事も参考にしてください。