ベイジアン研究所

プログラミング言語(アルゴリズム的な話が中心)やガジェットの紹介をしています。時々心理学の話も。

【集合位相入門】集合

1. 記事の目的
代数学は、主に集合及び集合と集合の間の関係を記述する写像を使用して、議論を行う。例えば、線型代数においては、平面ベクトルを抽象化したベクトルの集合(線型空間)を使用して議論を行う。ここではその基礎として、集合の定義と集合の演算について述べる。

2. 集合の定義
集合を厳密に定義することは、大変難しいことである。幾人もの天才たちが長い歴史を通じて成し遂げたことであり、その内容を解説することも理解することも困難であるということを頭に入れておいてほしい。その上で、ここでは集合というものを次のように定義する。

ある明確な基準のもと、その基準で属しているか属していないかを決定することができるものの集まり。

集合とは、簡単にいうと何かしら集まったものである。集まっているものの一つひとつをその集合の要素(元ともいう)といい、集合に要素が入っていることをその要素が属しているという。ここで、「ある明確な基準のもと、属しているか属していない」というのは次のような意味である。2以上、8以下の整数の集合は、2、3、4、5、6、7、8という要素からなる、というのは誰もが納得することであろう。2以上8以下という数学的に厳密な基準があるためである。一方で、背が高い人間の集まりというのは、人によって解釈が異なり、明確な基準とは言わない(人によっては190cm以上が背が高いということもあるし、160cm以上でも背が高いという人がいるかもしれない)。従って、背が高い人間の集まり、は数学的には集合とは言わない。

3. 集合の記法
集合は、一般的には大文字のアルファベットで、ABC、・・・などと表すことが多い。Aを集合として、xAの要素であることを

x\in A

と表す。逆にyAの要素ではないことを

y\notin A

と表す。集合の中身を表示する方法は、大きく分けて2種類ある。直接表示する方法と、条件を使用して書く方法である。まず直接表示する方法について説明する。要素を全て列挙して中括弧{}で囲めばよい。

例:2以下8以上の整数の集合は次のように表示できる。

\{2,3,4,5,6,7,8\}

この記法には限界がある。2以上の整数の集合を上の記法で表そうとすると

\{2,3,4,5,\dots

となり、要素の数が無限にあって、いつまで経っても書くことができない(慣習的に、

\{2,3,4,5,\dots\}

と書くこともある)。このような時は、条件による記法が便利である。例えば、2以上の整数は次のように書ける。

\{nは整数:n\le 2\}

即ち、{}内の:(コロン)の前に変数を書き、後ろに変数の条件を書くことで条件を使用して集合を記載することがある。

4. 集合の例

ここでは、よく使用する基本的な集合を紹介する。

自然数とは、0、1、2のような小学校で最初に習う数字のことである。厳密にはペアノの公理と呼ばれるもので定義されるが、ここでは立ち入らない。自然数の集合を記号で、

\mathbb{N}

と表す。即ち

\mathbb{N}=\{1,2,3,\dots\}

である。

整数の集合は、自然数に負の数を含めたものであり、記号で

\mathbb{Z}

と表す。即ち、

\mathbb{N}=\{\dots,-3,-2,-1,01,2,3,\dots\}

である。

有理数とは、整数同士の分数値のことであり、有理数の集合を記号で

\mathbb{Q}

と表す。即ち、

\mathbb{Q}=\{\frac{n}{m}:m,n\in\mathbb{Z},m\neq 0\}

である。

無理数とは、整数同士の分数で表示できない数である(\sqrt{2}\piなど)。無理数全体の数号の記号は一般的には使用されない(次に紹介する実数の中で、有理数ではない数と表現されることが多い)。

実数とは、有理数と実数を合わせた数の集合のことであり、

\mathbb{R}

で表す。図形的には、直線上に空いている部分はなく、全て数で埋め尽くされている様子をイメージすれば良い。

複素数とは、2乗して-1となるような仮想的な数を考えて(iと表す)実数+i\times実数の形の数のことである。複素数の集合を

\mathbb{C}

と表す。即ち

\mathbb{C}=\{a+ib:a,b\in\mathbb{R}, i^2=-1\}

である。

5. 集合の相等
二つの集合A,Bが等しい、ということを定義する。まず部分集合を定義する。集合A_1Aの部分集合であるとは、A_1Aの一部分であるということである。即ち、A_1のどの元x\in A_1をとっても、それがx\in Aであることである。A_1Aの部分集合であることを

A_1\subset A

と表す。

例:

A=\{1,2\},B=\{1,2,3,4\}

とすると、

A\subset B

である。

集合A,Bが同じ集合である、という定義は、

A\subset B

かつ

A\supset B

が成り立つことである。即ち、次のことを主張することで集合が同じであることを証明することができる。

x\in A \ ならば \ x\in B

かつ

x\in B \ ならば \ x\in A

例:

A=\{n\in\mathbb{Z}:2\le n\le 4\}, B=\{2,3,4\}

とすると、A=Bである。
証明n\in Aは、2\le n \le 4を満たすので、n=2,3,4のいずれかである。いずれの場合でも、n\in Bより、

A\subset B \tag{1}

である。一方、n\in Bは、2\le n \le 4を満たすので、n\in Aである。従って

A\supset B \tag{2}

である。(1)と(2)よりA=Bである。

6. 集合の演算
共通部分
二つの集合A,Bの共通部分を、AにもBにも属している元全体の集合と定義する。記号で、

A\cap B

と書く。図1のように二つの集合の重なっている部分をイメージすれば良い。

f:id:camelsan:20210327101415p:plain
図1 共通部分のイメージ図

例:

A=\{1,2,3\},B\{2,3,4\}

とすると、

A\cap B=\{2,3\}

である。

和集合
二つの集合A,Bの和集合を、A,Bのどちらか一方に入っている元全体の集合と定義する。記号で、

A\cup B

と書く。図2のように」二つの集合全体にわたる部分をイメージすれば良い。

f:id:camelsan:20210327102959p:plain
図2 和集合のイメージ図

例:

A=\{1,2,3\}, B=\{2,3,4\}

とすると、

A\cup B=\{1,2,3,4\}

7. 参考文献
[1] 集合・位相入門

【線形代数学入門】行列式の展開

1. 記事の目的
以下の記事で、行列式の定義とその性質について述べた。本記事では行列式の展開方法である余因子展開について述べ、連立一次方程式の解法への応用について述べる。

camelsan.hatenablog.com

camelsan.hatenablog.com

2. 余因子
n次正方行列Aの第i行、第j列を除いてできるn-1次小行列式Aの第(i,j)行列式という。小行列式に関しては上記の記事、小行列式の性質を参照。

Aの第(I,j)行列式(-1)^{I+j}をかけたものを、Aの第(I,j)余因子という。

例:

A=
    \begin{pmatrix}
        1 & 2 & 3 \\
        4 & 5 & 6 \\
        7 & 8 & 9
    \end{pmatrix}

として、Aの第(2,2)余因子は、以下の図1の行と列を取り除いた行列の行列式(-1)^{1+1}=1をかけたものである。

f:id:camelsan:20210320202844p:plain
図1 余因子の例

よって、A (2,2) 余因子は、


    \begin{vmatrix}
        1 & 3 \\
        7 & 9
    \end{vmatrix}
    = -12

である。

行列を、余因子行列を使って展開することができる。

定理
n次行列A=(a_{ij})の第(i,j)余因子を\tilde a_{ij}で表すとき、


    |A| = a_{1j}\tilde a_{1j}+a_{2j}\tilde a_{2j}+\dots+a_{nj}\tilde a_{nj} \ \ (j=1,2,\dots,n)

    |A| = a_{i1}\tilde a_{i1}+a_{i2}\tilde a_{i2}+\dots+a_{in}\tilde a_{in} \ \ (i=1,2,\dots,n)

が成り立つ。(1)、(2)をそれぞれ第j列、第i行に関する行列式の展開という。
証明:(1)のみ証明すれば、転置行列を考えれば、(2)が証明される。Aの第(i,j)行列式\Delta_{ij}と表すことにする。

まず、j=1の場合を証明する。行列式の多重線形性より、

|A|=
    \begin{vmatrix}
        a_{11} & a_{12} & \dots & a_{1n} \\
        0 & a_{22} & \dots & a_{2n} \\
        \vdots & \vdots &  & \vdots \\
        0 & a_{n2} & \dots & a_{nn} \\
    \end{vmatrix}
    +
    \begin{vmatrix}
        0 & a_{12} & \dots & a_{1n} \\
        a_{21} & a_{22} & \dots & a_{2n} \\
        \vdots & \vdots &  & \vdots \\
        0 & a_{n2} & \dots & a_{nn} \\
    \end{vmatrix}
    +\dots+
     \begin{vmatrix}
        0 & a_{12} & \dots & a_{1n} \\
        0 & a_{22} & \dots & a_{2n} \\
        \vdots & \vdots &  & \vdots \\
        a_{n1} & a_{n2} & \dots & a_{nn} \\
    \end{vmatrix}

右辺の第i項の行列式で、第i行を一番上に持っていけば、行列式の交代性により


\begin{split}
|A|=
    \begin{vmatrix}
        a_{11} & a_{12} & \dots & a_{1n} \\
        0 & a_{22} & \dots & a_{2n} \\
        \vdots & \vdots &  & \vdots \\
        0 & a_{n2} & \dots & a_{nn} \\
    \end{vmatrix}
    &-
    \begin{vmatrix}
        a_{21} & a_{22} & \dots & a_{2n} \\
        0 & a_{12} & \dots & a_{1n} \\
        \vdots & \vdots &  & \vdots \\
        0 & a_{n2} & \dots & a_{nn} \\
    \end{vmatrix}
    +\dots \\ &+(-1)^{n-1}
     \begin{vmatrix}
        a_{n1} & a_{n2} & \dots & a_{nn} \\
        0 & a_{22} & \dots & a_{2n} \\
        \vdots & \vdots &  & \vdots \\
        0 & a_{n-1 2} & \dots & a_{n-1 n} \\
    \end{vmatrix}
\end{split}

となる。区分けした行列の行列式の求め方から、


    \begin{split}
    |A|&=a_{11}\Delta_{11}-a_{21}\Delta_{21}+\dots+(-1)^{n-1}a_{n1}\Delta_{n1} \\
    &=a_{11}\tilde a_{11}+a_{21}\tilde a_{21}+\dots+ a_{n1}\tilde a_{n1}
    \end{split}

一般のjに対しては、次のように求める。まず、第j列を一番上に移す。この時、A行列式(-1)^{j+1}倍される。即ち、

(-1)^{j+1}|A|=
    \begin{vmatrix}
        a_{1j} & a_{11} & \dots & a_{1n} \\
        a_{2j} & a_{21} & \dots & a_{2n} \\
        \vdots & \vdots &  & \vdots \\
        a_{nj} & a_{n1} & \dots & a_{nn} 
    \end{vmatrix}

より、右辺をj=1の場合と同じように考えると、


    \begin{split}
    (-1)^{j+1}|A|&=a_{1j}\Delta_{1j}-a_{2j}\Delta_{2j}+\dots+(-1)^{n-1}a_{nj}\Delta_{nj} \\
    &=(-1)^{j+1}(a_{1j}\tilde a_{1j}+a_{2j}\tilde a_{2j}+\dots+ a_{nj}\tilde a_{nj})
    \end{split}

よって、両辺を(-1)^{j+1}で割って、


    |A|=a_{1j}\tilde a_{1j}+a_{2j}\tilde a_{2j}+\dots+ a_{nj}\tilde a_{nj}

一般的に次が成り立つ。
定理


    a_{1j}\tilde a_{1l}+a_{2j}\tilde a_{2l}+\dots+a_{nj}\tilde a_{nl}=\delta_{jl}|A| \ \ (j,l=1,2,\dots,n)
\tag{1}

    a_{i1}\tilde a_{k1}+a_{i2}\tilde a_{k2}+\dots+a_{in}\tilde a_{kn}=\delta_{ik}|A| \ \ (i,k=1,2,\dots,n)
\tag{2}

但し、

\delta_{jl}=
    \begin{cases}
        1 & j=l \\
        0 & j\neq l
    \end{cases}

証明:(1)だけ証明すればよい。(2)は転置行列を考えれば良い。j=lの時は前定理である。j\neq lのとき、(3)の左辺は、Aの第l列を第j列で置き換えた行列の第l列に関する前定理による展開式である。この展開前の行列は、第l列と第j列が同じ行列である。よってその行列式0である。

3. クラメルの公式
未知数の数と方程式の数が等しく、その係数行列が正則であるような連立一次方程式は唯ひとつの解をもつ。その解を行列式の展開を使って求める方法(クラメルの公式)を与える。

まず、余因子行列を定義する。A=(a_{ij})として、\tilde a_{ji}を、(i,j)成分とするn次正方行列\tilde Aを考える。即ち、

\tilde A=
    \begin{pmatrix}
        \tilde a_{11} & \tilde a_{21} & \dots & \tilde a_{n1} \\
        \tilde a_{12} & \tilde a_{22} & \dots & \tilde a_{n2} \\
        \vdots & \vdots && \vdots \\
        \tilde a_{1n} & \tilde a_{2n} & \dots & \tilde a_{nn} \\
    \end{pmatrix}
\tag{3}

(3)を余因子行列という。最初に次の定理を証明する。

定理
n次正方行列Aの余因子行列を\tilde Aとすると、


    \tilde A A = A \tilde A = |A|E_n

証明:(1)、(2)式の左辺は、それぞれ\tilde A A(j,l)成分及び行列(A A\tilde A)(i,k)成分を表す。一方、(1)、(2)の右辺は、スカラー行列|A|E_n(j,l)成分及び、(i,k)成分であるから、定理が成り立つ。

上記の定理から、次の定理が成り立つ。
定理
n次正方行列A正則行列であるためには、|A|\neq 0が必要かつ十分な条件で、この時A逆行列は、\frac{1}{|A|}\tilde Aで与えられる。

以上の定理から、クラメルの公式と呼ばれる、次の定理を証明することができる。

定理
連立一次方程式


    A\boldsymbol{x} = \boldsymbol{b}
\tag{4}

(A=(a_{ij})n次行列、\boldsymbol{x}=(x_j)n項未知列ベクトル、\boldsymbol{b}=(b_j)n項列ベクトル)の唯ひとつの解は次で与えられる。


    x_j = \frac{|A_j|}{|A|}=
    \frac{
        \begin{vmatrix}
            a_{11} & \dots & b_1 & \dots & a_{1n} \\
            a_{21} & \dots & b_2 & \dots & a_{2n} \\
            \vdots & & \vdots & & \vdots \\
            a_{n1} & \dots & b_n & \dots & a_{nn} 
        \end{vmatrix}}
    {
        \begin{vmatrix}
            a_{11} & \dots & a_{1j} & \dots & a_{1n} \\
            a_{21} & \dots & a_{2j} & \dots & a_{2n} \\
            \vdots & & \vdots & & \vdots \\
            a_{n1} & \dots & a_{nj} & \dots & a_{nn}             
        \end{vmatrix}
    }
    \ \ (j=1,2,\dots,n)

即ち、x_jの分母は、係数行列の行列式、分子は係数行列のj列を\boldsymbol{b}で置き換えた行列の行列式である。
証明:(4)の解\boldsymbol{x}は、A^{-1}\boldsymbol{b}で与えられる。Aの第(i,j)余因子を\tilde a_{ij}、余因子行列を\tilde Aとする。このとき


    \begin{split}
        \boldsymbol{x}=A^{-1}\boldsymbol{b}&=\frac{1}{|A|}
        \begin{pmatrix}
            \tilde a_{11} & \tilde a_{21} & \dots & \tilde a_{n1} \\
            \tilde a_{12} & \tilde a_{22} & \dots & \tilde a_{n2} \\
            \dots & \dots & & \dots \\
            \tilde a_{1n} & \tilde a_{2n} & \dots & \tilde a_{nn} \\ 
        \end{pmatrix}
        \begin{pmatrix}
            b_1 \\ b_2 \\ \vdots \\ b_n 
        \end{pmatrix} \\
        &=\frac{1}{|A|}
        \begin{pmatrix}
             b_1 \tilde a_{11}+b_2 \tilde a_{21} +\dots+b_n \tilde a_{n1} \\
             b_1 \tilde a_{12}+b_2 \tilde a_{22} +\dots+b_n \tilde a_{n2} \\
            \vdots \\
             b_1 \tilde a_{1n}+b_2 \tilde a_{2n} +\dots+b_n \tilde a_{nn} \\
        \end{pmatrix} 
    \end{split}

この最右辺のベクトルの第j成分は、行列Aの第j列の代わりに\boldsymbol{b}に置き換えた行列

A_j=
    \begin{pmatrix}
        a_{11} & \dots & b_1 & \dots & a_{1n} \\
        a_{21} & \dots & b_2 & \dots & a_{2n} \\
        \vdots & \vdots && \vdots \\
        a_{n1} & \dots & b_n & \dots & a_{nn} \\
    \end{pmatrix}

の第j列に関する展開式を並べたものである。

4. 参考文献
[1] 線型代数入門

【線形代数学入門】行列式の性質

1. 記事の目的
以下の記事で、行列式を定義した。本記事では、行列式の性質に関して述べる。

camelsan.hatenablog.com

2. 転置行列と行列式
最初に行列の転置と呼ばれる操作を定義する。行列

A=
    \begin{pmatrix}
        a_{11} & a_{12} & \dots & a_{1n} \\
        a_{21} & a_{22} & \dots & a_{2n} \\
        \vdots & \vdots &  & \vdots \\
        a_{m1} & a_{m2} & \dots & a_{mn} \\
    \end{pmatrix}

に対し、(I,j)成分を(j,i)成分に移動させた行列


    \begin{pmatrix}
        a_{11} & a_{21} & \dots & a_{m1} \\
        a_{12} & a_{22} & \dots & a_{m2} \\
        \vdots & \vdots &  & \vdots \\
        a_{1m} & a_{2m} & \dots & a_{mn} \\
    \end{pmatrix}
\tag{1}

を作る。この操作を行列Aの転置といい、転置させてできた行列(1)を転置行列と言い、^{t}Aと書く。行列を転置させても行列式の値は変わらない。即ち次の定理が成り立つ。

定理
転置行列の行列式は元の行列の行列式に等しい。
証明A=(a_{ij})とすると、行列式の定義より、


    |A| = \displaystyle\sum_{\sigma\in S_n} {\rm{sgn}}\sigma\cdot a_{1\sigma(1)}a_{2\sigma(2)}\dots a_{n\sigma(n)}

一方で、


    |^{t}A| = \displaystyle\sum_{\sigma\in S_n} {\rm{sgn}}\sigma\cdot a_{\sigma(1)1}a_{\sigma(2)2}\dots a_{\sigma(n)n}
\tag{2}

である。


    \sigma(1)=i_1, \sigma(2)=i_2,\dots,\sigma(n)=i_n

となる置換\sigmaをとる。逆置換を考えることで、


    1=\sigma^{-1}(i_1), 2=\sigma^{-1}(i_2),\dots,n=\sigma^{-1}(i_n)

となる。(2)に代入すると、


    \begin{split}
        |^{t}A|&=\displaystyle\sum_{\sigma\in S_n} {\rm{sgn}}\sigma\cdot a_{i_1\sigma^{-1}(i_1)}a_{i_2\sigma^{-1}(i_2)}\dots a_{i_n\sigma^{-1}(i_n)} \\
        &=\displaystyle\sum_{\sigma\in S_n} {\rm{sgn}}\sigma^{-1}\cdot a_{i_1\sigma^{-1}(i_1)}a_{i_2\sigma^{-1}(i_2)}\dots a_{i_n\sigma^{-1}(i_n)} \ \ \ \ ({\rm{sgn}}\sigma={\rm{sgn}}\sigma^{-1}より)\\
        &=\displaystyle\sum_{\sigma^{-1}\in S_n} {\rm{sgn}}\sigma^{-1}\cdot a_{i_1\sigma^{-1}(i_1)}a_{i_2\sigma^{-1}(i_2)}\dots a_{i_n\sigma^{-1}(i_n)} \ \ \ \ (\sigmaがS_nを渡るとき\sigma^{-1}もS_nを渡る) \\
        &=\displaystyle\sum_{\sigma^{-1}\in S_n} {\rm{sgn}}\sigma^{-1}\cdot a_{1\sigma^{-1}(1)}a_{2\sigma^{-1}(2)}\dots a_{n\sigma^{-1}(n)} \\ 
        &(i_1,\dots,i_nは、1,\dots,nの重複のないいずれかの整数なので、小さい順に並べた) \\
        & = \displaystyle\sum_{\tau\in S_n} {\rm{sgn}}\tau\cdot a_{1\tau(1)}a_{2\tau(2)}\dots a_{n\tau(n)} \ \ \ \ (\sigma^{-1}=\tauと置いた) \\
        & = |A| \ \ \ \ (行列式の定義より)
    \end{split}


3. 多重線形性と交代性
次に、行列式の多重線形性と交代性と呼ばれる性質に関して述べる。

定理
(1)


    {\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j^{\prime}+\boldsymbol{a}_j^{\prime\prime},\dots,\boldsymbol{a}_n)={\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j^{\prime},\dots,\boldsymbol{a}_n)+{\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j^{\prime\prime},\dots,\boldsymbol{a}_n)

(2)


    {\rm{det}}(\boldsymbol{a}_1,\dots,c\boldsymbol{a}_j,\dots,\boldsymbol{a}_n)=c\cdot {\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_n)

証明:(1)

\boldsymbol{a}_j^{\prime}+\boldsymbol{a}_j^{\prime\prime}=
    \begin{pmatrix}
        a_{j1}^{\prime}+a_{j1}^{\prime\prime} \\
        a_{j2}^{\prime}+a_{j2}^{\prime\prime} \\
        \vdots \\
        a_{jn}^{\prime}+a_{jn}^{\prime\prime} \\
    \end{pmatrix}

とする。固定されたjに対して、行列式の定義を次のように書き換えることができる。


    {\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j^{\prime}+\boldsymbol{a}_j^{\prime\prime},\dots,\boldsymbol{a}_n)=\displaystyle\sum_{i=1}^n \displaystyle\sum_{\sigma(j)=i} {\rm{sgn}}\sigma\cdot a_{1\sigma(1)}\dots (a_{j\sigma(j)}^{\prime}+a_{j\sigma(j)}^{\prime\prime})\dots a_{n\sigma(n)}

と書ける。但し、


    \displaystyle\sum_{\sigma(j)=i}

は、\sigma(j)=iとなる置換\sigma全てに関して和を取るという意味である。実際、固定されたjに対して、\sigma(1)=jとなる置換は、(n-1)!個ある。同様に\sigma(2)=jとなる置換、・・・、\sigma(n)=jとなる置換はそれぞれ、全て(n-1)!個ある。それぞれの(n-1)!個の置換は全て異なり、さらに、これらの全ての


    (n-1)!\times n = n!

個の置換は、互いに異なる(もし同じものがあるとすると\sigma(i_1)=\sigma(i_2)=jとなることなるi_1,i_2がある。よって、i_1=i_2となり矛盾)。よってこれらは全ての置換S_nを渡る。よって、


\begin{split}
    {\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j^{\prime}+\boldsymbol{a}_j^{\prime\prime},\dots,\boldsymbol{a}_n)&=\displaystyle\sum_{i=1}^n \displaystyle\sum_{\sigma(j)=i} {\rm{sgn}}\sigma\cdot a_{1\sigma(1)}\dots (a_{j\sigma(j)}^{\prime}+a_{j\sigma(j)}^{\prime\prime})\dots a_{n\sigma(n)} \\
&=\displaystyle\sum_{i=1}^n \displaystyle\sum_{\sigma(j)=i} {\rm{sgn}}\sigma\cdot a_{1\sigma(1)}\dots a_{j\sigma(j)}^{\prime}\dots a_{n\sigma(n)} \\
&+\displaystyle\sum_{i=1}^n \displaystyle\sum_{\sigma(j)=i} {\rm{sgn}}\sigma\cdot a_{1\sigma(1)}\dots a_{j\sigma(j)}^{\prime\prime}\dots a_{n\sigma(n)} \\
&=  {\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j^{\prime},\dots,\boldsymbol{a}_n)+  {\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j^{\prime\prime},\dots,\boldsymbol{a}_n)
\end{split}

(2) (1)の行列式の別表現を使用して、次のように証明できる。


    \begin{split}
         {\rm{det}}(\boldsymbol{a}_1,\dots,c\boldsymbol{a}_j,\dots,\boldsymbol{a}_n)&=\displaystyle\sum_{i=1}^n \displaystyle\sum_{\sigma(j)=i} {\rm{sgn}}\sigma\cdot a_{1\sigma(1)}\dots (ca_{j\sigma(j)})\dots a_{n\sigma(n)} \\
    &=c\displaystyle\sum_{i=1}^n \displaystyle\sum_{\sigma(j)=i} {\rm{sgn}}\sigma\cdot a_{1\sigma(1)}\dots a_{j\sigma(j)}\dots a_{n\sigma(n)} \\
    &= c{\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_n)
    \end{split}

次に交代性について述べる。
定理
n文字の置換\tauに対し


    {\rm{det}}(\boldsymbol{a}_{\tau(1)},\dots,\boldsymbol{a}_{\tau(j)},\dots,\boldsymbol{a}_{\tau(n)})={\rm{sgn}}\tau\cdot {\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_n)

証明


    \begin{split}
        {\rm{det}}(\boldsymbol{a}_{\tau(1)},\dots,\boldsymbol{a}_{\tau(j)},\dots,\boldsymbol{a}_{\tau(n)})&=\displaystyle\sum_{\sigma\in S_n}{\rm{sgn}}\sigma\cdot a_{1\tau\sigma(1)}a_{2\tau\sigma(2)}\dots a_{n\tau\sigma(n)} \\
    &={\rm{sgn}}\tau \displaystyle\sum_{\sigma\in S_n}{\rm{sgn}}\tau\sigma\cdot a_{1\tau\sigma(1)}a_{2\tau\sigma(2)}\dots a_{n\tau\sigma(n)} \\
    &={\rm{sgn}}\tau \displaystyle\sum_{\sigma\in S_n}{\rm{sgn}}\sigma\cdot a_{1\sigma(1)}a_{2\sigma(2)}\dots a_{n\sigma(n)} \\ 
    &(\sigmaがS_nの全ての置換を渡るとき、\tau\sigmaもS_nを全て渡るので) \\
    &= {\rm{sgn}}\tau\cdot{\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_n)
    \end{split}

転置行列の行列式は元の行列の行列式に等しいことから、列に関する上記の定理(行列式の多重線形性と交代性)は、行に関しても成り立つ。

4. 基本変形行列式
行列の基本変形の一つ、ある行(列)を定数倍して他の行(列)に加える、という操作を行っても行列式は変わらない。即ち、次の定理が成り立つ。

定理
行列Aのある列あるいは行に、他のある列あるいは行の定数倍を加えて得られる行列の行列式は、元の行列の行列式|A|に等しい。
証明:列に関して証明する(転置行列を考えれば、行に関しても成り立つ)。まず次を証明する:行列Aの二つの列が一致すれば|A|=0A=({\boldsymbol{a}}_1,\dots,{\boldsymbol{a}}_i,\dots,{\boldsymbol{a}}_j,\dots,{\boldsymbol{a}}_n),\ \ \boldsymbol{a}_i=\boldsymbol{a}_j \ (i\neq j)とする\tau=(i,j)とすると、行列式の交代性により、


    {\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_i,\dots,\boldsymbol{a}_n)={\rm{sgn}}\tau\cdot {\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_i,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_n)

即ち、\boldsymbol{a}_i=\boldsymbol{a}_jより


    {\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_i,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_n)=-{\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_i,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_n)

よって、


    |A|={\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_i,\dots,\boldsymbol{a}_n)=0

定理の証明に戻る。Aの第i列に第j列のc倍を加えたとする。


    \begin{split}
        &{\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_i+c\boldsymbol{a}_j,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_n) \\
        =&{\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_i,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_n)+c{\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_n) \ \ \ \ (行列の多重線形性より) \\
        =&{\rm{det}}(\boldsymbol{a}_1,\dots,\boldsymbol{a}_i,\dots,\boldsymbol{a}_j,\dots,\boldsymbol{a}_n) \ \ \ \ (第2項目の第i列と第j列が一致しているため) \\
        =&|A|
    \end{split}


5. 行列の積の行列式
二つの行列の積の行列式を取ると、それぞれの行列の行列式の積となる。即ち次が成り立つ。

定理
A,Bを二つのn次正方行列とすると、


    |AB|=|A|\cdot |B|

証明


    A=(\boldsymbol{a}_1,\boldsymbol{a}_2,\dots,\boldsymbol{a}_n),\ \ B=
    \begin{pmatrix}
        b_{11} & \dots & b_{1n} \\
        \vdots & & \vdots \\
        b_{n1} & \dots & b_{nn}
    \end{pmatrix}

とおくと、


    \begin{split}
        |AB| &= |\displaystyle\sum_{\sigma\in S_n}b_{1\sigma(1)}\dots b_{n\sigma(n)}(\boldsymbol{a}_{\sigma(1)}, \dots, \boldsymbol{a}_{\sigma(n)})| \\
        &=\displaystyle\sum_{\sigma\in S_n}b_{1\sigma(1)}\dots b_{n\sigma(n)}|\boldsymbol{a}_{\sigma(1)}, \dots, \boldsymbol{a}_{\sigma(n)}| \\
        &=\displaystyle\sum_{\sigma\in S_n}{\rm{sgn}}b_{1\sigma(1)}\dots b_{n\sigma(n)}|\boldsymbol{a}_1, \dots, \boldsymbol{a}_n| \\
        &=|A|\displaystyle\sum_{\sigma\in S_n}{\rm{sgn}}\sigma \cdot b_{1\sigma(1)}\dots b_{n\sigma(n)} \\
        &=|A||B|
    \end{split}


6. 区分けと行列式
行列の区分けに関しては次の記事を参照。

camelsan.hatenablog.com

定理(A)
正方行列Aを対称区分けして

A=
    \begin{pmatrix}
        A_{11} & 0 \\
        A_{21} & A_{22}
    \end{pmatrix}

または、

A=
    \begin{pmatrix}
        A_{11} & A_{12} \\
        0 & A_{22}
    \end{pmatrix}

となったとき、|A|=|A_{11}|\cdot |A_{22}|となる。

本定理の証明は次の定理を利用するために少し難しい(次の定理(B)を使用しない証明方法があれば教えて欲しい)。

定理(B)
n個のn項列ベクトルの組、\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_nに対して数F(\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_n)を対応させる規則 F (写像という)が次の(1)、(2)の性質をもつとする。
(1)


\begin{split}  F(\boldsymbol{x}_1,\dots,\boldsymbol{x}_j^{\prime}+\boldsymbol{x}_j^{\prime\prime},\dots,\boldsymbol{x}_n)=F(\boldsymbol{x}_1,\dots,\boldsymbol{x}_j^{\prime},\dots,\boldsymbol{x}_n)&+F(\boldsymbol{x}_1,\dots,\boldsymbol{x}_j^{\prime\prime},\dots,\boldsymbol{x}_n) \\
&(j=1,\dots,n)
\end{split}

      \begin{split}
F(\boldsymbol{x}_1,\dots,c\boldsymbol{x}_j,\dots,\boldsymbol{x}_n)&=cF(\boldsymbol{x}_1,\dots,\boldsymbol{x}_j^{\prime},\dots,\boldsymbol{x}_n) \\
    &(j=1,\dots,n)
    \end{split}

(2)


    F(\boldsymbol{x}_{\tau(1)},\boldsymbol{x}_{\tau(2)},\dots,\boldsymbol{x}_{\tau(n)})={\rm{sgn}}\tau\cdot F(\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_n)

このとき、F{\rm{det}}の定数倍となる。しかもその定数はF(\boldsymbol{e}_1,\boldsymbol{e}_2,\dots,\boldsymbol{e}_n)である。即ち、


    F(\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_n)=F(\boldsymbol{e}_1,\boldsymbol{e}_2,\dots,\boldsymbol{e}_n)\cdot {\rm{det}}(\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_n)

となる。ここで、\boldsymbol{e}_j, \ \ (j=1,\dots,n)は図 1 のようなベクトルである。

f:id:camelsan:20210319212317p:plain
図1 ベクトルe

証明


    \begin{split}
        \boldsymbol{x}_j=
            \begin{pmatrix}
                x_{1j} \\ x_{2j} \\ \vdots \\ x_{nj}
            \end{pmatrix}
        &= x_{1j}
            \begin{pmatrix}
                1 \\ 0 \\ \vdots \\ 0
            \end{pmatrix}
       + x_{2j}
            \begin{pmatrix}
                0 \\ 1 \\ \vdots \\ 0
            \end{pmatrix}
        + \dots + x_{nj}
            \begin{pmatrix}
                0 \\ 0 \\ \vdots \\ 1
            \end{pmatrix} \\
        &=\displaystyle\sum_{i=1}^n x_{ij}\boldsymbol{e}_i \ \ \ \ (j=1,\dots,n)
    \end{split}

と表すと、


    \begin{split}
F(\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_n)&=F(\displaystyle\sum_{i_1=1}^n x_{{i_1}1}\boldsymbol{e}_{i_1},\displaystyle\sum_{i_2=1}^n x_{{i_2}1}\boldsymbol{e}_{i_2},\dots,\displaystyle\sum_{i_n=1}^n x_{{i_n}1}\boldsymbol{e}_{i_n})\\
    &=\displaystyle\sum_{i_1=1}^n\displaystyle\sum_{i_2=1}^n\dots \displaystyle\sum_{i_n=1}^n x_{{i_1}1}x_{{i_2}2}\dots x_{{i_n}n}F(\boldsymbol{e}_{i_1},\boldsymbol{e}_{i_2},\dots,\boldsymbol{e}_{i_n}) \\ &((1)の性質を繰り返し用いた)
    \end{split}
\tag{3}

(3)式の最後の項で、i_1,i_2,\dots,i_nの中に同じものがあれば、(2)の性質より


    F(\boldsymbol{e}_{i_1},\boldsymbol{e}_{i_2},\dots,\boldsymbol{e}_{i_n})=0

である。i_1,i_2,\dots,i_nが全て異なれば


    \sigma=
    \begin{pmatrix}
        1 & 2 & \dots & n \\
        i_1 & i_2 & \dots & i_n
    \end{pmatrix}

n文字の置換なので、(2)の性質より


    F(\boldsymbol{e}_{i_1},\boldsymbol{e}_{i_2},\dots,\boldsymbol{e}_{i_n})={\rm{sgn}}\sigma\cdot F(\boldsymbol{e}_1,\boldsymbol{e}_2,\dots,\boldsymbol{e}_n)

となる。従って


    \begin{split}
F(\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_n)&=\displaystyle\sum_{\sigma\in S_n}x_{\sigma(1)1}x_{\sigma(2)2}\dots x_{\sigma(n)n}\cdot {\rm{sgn}}\sigma\cdot F(\boldsymbol{e}_1,\boldsymbol{e}_2,\dots,\boldsymbol{e}_n) \\
    &= F(\boldsymbol{e}_1,\boldsymbol{e}_2,\dots,\boldsymbol{e}_n){\rm{det}}(\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_n)
    \end{split}

定理(A)の証明:右上が0の時だけ証明する(左下が0の時は、転置を取ることで得られる)。A_{11}m次、A_{22}n次正方行列であるとする。最初に、A_{22}=E_nの時を証明する。


    A=
    \begin{pmatrix}
        A_{11} & 0 \\
        A_{21} & E_n
    \end{pmatrix}
    =(a_{ij})

とする。行列式の定義より、


    |A| = \displaystyle\sum_{\sigma\in S_n} {\rm{sgn}}\sigma\cdot a_{1\sigma(1)}\dots a_{m\sigma(m)}a_{m+1\sigma(m+1)}\dots a_{m+n\sigma(m+n)}

上の一つの項で、mの先の全てのiに対して\sigma(i)=iでない限り、その項は0である(行列Aの形より)。即ち和は、


    \begin{pmatrix}
        1 & 2 & \dots & m & m+1 & \dots & m+n \\
        i_1 & i_2 & \dots & i_m & m+1 & \dots & m+n
    \end{pmatrix}

の形のものに関して取れば良い。このような\sigmam文字の置換


    \begin{pmatrix}
        1 & 2 & \dots & m \\
        i_1 & i_2 & \dots & i_m 
    \end{pmatrix}

と同じものであるから、a_{m+1m+1}=\dots =a_{m+nm+n}=1より、


    |A| = \displaystyle\sum_{\sigma\in S_n} {\rm{sgn}}\sigma a_{1\sigma(1)}a_{2\sigma(2)}\dots a_{m\sigma(m)}=|A_{11}|

従って、A_{22}=E_nの時は証明された。

[tex:X=(\boldsymbol{x}1,\boldsymbol{x}2,\dots,\boldsymbol{x}_n)]をn次の変数と見て、


    F(\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_n)=
    \begin{vmatrix}
        A_{11} & 0 \\
        A_{21} & X
    \end{vmatrix}

とおくと、行列式は多重線形性と、交代性により定理(B)の(1)と(2)の条件を満たすので、


   \begin{split} F(\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_n)&=F(\boldsymbol{e}_1,\boldsymbol{e}_2,\dots,\boldsymbol{e}_n){\rm{det}}(\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_n) \\
    &=
    \begin{vmatrix}
        A_{11} & 0 \\
        A_{21} & E_n
    \end{vmatrix}
    |X|
    = |A_{11}||X|
    \end{split}

従って、


    \begin{vmatrix}
        A_{11} & 0 \\
        A_{21} & X
    \end{vmatrix}
    = |A_{11}||X|

より、X=A_{22}として


    \begin{vmatrix}
        A_{11} & 0 \\
        A_{21} & A_{22}
    \end{vmatrix}
    = |A_{11}||A_{22}|

が成り立つ。

7. 行列式と階数
A(m,n)型行列とする。小行列式と呼ばれるものを定義する。Aからp個の行とp個の列を取り出して作ったp次正方行列の行列式Ap次小行列式という。

例:

A=
    \begin{pmatrix}
         1 & 2 & 3 \\
        4 & 5 & 6
    \end{pmatrix}

の2次小行列式を求める。行の取り方は、1行目と2行目の取り方のみである。列に関しては、1,2列目、2,3列目、1,3列目という取り方がある。よって


    \begin{vmatrix}
        1 & 2 \\
        4 & 5
    \end{vmatrix}
    = -3, \ \ 
    \begin{vmatrix}
        2 & 3 \\
        5 & 6
    \end{vmatrix}
    = -3, \ \ 
        \begin{vmatrix}
        1 & 3 \\
        4 & 6
    \end{vmatrix}
    = -6

Aの2次小行列式である。

定理
(m,n)型行列Aの階数は、Aの0でない行列式の最大次数に等しい。
証明Aの階数をr(A)Aの0でない小行列式の最大次数をs(A)で表すことにする。

r(A)=s(A)

を証明すれば良い。A基本変形を施して、標準形

F(r)=
    \begin{pmatrix}
        E_r & 0 \\
         0 & 0
    \end{pmatrix}

に移す。行列の基本変形については以下の記事を参照。

camelsan.hatenablog.com

この時、


    s(F(r) )=r(F(r) )=r(A)
\tag{4}

である。よって、0でない小行列式の最大次数s(A)基本変形によって変わらないことを言えば良い ((4)の最左辺がs(A)に一致する)。

基本変形の操作を、

  1. 列(行)の順序を入れ替える。

  2. ある列(行)に0でない数をかける。

  3. ある列(行)に他のある列(行)の定数倍を加える。

と番号付けをすると、s(A)行列式の性質から(1)、(2)によって変わらない。(3)について考える。行列Aの第i列に第j列のc倍を加えたとする。この操作後の行列をBとする。Aの0でないs(A)次の小行列式の一つを\Deltaとし、対応する場所にあるBの小行列式\Delta^{\prime}とする。第i列が\Deltaに入っていなければ、\Delta = \Delta^{\prime}\neq 0である。第i列、第j列が共に\Deltaに入っている場合は本記事4.基本変形行列式の定理より、\Delta = \Delta^{\prime}\neq 0である。第i列が\Deltaに入っていて、第j列が入っていない場合は、\Delta^{\prime} = \Delta + c\Delta_1となる。但し、\Delta_1\Deltaにおいて、Aの第i列を第j列で置換したものである。\Delta_1に対応するBの小行列式\Delta_1^{\prime}とすると(\Delta_1^{\prime}Bの第i列を第j列で置き換えた行列の小行列式で、第i列はBの第j列となっている)、\Delta_1^{\prime}=\Delta_1であるから、\Delta = \Delta^{\prime}-c\Delta_1^{\prime}となる。よって\Delta^{\prime}\Delta_1^{\prime}のどちらかは0でない。以上の3通り(第i列が\Deltaに入っていない、第i列、第j列が共に\Deltaに入っている、第i列が\Deltaに入っていて、第j列が入っていない)で、s(A)\le s(B)である。実際、第1と第2の場合は、\Delta^{\prime}\neq 0より、s(B)は少なくともs(A)よりは大きい。第3の場合、\Delta^{\prime}または\Delta_1^{\prime}のどちらかが\neq 0なので、s(B)s(A)以上である。基本行列は可逆な操作なので、逆向きの不等号なので、s(A)=s(B)である。

8. 参考文献
[1] 線型代数入門

[2] 行列式の積

http://www.isc.meiji.ac.jp/~tsushima/senkei/第13回.pdf

行列式の積の定理に関して、こちらの直接的な証明を参照した。n=3の場合を具体的に書いてあるのでこちらの方がわかりやすい。なお、行列式の積の定理は、区分けの証明で使用した写像に関する定理からも証明することができる。

【線型代数学入門】行列式の定義

1. 記事の目的
以下の記事で、置換について述べた。置換を用いて、行列式と呼ばれるものを定義する。行列式を用いて、行列の階数を求めたり、連立方程式の解を求めることができる。

camelsan.hatenablog.com

2. 行列式の意味
行列式を一般的に定義する前に、2次正方行列の行列式の意味について考える。

2次の正方行列の行列式は、高校で習うように

A=
    \begin{pmatrix}
        a & b \\
        c & d
    \end{pmatrix}

に対し、A行列式


    ad-bc
\tag{1}

である。(1)の値の、図形的な意味を説明する。行列式の意味を述べるための準備として、以下で、平面ベクトルの定義とその線形変換について述べる。

2.1. 平面ベクトル
平面ベクトルとは、2次元平面上の長さと方向を持った量のことである。図形的には、矢印で表現される。図1のように2点PとQをとったときにPからQへ向かう矢印として表される。

f:id:camelsan:20210307095329p:plain
図1 平面ベクトル

ベクトルは、"方向"と"長さ"による量であり、その"位置"には関係ない。つまり、図1の矢印を平行にずらしたものも、全く同じベクトルとなる。特に、Pを原点(2次元座標の(0,0))にとった時のPとQを結ぶベクトルを位置ベクトルという。

ベクトルを次の方法で、二つの数の組で表すことができる。PとQを結ぶベクトルをQとする。Pの座標を(x_1,y_1)、Qの座標を(x_2,y_2)とする。


    \begin{split}
        &a = x_2-x_1 \\
        &b = y_2 - y_1
    \end{split}
\tag{2}

とすると、a,bは、PとQを結ぶ線の方向と大きさのみにより、位置にはよらない。実際、Pのx座標をs、Pのy座標をtだけ移動した座標をP^{\prime}とすると、P^{\prime}の座標は、(x_1+s,y_1+t)となる。Qも同じだけ移動させる。移動先を、Q^{\prime}とすると、Q^{\prime}の座標は、(x_2+s,y_2+t)となる。PQとP^{\prime}Q^{\prime}は矢印の方向と大きさは同じで位置のみが異なる。この時、ベクトルP^{\prime}Q^{\prime}における、(2)の数a,bを求めると、


    \begin{split}
        &a = x_2+s-(x_1+s)=x_2 - x_1 \\
        &b = y_2+t - (y_1+t)=y_2-y_1
    \end{split}

従って、PとQを結ぶベクトルを、各々の座標の差である、(2)の数の組で表現することができる。(2)の数の組をベクトルの成分と呼び、


    \bf{a}=
    \begin{pmatrix}
        a \\
        b
    \end{pmatrix}

と書く(PとQを結ぶベクトルを\bf{a}としている)。

2.2. 平面ベクトルの線形変換
平面ベクトルを成分表示して(\bf{a}と書く)左から、二次正方行列を掛けると\bf{a}別のベクトルの成分表示に変換することに対応する。例えば、

\bf{a}=
    \begin{pmatrix}
        1 \\
        1
    \end{pmatrix}

として、

A=
    \begin{pmatrix}
        1 & 1 \\
        3 & 1
    \end{pmatrix}

とすると、ベクトル\bf{a}は、

\bf{b}=A\bf{a}=
    \begin{pmatrix}
        1 & 1 \\
        3 & 1
    \end{pmatrix}
    \begin{pmatrix}
        1 \\
        1
    \end{pmatrix}
    =
        \begin{pmatrix}
        2 \\
        4
    \end{pmatrix}

に移る。\bf{a}\bf{b}の位置ベクトルを同一平面上に書くと図2のようになる。

f:id:camelsan:20210307105850p:plain
図2 ベクトルの線形変換

ベクトルを別のベクトルに移す規則である行列Aのことを線形変換という(言葉遣いが紛らわしいが、線形変換と呼ばれる写像を定義できるが、それは結局行列と1対1対応があるということが証明される)。

2.3. 行列式の意味
ここで最初の目的に戻って、2.1と2.2で用意した概念を用いて、二次正方行列の行列式の意味について述べる。

2次元座標(0,0), (1,0), (0,1), (1,1)を頂点とする正方形を考える(図3参照)。

f:id:camelsan:20210307111724p:plain
図3 正方形

原点(0,0)とA(1,0)を結ぶベクトルを、\bf{a}、原点(0,0)とB(0,1)を結ぶベクトルを、\bf{b}とすると、それぞれを成分表示すると、


    \bf{a}=
    \begin{pmatrix}
        1 \\
        0
    \end{pmatrix},
    \bf{b}=
    \begin{pmatrix}
        0 \\
        1
    \end{pmatrix}

である、\bf{a}\bf{b}を線形変換

A=
    \begin{pmatrix}
        a & b \\
        c & d
    \end{pmatrix}

で移動させる。このとき


    \begin{split}
        A\bf{a}&=\begin{pmatrix}
            a & b \\
            c & d
        \end{pmatrix}
        \begin{pmatrix}
            1 \\
            0
        \end{pmatrix}
        = 
        \begin{pmatrix}
        a \\
        c
        \end{pmatrix} \\
        A\bf{b}&=\begin{pmatrix}
            a & b \\
            c & d
        \end{pmatrix}
        \begin{pmatrix}
            0 \\
            1
        \end{pmatrix}
        = 
        \begin{pmatrix}
        b \\
        d
        \end{pmatrix} \\
        A(\bf{a}+\bf{b})&=\begin{pmatrix}
            a & b \\
            c & d
        \end{pmatrix}
        \begin{pmatrix}
            1 \\
            1
        \end{pmatrix}
        = 
        \begin{pmatrix}
        a+b \\
        c+d
        \end{pmatrix} 
    \end{split}

であり、図3の正方形は図4の平行四辺形に移動される。

f:id:camelsan:20210307114640p:plain
図4 平行四辺形

図4の平行四辺形の面積を求める。図5のように求めることができる。

f:id:camelsan:20210307120627p:plain
図5 平行四辺形の面積

まとめると、二次正方行列A行列式は1辺の長さが1の正方形を線形変換Aで移動させてできた平行四辺形の面積のことである。

2. 行列式の定義
より一般的に、n次正方行列の行列式を定義する。

n次正方行列A=(a_{ij})に対し、


    \displaystyle\sum_{\sigma\in S_n}{\rm{sgn}}\sigma\cdot a_{1\sigma(1)}a_{2\sigma(2)}\dots a_{n\sigma(n)}

を行列A行列式といい、


    \begin{vmatrix}
        a_{11} & a_{12} & \dots & a_{1n} \\
        a_{21} & a_{22} & \dots & a_{2n} \\
        \vdots & \vdots &&\vdots \\
        a_{n1} & a_{n2} & \dots & a_{nn} \\
    \end{vmatrix}, 
    \begin{vmatrix}
        A
    \end{vmatrix},
    {\rm{det}}A

などと表す。但し、


\displaystyle\sum_{\sigma\in S_n}

は、全てのn文字の置換\sigmaに渡る和を表す。

行列A=(a_{ij})の各列を列ベクトル\bf{a}_1,\bf{a}_2,\dots,\bf{a}_n で表したときに、


    {\rm{det}}(\bf{a}_1, \bf{a}_2, \dots, \bf{a}_n)

と表すこともある。

n=3のとき、3文字の置換を列挙すると、


    \begin{split}
        &\begin{pmatrix}
             1 & 2 & 3 \\
             1 & 2 & 3
        \end{pmatrix}, 
        \begin{pmatrix}
             1 & 2 & 3 \\
             1 & 3 & 2
        \end{pmatrix}, 
        \begin{pmatrix}
             1 & 2 & 3 \\
             2 & 1 & 3
        \end{pmatrix}, \\
        &\begin{pmatrix}
             1 & 2 & 3 \\
             2 & 3 & 1
        \end{pmatrix},
        \begin{pmatrix}
             1 & 2 & 3 \\
             3 & 1 & 2
        \end{pmatrix},
        \begin{pmatrix}
             1 & 2 & 3 \\
             3 & 2 & 1
        \end{pmatrix}
    \end{split}

より、


    \begin{split}
        \begin{vmatrix}
            a_{11} & a_{12} & a_{13} \\
            a_{21} & a_{22} & a_{23} \\
            a_{31} & a_{32} & a_{33}
        \end{vmatrix}
        = a_{11}a_{22}a_{33} - a_{11}a_{23}a_{32} - a_{12}a_{21}a_{33} + a_{12}a_{23}a_{31} + a_{13}a_{21}a_{32} - a_{13}a_{22}a_{31} 
    \end{split}

各々の符号に関しては、恒等置換を互換で何回変換すれば対象の置換になるかを考えればよい。

3. 参考文献
[1] 線型代数入門

[2] note "行列式 |A|=ad-bc の幾何学的意味"

note.com

視覚的に行列式の意味が述べられており大変わかりやすかった。ベクトルなどの必要な言葉を用意してこちらの内容をそのまま書いたに過ぎない。

【線型代数学入門】置換

1. 記事の目的
以下の記事で連立方程式の解法について述べた。本記事では、連立方程式のその他の解法である、クラメルの解法や、行列式と呼ばれるもので重要となる置換に関して述べる。置換は、現代数学のあらゆる重要な部分で出現し(ワイル理論、写像類群など)、深い内容のものである。ここではその定義と、簡単な性質に関して述べる。

camelsan.hatenablog.com

2. 置換の定義
「1,2」という二つの整数を、「1,2」の二つの整数に対応づけることを考える(一つの数字を使用したら、同じ数字は使わないこととする)。この方法は次の二つある。


    \begin{split}
        &1\leftrightarrow 1 \\
        &2\leftrightarrow 2
    \end{split}


    \begin{split}
        &1\leftrightarrow 2\\
        &2\leftrightarrow 1
    \end{split}

である。三つ以上の整数同士でも、同様の対応を考えることができる。一般的に述べると、n個の整数「1,2,\dots,n」をn個の整数「1,2,\dots,n」に対応させる方法をn文字の置換という。整数1の対応先をi_1、整数2の対応先をi_2、・・・、整数nの対応先をi_nとおくと、この対応方法を


    \begin{pmatrix}
        1&2&\dots&n \\
        i_1&i_2&\dots&i_n
    \end{pmatrix}

と書く(上の数字を下の数字に対応させる)。記号\sigmaを使用してi_1=\sigma(1)i_2=\sigma(2)、・・・、i_n=\sigma(n)と書くと、

\sigma=
    \begin{pmatrix}
        1&2&\dots&n \\
        i_1&i_2&\dots&i_n
    \end{pmatrix}

と書ける。ここで、上の行は、1,2,\dots,nと並んでなくても良い(上下の対応関係があっていれば同じ置換となる)。例えば、


    \begin{pmatrix}
        1&2&3 \\
        2&3&1
    \end{pmatrix}
    =
    \begin{pmatrix}
        1&3&2 \\
        2&1&3
    \end{pmatrix}

である。

どの文字を動かさない置換、


    \begin{pmatrix}
        1&2&\dots&n \\
        1&2&\dots&n
    \end{pmatrix}

を口頭置換といい、1_nと表す。置換\sigmaの逆対応(下の数字を上の数字に対応させる)を逆置換といい、\sigma^{-1}で表す。例えば、

\sigma=
    \begin{pmatrix}
        1&2&3 \\
        2&3&1
    \end{pmatrix}

ならば、

\sigma^{-1}=
    \begin{pmatrix}
        2&3&1 \\
        1&2&3
    \end{pmatrix}
    =
    \begin{pmatrix}
        1&2&3 \\
        3&1&2
    \end{pmatrix}

となる。

二つの置換\sigma\tauの積\sigma\tauは、\tauの置換を適用後、\sigmaの置換を行うことで定義する(\sigmaから実施しないことに注意。但し、積の順番通り、\sigmaから実施する流儀もある)。例えば、

\sigma=
    \begin{pmatrix}
        1&2&3 \\
        2&3&1
    \end{pmatrix}
    ,
    \tau=
    \begin{pmatrix}
        1&2&3 \\
        1&3&2
    \end{pmatrix}

とすると、


    \begin{split}
        &\sigma\tau(1)=\sigma(1)=2 \\
        &\sigma\tau(2)=\sigma(3)=1 \\
        &\sigma\tau(3)=\sigma(2)=3 
    \end{split}

より、

\sigma\tau=
    \begin{pmatrix}
        1&2&3 \\
        2&1&3
    \end{pmatrix}

1,2,\dots,n」から「1,2,\dots,n」の置換全てを集めたものをS_nと書く(集合論の言葉で、S_nを置換の集合という)。例えば、S_2は、


    \begin{pmatrix}
        1&2 \\
        1&2
    \end{pmatrix}
    ,
    \begin{pmatrix}
        1&2 \\
        2&1
    \end{pmatrix}

の二つの置換からなる。

2. 置換の性質
置換の集まりS_nに関して次の定理が成り立つ。

定理
(1) \sigma_1,\dots,\sigma_mS_nの重複のない全ての置換とすると、\sigma_1^{-1},\dots,\sigma_m^{-1}S_nの重複のない全ての置換である。
(2) \tauを固定された一つのn文字の置換とする。\sigma_1,\dots,\sigma_mS_nの重複のない全ての置換とすると、\tau\sigma_1^{-1},\dots,\tau\sigma_m^{-1}S_nの重複のない全ての置換である。
(1)の証明S_nの置換の個数を数える。1を他の整数に対応させる候補は、n通りある。2を他の整数に対応させる候補は、1に対応させた整数以外のn-1通りある。3を対応させる候補数は、n-2通り、・・・、nを対応させる候補数は、1通りなので、置換の個数は、1\times 2\times \dots \times n=n!個である。即ち、定理の主張のmは実は、m=n!である。
\sigma_1^{-1}=\sigma_2^{-1}ならば、両辺に右から\sigma_1、左から\sigma_2を掛けると、\sigma_1=\sigma_2である。対偶を取ると、\sigma_1\neq\sigma_2ならば\sigma_1^{-1}\neq\sigma_2^{-1}である。従って、\sigma_1^{-1},\dots,\sigma_m^{-1}の個数もn!個で、重複がないので、S_nの全ての置換である。
(2)の証明
\tau\sigma_1=\tau\sigma_2の両辺に、\tau^{-1}を掛けると、\sigma_1=\sigma_2である。対偶をとって、\sigma_1\neq\sigma_2ならば、\tau\sigma_1\neq\tau\sigma_2である。即ち、\tau\sigma_1^{-1},\dots,\tau\sigma_m^{-1}S_nの全ての置換である。

特殊な置換に名前をつける。n文字の置換で2つの文字のみを入れ替え、他のn-2文字を動かさないような置換のことを、互換と呼ぶことにする。入れ替えられる文字をijとすると、この互換を2文字のみで、(i,j)と書くことができる。例えば、4文字の置換に対して、


    \begin{pmatrix}
        1&2&3&4 \\
        2&1&3&4
    \end{pmatrix}

は互換であり、


    \begin{pmatrix}
        1&2
    \end{pmatrix}
    =
    \begin{pmatrix}
        1&2&3&4 \\
        2&1&3&4
    \end{pmatrix}

と書ける。

置換は、互換のいくつかの積で表せるという性質がある。即ち次の定理が成り立つ。

定理
任意の置換は、何個かの互換の積として表される。この時、互換の個数が偶数であるか、奇数であるかは、この互換の積で与えられている置換のみにより決まり、互換の積として表す表し方にはよらない。
証明:最初に、置換が互換のいくつかの積として表せることを証明する。文字数の帰納法で証明する。n=2の時、


    \begin{split}
    &\begin{pmatrix}
        1 & 2 \\
        1 & 2
    \end{pmatrix}
    =
    \begin{pmatrix}
        1 & 2 \\
        2 & 1
    \end{pmatrix}
    \begin{pmatrix}
        1 & 2 \\
        2 & 1
    \end{pmatrix} \\
    &\begin{pmatrix}
        1 & 2 \\
        2 & 1
    \end{pmatrix}
    \end{split}

より、S_2に関しては、全ての置換が互換の積として表されている。n以下の時成立すると仮定して、\sigman+1文字の置換とする。


    \begin{pmatrix}
        1&2&\dots&n&n+1 \\
        i_1&i_2&\dots&i_n&i_{n+1}
    \end{pmatrix}

i_{n+1}=n+1の時、\sigman文字の置換であり、これは帰納法の仮定より、互換の積として表すことができる。i_{n+1} \lt n+1の時、


    \begin{pmatrix}
        1&2&\dots&n&n+1 \\
        i_1&i_2&\dots&i_n&i_{n+1}
    \end{pmatrix} 
    =
    \begin{pmatrix}
        i_{n+1}-1 & i_{n+1}
    \end{pmatrix}
    \dots 
    \begin{pmatrix}
        n & n+1
    \end{pmatrix} 
    \begin{pmatrix}
        1&2&\dots&n&n+1 \\
        i_1&i_2&\dots&i_n&{n+1}
    \end{pmatrix}

だが、右辺の最後の項は、n文字の置換なので、帰納法の仮定から互換の積で表すことができる。よってn+1のときも成立するので、帰納法より置換は互換の積で表せることが証明された。

次に互換の個数が偶数か奇数であるかは、積の表示の仕方によらないことを証明する。


    \Delta(x_1,x_2,\dots,x_n) = \displaystyle\prod_{1\le i\lt j \le n}(x_j-x_i)

を考える。ここで、\displaystyle\prod_{1\le i\lt j \le n}は、1\le i\lt j \le nを満たす添字に関して、全て積を取るという意味である。例えば、


    \begin{split}
        \Delta(x_1,x_2,x_3) &=  \displaystyle\prod_{1\le i\lt j \le 3}(x_j-x_i) \\
       &=(x_3-x_1)(x_3-x_2)(x_2-x_1) 
    \end{split}

である。\Delta(x_1,x_2,\dots,x_n)を差積という。置換\sigmaに対し、


    \Delta^{\sigma}(x_1,x_2,\dots,x_n) = \Delta(x_{\sigma(1)},x_{\sigma(2)},\dots,x_{\sigma(n)} )

と定義すると、


    \Delta^{\sigma}(x_1,x_2,\dots,x_n) = \pm\Delta(x_1,x_2,\dots,x_n)

となる。実際、\Delta(x_1,x_2,\dots,x_n)の右辺には、1,\dots,nの整数から二つとった組み合わせの添字が全てある。よって、右辺の各項の添字を入れ替えると、1,\dots,nの整数から、二つとった組み合わせ全ての添字がある。従って、\Delta^{\sigma}(x_1,x_2,\dots,x_n)の右辺は、適切に、\Delta(x_1,x_2,\dots,x_n)の各項の順番を変えたものに等しいので、


    \Delta^{\sigma}(x_1,x_2,\dots,x_n) = \pm\Delta(x_1,x_2,\dots,x_n)

である。特に、\tauが互換の時、


    \Delta^{\tau}(x_1,x_2,\dots,x_n) = -\Delta(x_1,x_2,\dots,x_n)

である。実際、\tau=(I,j),(i\lt j)とすると、\Deltaの各校の入れ替え方法は次の通りに場合分けされる。
(1) (x_i-x_j)の項で、i,jを交換すると-1倍される。
(2) i\lt k \lt jとなるkに対し、


    (x_k-x_i)(x_j-x_k)

i,jを入れ替えると、(-1)\times (-1)倍される。
(3) k\lt i\lt jとなるkに対し、


    (x_i-x_k)(x_j-x_k)

i,jを入れ替えると、そのまま。
(4) i\lt j\lt kとなるkに対し、


    (x_k-x_i)(x_k-x_j)

i,jを入れ替えると、そのまま。
(5) i,jが関係しない項は、i,jを入れ替えると、そのまま。
具体例を用いて、視覚的に説明する。n=7\tau=(3,6)の時、上の場合分けは図2の各部分に対応する。

f:id:camelsan:20210306122225p:plain
図1 差積

f:id:camelsan:20210306122304p:plain
図2 場合分けの対応

置換\sigmaが、互換の積として2通りに表されているとする。即ち


    \sigma = \tau_1\tau_2\dots\tau_k=\rho_1\rho_2\dots\rho_l

これを差積に作用させると


    \begin{split}
        \Delta^{\sigma}(x_1,x_2,\dots,x_n)&=\Delta^{\tau_1\tau_2\dots\tau_k}(x_1,x_2,\dots,x_n) \\
        &=(-1)^k\Delta(x_1,x_2,\dots,x_n) 
        \Delta^{\sigma}(x_1,x_2,\dots,x_n)&=\Delta^{\sigma_1\sigma_2\dots\sigma_k}(x_1,x_2,\dots,x_n) \\
        &=(-1)^l\Delta(x_1,x_2,\dots,x_n) 
    \end{split}

よって、 


    (-1)^k=(-1)^l

即ち、klが奇数か偶数かは一致しなくてはならない(一致しなければ、-1=1となり、矛盾)。

3. 置換の符号
行列式の定義で使用する、置換の符号を定義する。
置換\sigmaが偶数個の互換の積で表現されている時、偶置換、奇数個の互換の積として表現されている時、奇置換であるという。

置換の符号\rm{sgn}\sigmaを次のように定義する。


    \rm{sgn}\sigma=
    \begin{cases}
        1 & (\sigma \text{が偶置換}) \\
        -1 & (\sigma \text{が奇置換})
    \end{cases}

次の記事

camelsan.hatenablog.com

4. 参考文献
[1] 線型代数入門

[2] 差積

http://www2.kaiyodai.ac.jp/~yoshi-s/Lectures/LAlgebra/2015/DifferenceProduct.pdf

差積の互換の作用による符号の入れ替わりを図で説明されており、わかりやすいと思った。

[3] 差線形代数 第9回 置換

線形代数 第9回 置換

置換が互換の積で表現されることの証明で参考にした。本記事とは前から交換を実施して証明している点が異なるが、意味は同じ。但し、こちらの証明では、i=1の場合の証明が抜けている。

【Python】pyenv: No such file or directoryの対処法

1. 記事の目的
Pythonが急に動作できなくなった時の対処法を備忘録として記す。

2. 確認環境
Mac OS Catalina version 10.15.7 Python 3.8.5

3. 発生する問題
Home brewで、他のソフトウェアをインストールした後に、pythonが動かず、

pyenv: No such file or directory

のエラーが発生することがある。

4. 原因
おそらくpathの参照先が変更されたためと思われる。

5. 解決方法
ターミナルで、次のコマンドを打てば解決する(pathの更新)。

$ pyenv rehash

6. 参考文献
[1] Quiita, "pyenv自体をアップデートして"No such file or directory"となった時"

qiita.com

こちらの解決方法を参照した。

【線型代数学入門】連立一次方程式の解法

1. 記事の目的
以下の記事で、行列の基本変形と行列の階数について述べた。本記事ではこれらの概念を用いて、連立一次方程式の開放について解説する。

camelsan.hatenablog.com

camelsan.hatenablog.com

2. 連立一次方程式
中学生の時に、未知変数二つに対して、方程式を2個用意すれば、未知変数を決定することができるということを習ったはずでる。ここではより一般的にn個の未知変数に対し、m本の連立方程式を用意した時にいつ解が求められるのか、あるいはどうやって 求められるのかを解説する。数学では非線形的な問題を線形的に近似して、連立方程式を解いて近似解を求めるというアプローチがしばしば取られる。こういった意味でも連立一次方程式の解法は重要となってくる。ここで、連立一次方程式とは次のようなものである。

n個の未知変数x_1,\dots,x_nに関するm個の一次方程式の組、


    \begin{split}
        &a_{11}x_1+a_{12}+\dots+a_{1n}x_n=c_1 \\
        &a_{21}x_1+a_{22}+\dots+a_{2n}x_n=c_2 \\
        &\vdots\\
        &a_{m1}x_1+a_{m2}+\dots+a_{mn}x_n=c_m \\
    \end{split}
\tag{1}

を連立一次方程式という。

連立方程式は常にただ一つの解を持つとは限らない。例えば、


    x_1+x_2=1

は無数の解を持つ((x_1,x_2)=(a+1,-a)aは任意の実数は全て解)

また、連立一次方程式が解をもたない時もある。例えば、


    0\cdot x_1=1

は解をもたない。

3. 拡大係数行列
連立一次方程式(1)を考える。係数a_{ij}を並べた行列

A=
    \begin{pmatrix}
        a_{11} & a_{12} & \dots & a_{1n} \\
        a_{21} & a_{22} & \dots & a_{2n} \\
        \vdots & \vdots &&\vdots \\
        a_{m1} & a_{m2} & \dots & a_{mn} \\
    \end{pmatrix}

を(1)の係数行列という。またAの右端にc_iを付け加えた行列

\hat{A}=
    \begin{pmatrix}
        a_{11} & a_{12} & \dots & a_{1n} & c_1 \\
        a_{21} & a_{22} & \dots & a_{2n} & c_2 \\
        \vdots & \vdots &&\vdots &\vdots\\
        a_{m1} & a_{m2} & \dots & a_{mn} & c_m \\
    \end{pmatrix}

を(1)の拡大係数行列という。また、

\bf{x}=
    \begin{pmatrix}
        x_1 \\
        x_2 \\
        \vdots \\
        x_n
    \end{pmatrix},
    \hat{\bf{x}}=
    \begin{pmatrix}
        x_1 \\
        x_2 \\
        \vdots \\
        x_n \\
        -1
    \end{pmatrix},
    \bf{c}=
        \begin{pmatrix}
        c_1 \\
        c_2 \\
        \vdots \\
        c_m
    \end{pmatrix}

とすると、(1)を次の(2)と(3)の形に書くことができる。


    A\bf{x}=\bf{c}
\tag{2}

    \hat{A}\hat{\bf{x}}=0
\tag{3}

4. 拡大係数行列に関する定理
任意のm次正方行列Pに対し、(3)は、


    P\hat{A}\hat{\bf{x}}=0
\tag{4}

と同じである。これは(3)と(4)の解が全く同じであることを示す。また、(4)は、\hat{\bf{A}}に左基本変形を施しても、その結果得られる新しい方程式は、元の方程式(3)と同じことを意味する。即ち、\hat{A}を左基本変形で、簡単な形にすることで、連立一次方程式の解を求めることができることを示す。また、足し算の順序を変えることで、変数の順序を変えることができる。これは、拡大係数行列の最終列以外の順番を任意に変えることができることを示す。まとめると

操作のみで、拡大係数行列をなるべく簡単な形にして、連立方程式を解く方法が考えられるのではないかというアプローチが考えられる。

上記の2点の変形で拡大係数行列は、次の定理に示す形まで変形することができる。

定理
拡大係数行列\hat{A}に、左基本変形及び、最後の列以外の列の交換を何回か行うことで、[tex\hat{A}]は図1の[tex\hat{B}]に変形することができる。

f:id:camelsan:20210227113303p:plain
図1 拡大係数行列の変形後
ただし、rは係数行列Aの階数である。
証明A=0ならば

\hat{A}=
    \begin{pmatrix}
        0 & \dots & 0 & c_1 \\
        \vdots &&\vdots&\vdots \\
        0 & \dots & 0 & c_m \\
     \end{pmatrix}

より、\hat{B}r=0の場合である。A\neq 0ならば、行の変換もしくは、n+1列以外の交換によって、(1,1)成分が0でないようにすることができる。そこで、(1,1)をかなめとして第1列を掃き出す。掃き出しに関しては以下の記事を参照。

camelsan.hatenablog.com

ここで、第2列から第n列までの第2行以下が0ならば、これが求める形である(r=1の場合)。第2列と第n列の間に0でないものがあれば、(2,2)成分を1にし、第2列の(2,2)成分以外を全て0にすることができる。この操作を可能な限り続けることで、あるrに対して、\hat{B}の形になる。

次に、rAの階数に等しいことを証明する。次のことに注意する。\hat{A}に施した基本変形により、\hat{A}の1部分であるAにも同じ基本変形が施される。従って、\hat{B}から最後の列を取り除いた(m,n)型行列をBとすると、Aの階数と、Bの階数とは次の記事の定理により等しい(BA基本変形を施されて得られている。即ちある正則行列Pに対して


    B=PA

一方、Bの階数をr_Bとすると、基本行列P^{\prime}Q^{\prime}を用いて、


    P^{\prime}BQ^{\prime}=F(r_B)

よって、


    P^{\prime}PAQ^{\prime}=F(r_B)

行列の階数は変形対象の行列のみで決定されるので、r_BAの回数でもある。従って、ABの階数は等しい。 )。

camelsan.hatenablog.com

Bの第r+j(j=1,2,\dots,n-r)から、第k(k=1,2,\dots,r)b_{k,r+j}倍を引けば、標準形F_{m,n}(r)を得る。Bの階数はrとなり、またBの階数とAの階数は等しいので、rAの階数と等しい。

5. 連立一次方程式の解法
従って、上記の定理から(3)は、


   \hat{B}\hat{\bf{x}}=0

の形になる。これは、


    \begin{split}
        & x_1 + b_{1,r+1}x_{r+1}+\dots+b_{1,n}x_n=d_1 \\
        & x_2 + b_{2,r+1}x_{r+1}+\dots+b_{2,n}x_n=d_2 \\
        & \vdots \\
        & x_r + b_{r,r+1}x_{r+1}+\dots+b_{r,n}x_n=d_r \\
        &0=d_{r+1} \\
        &\vdots \\
        &0=d_{m} \\
    \end{split}

の形になる。ここで、d_{r+1}, d_{r+2}, \dots, d_mの中に0でないものがあれば、(2)は解をもたない。d_{r+1}=d_{r+2}=\dots =d_m=0の時はx_{r+1}, x_{r+2}, \dots, x_mに任意の数、\alpha_{r+1}, \alpha_{r+2}, \dots, \alpha_mを代入し、その部分を移行すると、次の形になる。


    \begin{split}
        &x_1 = d_1-b_{1,r+1}\alpha_{r+1}-\dots -b_{1,n}\alpha_n \\
        &x_2 = d_2-b_{2,r+1}\alpha_{r+1}-\dots -b_{2,n}\alpha_n \\
        & \vdots\\
        &x_r = d_r-b_{r,r+1}\alpha_{r+1}-\dots -b_{r,n}\alpha_n \\
        &x_{r+1}=\alpha_{r+1}\\
        &\vdots\\
        &x_{n}=\alpha_{n}\\
    \end{split}

従って、次の定理が得られる。

定理
方程式(1)は、拡大係数行列\hat{A}に、左基本変形及、最終右列以外の列の変換を施して\hat{B}に変形した時、d_{r+1}=d_{r+2}=\dots=d_m=0の時に限って解を持つ。その時の解は、x_{r+1},x_{r+2},\dots,x_nに、n-r個の任意定数\alpha_{r+1},\alpha_{r+2},\dots,\alpha_n を代入し、(4)によって、x_1,x_2,\dots,x_rを定めることによって得られる。ただし、未知数の順序は、列の交換に対応して入れ替わっている。

6. 例
次の連立一次方程式を解く。


    \begin{split}
        &3x_2+3x_3-2x_4=-4 \\
        &x_1+x_2+2x_3+3x_4=2 \\
        &x_1+2x_2+3x_3+2x_4=1 \\
        &x_1+3x_2+4x_3+2x_4=-1 \\
    \end{split}

拡大係数行列\hat{A}は次のように変形される。


    \begin{split}
        \hat{A}&=
        \begin{pmatrix}
            0&3&3&-2&-4\\
            1&1&2&3&2\\
            1&2&3&2&1\\
            1&3&4&2&-1
        \end{pmatrix} \\
        &\rightarrow^{(1)}
        \begin{pmatrix}
            1&1&2&3&2\\
            0&3&3&-2&-4\\
            1&2&3&2&1\\
            1&3&4&2&-1
        \end{pmatrix} (\text{第1行と第2行を入れ替える})\\
        &\rightarrow^{(2)}
        \begin{pmatrix}
            1&1&2&3&2\\
            0&3&3&-2&-4\\
            0&1&1&-1&-1\\
            0&2&2&-1&-3
        \end{pmatrix} (\text{第1列を掃き出す})\\
        &\rightarrow^{(3)}
        \begin{pmatrix}
            1&1&2&3&2\\
            0&1&1&-1&-1\\
            0&3&3&-2&-4\\
            0&2&2&-1&-3
        \end{pmatrix} (\text{第2行と第3行を入れ替える})\\
        &\rightarrow^{(4)}
        \begin{pmatrix}
            1&0&1&4&3\\
            0&1&1&-1&-1\\
            0&0&0&1&-1\\
            0&0&0&1&-1
        \end{pmatrix} (\text{第2列を掃き出す})\\
        &\rightarrow^{(5)}
        \begin{pmatrix}
            1&0&4&1&3\\
            0&1&-1&1&-1\\
            0&0&1&0&-1\\
            0&0&1&0&-1
        \end{pmatrix} (\text{第3列と第4列を交換する})\\
        &\rightarrow^{(6)}
        \begin{pmatrix}
            1&0&0&1&7\\
            0&1&0&1&-2\\
            0&0&1&0&-1\\
            0&0&0&0&0
        \end{pmatrix} (\text{第3列を掃き出す})\\
     \end{split}

第4行が0からなるので、解は存在し、4-3=1個の任意定数を含む。(5)の操作で、第3列と第4列を交換したので、


    \begin{split}
        &x_1+x_3=7\\
        &x_2+x_3=-2\\
        &x_4=-1
    \end{split}

従って、解はx_3=\alphaとして、


x_1=7-\alpha,
x_2=-\alpha -2,
x_4=-4,
x_3=\alpha

となる。

次の記事

camelsan.hatenablog.com

7. 参考文献
[1] 線型代数入門