エレファント・コンピューティング調査報告

極限に関する順序を論理プログラミングの手法を使って指定することを目指すブロクです。

現代数学のエレファント(2)

逆行列の計算をするための準備をしていきます。

外積

 V を体  K 上の  n 次元ベクトル空間、 \{e_1, e_2, \cdots , e_n\} を基底とします。
 E_k = \{e_{ { i_{1} } }\wedge e_{ {i_{2} }}\wedge \cdots \wedge e_{ { i_{k} } }\mid 1\leq i_{1} < i_{2} < \cdots  < i_{k}\leq n\}
を基底とする K 上のベクトル空間(に以下のような演算を定義したもの)を  k-次外冪と呼び  \bigwedge^k(V) と書きます(この定義はWikipediaによる)。 \bigwedge^k(V) の次元は二項係数  C(n , k) となります。

これらのベクトル空間の直和(すべての  E_k を基底とする  2^n 次元ベクトル空間)
 \displaystyle \textstyle \bigwedge (V)=\bigwedge ^{0}(V)\oplus \bigwedge ^{1}(V)\oplus \bigwedge ^{2}(V)\oplus \cdots \oplus \bigwedge ^{n}(V)
(に以下のような演算を定義したもの)を外積代数と呼びます(この定義はWikipediaによる)。ここで  \bigwedge^0(V) = K \bigwedge^1(V) = V とします。

 \bigwedge (V) に演算
 \wedge \colon \bigwedge (V) \times \bigwedge (V) \to \bigwedge (V)
を定義します。

まず  V \times V に制限した演算を考えます。
 \wedge_1 \colon V \times V \to \bigwedge^2 (V)
 \displaystyle \left(\sum_{i=1}^{n} a_i e_i\right) \wedge_1 \left(\sum_{j=1}^{n} b_j e_j\right) =
\sum_{i=1}^{n} \sum_{j=i+1}^{n} (a_i b_j - a_j b_i) (e_i \wedge e_j)
と定義すると
 \displaystyle \left(\sum_{i=1}^{n} a_i e_i\right) \wedge_1 \left(\sum_{j=1}^{n} b_j e_j\right) =
\sum_{i=1}^{n} \sum_{j=1}^{n} a_i b_j (e_i \wedge e_j)
を満たします。

  • (双線型性)
    • 任意の  u, v, w \in V に対して  (u + v) \wedge_1 w = (u \wedge_1 w) + (v \wedge_1 w)
    • 任意の  u, v, w \in V に対して  u \wedge_1 (v + w) = (u \wedge_1 w) + (v \wedge_1 w)
    • 任意の  u, v \in V、任意の  a \in K に対して  au \wedge_1 v = u \wedge_1 av = a(u \wedge_1 v)
  • 任意の  v \in V に対して  v \wedge_1 v = 0

が成り立ちます。

 \wedge_k \colon \bigwedge^k (V) \times V \to \bigwedge^{k+1} (V) k=1 のときは  \wedge_1 k \ge 2 のときは
 (e_{ { i_{1} } }\wedge e_{ {i_{2} }}\wedge \cdots \wedge e_{ { i_{k} } }) \wedge_k e_j
 = \begin{cases}
    - ( (e_{ { i_{1} } } \wedge e_{ {i_{2} }} \wedge \cdots \wedge e_{ { i_{k-1} } }) \wedge_{k-1} e_j) \wedge e_{ { i_{k} } } & (i_k > j のとき) \\
    0 & (i_k = j \ のとき) \\
    e_{ { i_{1} } } \wedge e_{ {i_{2} }} \wedge \cdots \wedge e_{ { i_{k} } } \wedge e_j & (i_k < j のとき) \\
\end{cases}
帰納的に定義することができます。

これを繰り返して  \wedge_{k,l} \colon \bigwedge^k (V) \times \bigwedge^l (V) \to \bigwedge^{k+l} (V) を定義することができます。

  • (結合性)
    • 任意の  x \in \bigwedge^k (V) y \in \bigwedge^l (V) z \in \bigwedge^m (V) に対して  (x \wedge_{k,l} y) \wedge_{k+l,m} z = x \wedge_{k,l+m} (y \wedge_{l,m} z)
  • (双線型性)
    • 任意の  x, y \in \bigwedge^k (V) z \in \bigwedge^l (V) に対して  (x + y) \wedge_{k,l} z = (x \wedge_{k,l} z) + (y \wedge_{k,l} z)
    • 任意の  x \in \bigwedge^k (V) y, z \in \bigwedge^l (V) に対して  x \wedge_{k,l} (y + z) = (x \wedge_{k,l} y) + (x \wedge_{k,l} z)
    • 任意の  x \in \bigwedge^k (V) y \in \bigwedge^l (V)、任意の  a \in K に対して  ax \wedge_{k,l} y = x \wedge_{k,l} ay = a(x \wedge_{k,l} y)

が成り立ちます。

 \wedge_{*} \colon \bigwedge (V) \times \bigwedge (V) \to \bigwedge (V)
 \displaystyle \left(\sum_{i=1}^{n} x_i \right) \wedge_* \left(\sum_{j=1}^{n} y_j \right) =
\sum_{i=1}^{n} \sum_{j=1}^{n} (x_i \wedge_{i,j} y_j)
( x_i \in \bigwedge^i (V) y_j \in \bigwedge^j (V))と定義すると

  • (結合性)
    • 任意の  x, y, z \in \bigwedge (V) に対して  (x \wedge_{*} y) \wedge_{*} z = x \wedge_{*} (y \wedge_{*} z)
  • (双線型性)
    • 任意の  x, y, z \in \bigwedge (V) に対して  (x + y) \wedge_{*} z = (x \wedge_{*} z) + (y \wedge_{*} z)
    • 任意の  x, y, z \in \bigwedge (V) に対して  x \wedge_{*} (y + z) = (x \wedge_{*} y) + (x \wedge_{*} z)
    • 任意の  x, y \in \bigwedge (V)、任意の  a \in K に対して  ax \wedge_{*} y = x \wedge_{*} ay = a(x \wedge_{*} y)

が成り立ちます。

 \wedge_* \wedge と書くと  \bigwedge (V) に演算
 \wedge \colon \bigwedge (V) \times \bigwedge (V) \to \bigwedge (V)
が定義できます。

  • (結合性)
    • 任意の  x, y, z \in \bigwedge (V) に対して  (x \wedge y) \wedge z = x \wedge (y \wedge z)
  • (双線型性)
    • 任意の  x, y, z \in \bigwedge (V) に対して  (x + y) \wedge z = (x \wedge z) + (y \wedge z)
    • 任意の  x, y, z \in \bigwedge (V) に対して  x \wedge (y + z) = (x \wedge y) + (x \wedge z)
    • 任意の  x, y \in \bigwedge (V)、任意の  a \in K に対して  ax \wedge y = x \wedge ay = a(x \wedge y)
  • 任意の  v \in V に対して  v \wedge v=0

が成り立ちます。

この演算を外積と呼びます。外積によって  \bigwedge (V) は体  K 上の単位的結合代数となります。

 \bigwedge(V)テンソル代数  T(V) x \otimes x \ (x ∈ V) の形の元で生成される両側イデアル  I で割った商代数  \bigwedge (V) = T(V)/I となり、 x \wedge y =x \otimes y {\pmod {I}} となります。ここでは詳しい説明は省略します。

行列式

 V を体  K 上の  n 次元ベクトル空間、 \{e_1, e_2, \cdots , e_n\} を基底、 \varphi: V \to V線型写像とします。

 \bigwedge^{n} \varphi : \bigwedge^{n} (V) \to \bigwedge^{n} (V) \bigwedge^{n} \varphi ( e_{1} \wedge \cdots \wedge e_{n} ) = \varphi (e_{1}) \wedge \cdots \wedge \varphi (e_{n}) とすると線型写像となります。よって  a \in K が存在して  \bigwedge^{n} \varphi ( e_{1} \wedge \cdots \wedge e_{n} ) = a( e_{1} \wedge \cdots \wedge e_{n} ) となります。この  a \varphi行列式と呼び  \det \varphi と書きます(この定義はWikipediaによる)。

線型写像 n n 列の行列  A で表し  i j 列成分を  a_{ij} とすると  A行列式  \det A
 \displaystyle \det A = \sum_{\sigma \in S_n}  (\operatorname {sgn} \sigma )\prod_{i=1}^{n}a_{i,\sigma (i)}
となります( S_n n 次対称群、 \operatorname{sgn} は置換の符号)。ここでは詳しい説明は省略します。

行列  A j 列を  v_j \in V とすると  v_1 \wedge \cdots \wedge v_n = (\det A)(e_1 \wedge \cdots \wedge e_n) となります。

  • (多重線型性)
    • 任意の  x, y \in \bigwedge (V)、任意の  u, v \in V に対して  x \wedge (u + v) \wedge y = (x \wedge u \wedge y) + (x \wedge v \wedge y)
    • 任意の  x, y \in \bigwedge (V)、任意の  v \in V、任意の  a \in K に対して  x \wedge av \wedge y = a(x \wedge v \wedge y)
  • 任意の  x, y \in \bigwedge (V)、任意の  v \in V に対して  x \wedge v \wedge v \wedge y = 0

が成り立ちます。この性質から行列式を計算することができます。

線型代数 (ちくま学芸文庫)

線型代数 (ちくま学芸文庫)

  • 作者:毅, 森
  • 発売日: 2020/01/10
  • メディア: 文庫