Undefined control sequence: \DeclareMathOperator at position 57: …{#1}}
% 演算子の定義
\̲D̲e̲c̲l̲a̲r̲e̲M̲a̲t̲h̲O̲p̲e̲r̲a̲t̲o̲r̲{\im}{ \text{Im…
% 太字のalias
\newcommand{\b}[1]{\boldsymbol{#1}}
% 演算子の定義
\DeclareMathOperator{\im}{ \text{Im} }
\DeclareMathOperator{\rank}{ \text{rank} }
\DeclareMathOperator{\span}{ \text{Span} }
\DeclareMathOperator{\Ker}{ \text{Ker} }m × n m\times n m × n 行列A A A に対し、A A A が定義する線形写像
A : R n → R m A: \mathbb{R}^n \to \mathbb{R}^m A : R n → R m の像空間の次元のことを ランク(階数) といい、 \rank A と表す。
Undefined control sequence: \rank at position 1: \̲r̲a̲n̲k̲ ̲A := \dim \Im A…
\rank A := \dim \Im A
= \dim \span\{ \boldsymbol{a}_1, \dots, \boldsymbol{a}_n \}(ただし \b{a}_1, \dots, \b{a}_n はA A A の列ベクトル)
さまざまなランクの定義 ¶ m × n m\times n m × n 行列A A A に対し、次の1~6の数は一致する
A A A が定義する線形写像の像空間 \im A の次元 \dim \im A = \dim \span \{ \b{a}_1, \dots, \b{a}_n \} (ただし \b{a}_1, \dots, \b{a}_n はA A A の列ベクトル)
A A A の列ベクトルの中から選び得る1次独立なベクトルの最大個数
A A A の行ベクトルの中から選び得る1次独立なベクトルの最大個数
A A A の行ベクトルが生成するR n \mathbb{R}^n R n の部分空間の次元
A A A の0でない小行列式の最大次数
A A A を行基本変形で階段行列に変形したときの0でない行の個数
例1
A = ( 1 − 1 0 0 2 2 1 3 4 ) A =
\left(\begin{array}{rrr}
1 & -1 & 0 \\
0 & 2 & 2 \\
1 & 3 & 4
\end{array}\right) A = ⎝ ⎛ 1 0 1 − 1 2 3 0 2 4 ⎠ ⎞ のランクを求めるとする。列ベクトルを
A = ( a 1 a 2 a 3 ) A =
\begin{pmatrix}
\boldsymbol{a}_1 & \boldsymbol{a}_2 & \boldsymbol{a}_3
\end{pmatrix} A = ( a 1 a 2 a 3 ) とする。
c 1 a 1 + c 2 a 2 = 0 c_1 \boldsymbol{a}_1 + c_2 \boldsymbol{a}_2 = \boldsymbol{0} c 1 a 1 + c 2 a 2 = 0 とすると、第2成分が0になるためにはc 2 = 0 c_2 = 0 c 2 = 0 である必要がある。
そしてc 1 a 1 = 0 c_1 \boldsymbol{a}_1 = \boldsymbol{0} c 1 a 1 = 0 となるためには、c 1 = 0 c_1 = 0 c 1 = 0 である必要がある。
よってc 1 = c 2 = 0 c_1 = c_2 = 0 c 1 = c 2 = 0 であるため、a 1 , a 2 \boldsymbol{a}_1, \boldsymbol{a}_2 a 1 , a 2 は1️次独立である。
a 1 + a 2 = a 3 \boldsymbol{a}_1 + \boldsymbol{a}_2 = \boldsymbol{a}_3 a 1 + a 2 = a 3 であるため、
Undefined control sequence: \span at position 1: \̲s̲p̲a̲n̲(\boldsymbol{a}…
\span(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3)
= \span(\boldsymbol{a}_1, \boldsymbol{a}_2)であるため、 \rank A = \dim \span(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3) = 2
例2
( 2 0 − 1 5 1 1 − 1 2 0 0 1 0 ) \left(\begin{array}{rrr}
2 & 0 & -1 \\
5 & 1 & 1 \\
-1 & 2 & 0 \\
0 & 1 & 0
\end{array}\right) ⎝ ⎛ 2 5 − 1 0 0 1 2 1 − 1 1 0 0 ⎠ ⎞ 列ベクトルを( a 1 a 2 a 3 ) \begin{pmatrix} \boldsymbol{a}_1 & \boldsymbol{a}_2 & \boldsymbol{a}_3 \end{pmatrix} ( a 1 a 2 a 3 ) とする。
c 1 a 1 + c 2 a 2 + c 3 a 3 = 0 c_1 \boldsymbol{a}_1 + c_2 \boldsymbol{a}_2 + c_3 \boldsymbol{a}_3 = \boldsymbol{0} c 1 a 1 + c 2 a 2 + c 3 a 3 = 0 とすると、第4成分が0になるためにはc 2 = 0 c_2=0 c 2 = 0 となり、第3成分をみることによりc 1 = 0 c_1=0 c 1 = 0 であり、第2成分を見ることによりc 3 = 0 c_3=0 c 3 = 0 であることがわかるから、
a 1 , a 2 , a 3 \boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3 a 1 , a 2 , a 3 は1次独立で、ランクは3となる
小行列式 ¶ m × n m\times n m × n 行列A A A があるとし、p p p をp ≤ m , p ≤ n p\leq m, p \leq n p ≤ m , p ≤ n を満たす正の整数とする。A A A のp p p 個の行と列を任意に取り出して作ったp p p 次の正方行列の行列式をA A A の p p p 次の小行列式 という。
たとえば、
A = [ a 11 a 12 a 13 a 14 a 21 a 22 a 23 a 24 a 31 a 32 a 33 a 34 ] A=\left[\begin{array}{llll}
a_{11} & a_{12} & a_{13} & a_{14} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34}
\end{array}\right] A = ⎣ ⎡ a 11 a 21 a 31 a 12 a 22 a 32 a 13 a 23 a 33 a 14 a 24 a 34 ⎦ ⎤ に対して、2次の小行列式は
∣ a 11 a 12 a 21 a 22 ∣ , ∣ a 11 a 13 a 21 a 23 ∣ , ∣ a 11 a 14 a 31 a 34 ∣ \left|\begin{array}{ll}
a_{11} & a_{12} \\
a_{21} & a_{22}
\end{array}\right|,
\quad\left|\begin{array}{ll}
a_{11} & a_{13} \\
a_{21} & a_{23}
\end{array}\right|,
\quad\left|\begin{array}{ll}
a_{11} & a_{14} \\
a_{31} & a_{34}
\end{array}\right| ∣ ∣ a 11 a 21 a 12 a 22 ∣ ∣ , ∣ ∣ a 11 a 21 a 13 a 23 ∣ ∣ , ∣ ∣ a 11 a 31 a 14 a 34 ∣ ∣ などである。
m × n m\times n m × n 行列のp p p 次の小行列式は全部でm C p × n C p _mC_p \times _nC_p m C p × n C p 個存在する。
A A A のr r r 次の小行列式の中に0でないものがあり、r + 1 r+1 r + 1 次以上の小行列はすべて0であるときのr r r (0でない小行列式の最大次数)はA A A の階数に等しい。
階段行列 ¶ m × n m\times n m × n 行列の第i i i 行について、第1列から順番に数えて初めて0でない成分が出てくる列を第d i d_i d i 列とする。
ただし、第i i i 行がすべて0のときはd i = n + 1 d_i = n+1 d i = n + 1 と約束する。
d 1 < d 2 < ⋯ < d i < d i + 1 = ⋯ = d n = n + 1 d_1 < d_2 < \cdots < d_i < d_{i+1} = \cdots = d_n = n+1 d 1 < d 2 < ⋯ < d i < d i + 1 = ⋯ = d n = n + 1 のとき、これを階段行列 (step matrix) という。
図で書くと以下のような行列である
( ∗ ⋯ ⋯ ⋯ 0 ∗ ⋯ ⋯ 0 0 ∗ ⋯ 0 0 0 ∗ ) \begin{pmatrix}
* & \cdots & \cdots & \cdots\\
0 & * & \cdots & \cdots\\
0 & 0 & * & \cdots\\
0 & 0 & 0 & *\\
\end{pmatrix} ⎝ ⎛ ∗ 0 0 0 ⋯ ∗ 0 0 ⋯ ⋯ ∗ 0 ⋯ ⋯ ⋯ ∗ ⎠ ⎞ ただし、∗ * ∗ は任意の数。
階段行列の0でない行の個数はその行列のランクに等しい。
階段行列の例
( 0 7 0 3 4 0 0 1 2 3 0 0 0 0 0 ) \left(\begin{array}{lllll}
0 & 7 & 0 & 3 & 4 \\
0 & 0 & 1 & 2 & 3 \\
0 & 0 & 0 & 0 & 0
\end{array}\right) ⎝ ⎛ 0 0 0 7 0 0 0 1 0 3 2 0 4 3 0 ⎠ ⎞ ( 1 0 0 0 1 0 0 0 1 ) \begin{pmatrix}
1 & 0 & 0\\
0 & 1 & 0\\
0 & 0 & 1
\end{pmatrix} ⎝ ⎛ 1 0 0 0 1 0 0 0 1 ⎠ ⎞ ※単位行列も階段行列である
例:
( 3 0 3 0 5 0 3 0 3 ) \begin{pmatrix}
3 & 0 & 3\\
0 & 5 & 0\\
3 & 0 & 3
\end{pmatrix} ⎝ ⎛ 3 0 3 0 5 0 3 0 3 ⎠ ⎞ 第1行を-1倍して第3行に加えると
( 3 0 3 0 5 0 0 0 0 ) \begin{pmatrix}
3 & 0 & 3\\
0 & 5 & 0\\
0 & 0 & 0
\end{pmatrix} ⎝ ⎛ 3 0 0 0 5 0 3 0 0 ⎠ ⎞ この階段行列の零でない行ベクトルの数は2なので、ランク(階数)は2
import numpy as np
A = np.array([
[3, 0, 3],
[0, 5, 0],
[3, 0, 3]
])
np.linalg.matrix_rank(A)階数標準形 ¶ 行列A A A を行基本変形,列基本変形により
( I r O O O ) \begin{pmatrix}
I_r & O\\
O & O
\end{pmatrix} ( I r O O O ) の形に変形できたとき、これをA A A の 階数標準形 あるいは単に 標準形 という。
定理 任意のm × n m\times n m × n 行列A A A は基本変形を有限回繰り返して、標準形
( I r O r , n − r O m − r , r O m − r , n − r ) \begin{pmatrix}
I_r & O_{r, n-r}\\
O_{m-r, r} & O_{m-r, n-r}
\end{pmatrix} ( I r O m − r , r O r , n − r O m − r , n − r ) に変形することができる。ここでr r r はA A A のランクに等しい。
# 例
import numpy as np
A = np.array([
[3, 0, 3],
[0, 5, 0],
[3, 0, 3]
])
np.linalg.matrix_rank(A)# 1行目を-1倍して3行目に加える
A[2, :] += -1 * A[0, :]
Aarray([[3, 0, 3],
[0, 5, 0],
[0, 0, 0]])
# 1列目を-1倍して3列目に加える
A[:, 2] += -1 * A[:, 0]
Aarray([[3, 0, 0],
[0, 5, 0],
[0, 0, 0]])
# (1/3)倍、(1/5)倍して1にする
A[0, 0] = (1/A[0, 0]) * A[0, 0]
A[1, 1] = (1/A[1, 1]) * A[1, 1]
Aarray([[1, 0, 0],
[0, 1, 0],
[0, 0, 0]])