数学/线性代数 {矩阵初等变换,[阶梯形/最简形]矩阵,初等矩阵};
@LOC_COUNTER: 3;
矩阵的初等变换
定义
矩阵的初等变换 和行列式的变换 是完全一样的;
.
LINK: (https://editor.csdn.net/md/?articleId=130092391)-(@LOC_2)
;
交换两{行/列};
将某一{行/列}所有元素, 同乘非零常数;
某一{行/列}的k倍, 加到另一行上去;
相关术语
{两个矩阵的等价};
如果矩阵A可通过有限次 行变换, 变成矩阵B, 则称他俩是行等价的, 记作 A ∼ r B A \sim ^ r B A∼rB;
如果矩阵A可通过有限次 行变换, 变成矩阵B, 则称他俩是列等价的, 记作 A ∼ l B A \sim ^ l B A∼lB;
如果矩阵A可通过有限次 行和列变换, 变成矩阵B, 则称他俩是等价的, 记作 A ∼ B A \sim B A∼B;
性质
对矩阵A进行行操作后 得到 o p R ( A ) opR(A) opR(A), 对矩阵 A T A^T AT进行 对应的 列操作后 得到 o p C ( A T ) opC(A^T) opC(AT), 则有: o p R ( A ) = o p C ( A T ) T opR(A) = opC(A^T)^T opR(A)=opC(AT)T (这里的等号, 是两个矩阵的相等);
证明: 因为 A A A的任何行 是完全等于 A T A^T AT的对应列, 因此 你怎么操作A的行 就等价于 怎么操作 A T A^T AT的列, 然后对操作后的 A T A^T AT 再进行一次转置;
推论: 如果 f ( A ) = f ( A T ) f( A) = f( A^T) f(A)=f(AT), 此时对行变换成立的结论 对相同的列变换 也成立;
这个推论很重要, 举几个例子;
f
(
A
)
=
∣
A
∣
f(A) = |A|
f(A)=∣A∣ (即行列式), 此时有
f
(
A
)
=
f
(
A
T
)
f(A) = f(A^T)
f(A)=f(AT), 对于行变换-2 (某一行同乘一个常数K), 已知结论:
f
(
o
p
R
(
A
)
)
=
K
∗
f
(
A
)
f( opR(A)) = K*f(A)
f(opR(A))=K∗f(A) (
o
p
R
opR
opR表示 任意的行变换-2);
那么会有推论:
f
(
o
p
C
(
A
)
)
=
K
∗
f
(
A
)
f(opC(A)) = K*f(A)
f(opC(A))=K∗f(A) (
o
p
C
opC
opC表示 任意的列变换-2); (这个结论是独立的, 也就是
o
p
C
opC
opC 并不是和
o
p
R
opR
opR对应的);
证明:
f
(
o
p
C
(
A
)
)
=
f
(
o
p
R
′
(
A
T
)
T
)
=
f
(
o
p
R
′
(
A
T
)
)
=
K
∗
f
(
A
T
)
=
K
∗
f
(
A
)
f(opC(A)) = f( opR'( A^T)^T) =f( opR'( A^T)) = K * f( A^T) = K* f(A)
f(opC(A))=f(opR′(AT)T)=f(opR′(AT))=K∗f(AT)=K∗f(A); (注意
o
p
R
′
opR'
opR′ 可不是任意的, 他必须是和
o
p
C
opC
opC对应的, 比如
o
p
C
opC
opC是操作的
i
i
i列 则
o
p
R
′
opR'
opR′必须得是
i
i
i行);
再举个例子;
f
(
A
)
=
R
(
A
)
f(A) = R(A)
f(A)=R(A) (即矩阵的秩), 此时有
f
(
A
)
=
f
(
A
T
)
f(A) = f(A^T)
f(A)=f(AT), 对于行变换-1 (交换两行), 已知结论:
f
(
o
p
R
(
A
)
)
=
f
(
A
)
f(opR(A)) = f(A)
f(opR(A))=f(A) (opR表示 任意的行变换-1
说白了就是 已知一个对行变换成立的性质, 如果该性质 对行列式转置是等价的, 那么 可以推出 该性质对列变换也是成立的;
但是要注意, 你应该对每个不同的行变换 单独讨论, 即(行变换-{1,2,3}) 三种情况去单独讨论 不能一并讨论, 比如 在矩阵的行列式值 这个性质上, 行变换-1 会导致取负, 而行变换-2 会导致
∗
K
* K
∗K, 而行变换-3的结果 是行列式值不变, 他们的情况是不同的;
上面的性质是说明, 行变换-x 会产生怎样的效果, 则他对应的 列变换-x 也会导致 完全相同的效果;
@DELI;
设矩阵 A , B A,B A,B为 m ∗ n m*n m∗n矩阵;
A ∼ r B A \sim ^r B A∼rB ⟺ \iff ⟺ 存在 m m m阶可逆矩阵R, 使得 R A = B RA = B RA=B;
A ∼ l B A \sim ^l B A∼lB ⟺ \iff ⟺ 存在 n n n阶可逆矩阵R, 使得 A R = B AR = B AR=B;
A ∼ B A \sim B A∼B ⟺ \iff ⟺ 存在 m m m阶可逆矩阵 R 1 R_1 R1 和 n阶可逆矩阵 R 2 R_2 R2, 使得 R 1 A R 2 = B R_1 A R_2 = B R1AR2=B;
@DELI;
3种变换, 都是可逆的;
即矩阵A进行某变换x 得到矩阵B, 那么矩阵B 可以通过变换
x
−
1
x^{-1}
x−1 再得到矩阵A;
.
Ri <-> Rj
的逆变换是其本身; Ri * k
的逆为Ri * (1/k)
; Rj + k*Ri
的逆为Rj + (-k)Ri
;
{主元, 阶梯形矩阵,最简形矩阵,标准形矩阵}
定义
{零行,非零行};
如果矩阵的某一行 全为0, 则为零行; 否则为非零行;
@DELI;
首非零元 (也称主元);
对于一个非零行, 从左到右起 第一个非零元, 称为首非零元; (0,0,1,0,2,0
中 1为首非零元);
@DELI;
行阶梯形矩阵 Row Echelon Form
;
满足2点: (1: 零行下面的所有行 一定也是零行), (2: 如果 r , r + 1 r,r+1 r,r+1两行都为非零行 设 r r r行的首非零元的列号为 x x x 设 r + 1 r+1 r+1行的首非零元的列号 y y y, 则有 x < y x<y x<y);
@DELI;
行最简形矩阵 Reduced Row Echelon
;
行阶梯形矩阵A, 如果满足: (1: 首非零元均为1), (2: 首非零元所在列的其他所有元素 均为0), 则A为 行最简形矩阵;
@DELI;
标准形矩阵;
若矩阵A满足: 左上角的 k ∗ k k*k k∗k矩阵 为单位矩阵 其他所有元素均为0, 则A为标准形;
性质
令 x ′ x' x′为矩阵x的最简形(或阶梯形), 对于行数相同的两个矩阵 A , B A,B A,B, 则 ( A , B ) (A,B) (A,B)(分块矩阵)的最简形矩阵 一定形如 ( A ′ , ? ) (A', ?) (A′,?), 因此 一定有 R ( A ) ≤ R ( ( A , B ) ) R(A) \leq R( (A,B)) R(A)≤R((A,B)) (R为矩阵的秩);
@DELI;
令所有主元 按照行号从小到大排序, 记作[(r1,c1), (r2,c2), …], 则一定有:
.
[r1,r2,...] = [1,2,...]
(换句话说, 如果非零行个数是K, 则有K个主元 都在前K行 每行一个, 下面的N-K
行 都是零行);
.
c1 < c2 < ...
(注意, c1
不一定为1, 且c[i+1] - ci
也不一定为1);
@DELI;
MARK: @LOC_1
;
行阶梯型矩阵 如果是可逆方阵, 则他一定不存在非零行 (即, 主元都在主对角线上);
.
因为可逆矩阵 一定不存在零行/零列 LINK: (https://editor.csdn.net/md/?not_checkout=1&articleId=130158501)-(@LOC_6)
;
同理, 行最简形矩阵 如果是可逆方阵, 则他一定是单位矩阵E;
@DELI;
任何矩阵, 都可以通过有限次 初等行变换, 变成行最简形矩阵;
.
这个行最简形矩阵 是唯一的; 显然任何矩阵也可以变成行阶梯形矩阵 但他不是唯一的 (比如他乘以常数K后, 依然是行阶梯形)
任何行最简形矩阵, 通过有限次 初等初等列变换, 变成标准形矩阵;
错误
不存在列阶梯形/列最简形矩阵这些概念, 阶梯形和最简形 都是针对行来定义的;
@DELI;
A矩阵的 行最简形, 不一定等于, A T A^T AT的 行最简形;
A = [ 1 0 0 0 1 1 0 0 0 ] A = \begin{bmatrix} 1 \ 0 \ 0 \\ 0 \ 1 \ 1 \\ 0 \ 0 \ 0\end{bmatrix} A= 1 0 00 1 10 0 0 这是行最简形, A T = [ 1 0 0 0 1 0 0 1 0 ] = [ 1 0 0 0 1 0 0 0 0 ] A^T = \begin{bmatrix} 1 \ 0 \ 0 \\ 0 \ 1 \ 0 \\ 0 \ 1 \ 0\end{bmatrix} = \begin{bmatrix} 1 \ 0 \ 0 \\ 0 \ 1 \ 0 \\ 0 \ 0 \ 0 \end{bmatrix} AT= 1 0 00 1 00 1 0 = 1 0 00 1 00 0 0 , 显然 A , A T A, A^T A,AT 他俩的行最简形矩阵 是不同的; (当然他俩有一些共同的性质, 比如矩阵的秩是相同的);
@DELI;
令 X ′ X' X′为 X X X的行最简形矩阵, 如果矩阵 C = ( A , B ) C = (A,B) C=(A,B), 则 C ′ = ( A ′ , x ) C' = (A', x) C′=(A′,x);
矩阵A为 m ∗ n 1 m*n1 m∗n1, 矩阵B为 m ∗ n 2 m*n2 m∗n2, 则矩阵C为 m ∗ ( n 1 + n 2 ) m*(n1+n2) m∗(n1+n2); 矩阵C的行最简形 一定是形如 ( A ′ , x ) (A', x) (A′,x)的形式, 也就是 C ′ C' C′的 m ∗ [ 1 , 2 , . . , n 1 ] m*[1,2,..,n1] m∗[1,2,..,n1]这个 m ∗ n 1 m*n1 m∗n1的子矩阵 就是 A A A的行最简形; (因为将C变成 C ′ C' C′的行变换操作, 如果单独应用在A上, 则A就会变成 A ′ A' A′);
推论: 如果要求
A
,
C
A,C
A,C的行最简矩阵, 你不用单独的处理这两个矩阵, 只去处理
C
C
C即可, 得到
C
′
C'
C′后, 把他拆分的左右两个子矩阵 那么左侧这个
m
∗
n
1
m*n1
m∗n1的子矩阵 就是
A
′
A'
A′;
.
R
(
C
)
=
R
(
A
)
+
?
R(C) = R(A) + ?
R(C)=R(A)+?, 其中
?
?
?为
x
x
x子矩阵里 主元的个数;
但是注意, 这个
x
x
x (即
C
′
C'
C′中 右侧这个
m
∗
n
2
m*n2
m∗n2的子矩阵) 他和
B
′
B'
B′是没有关系的;
.
也就是,
R
(
C
)
=
R
(
A
)
+
?
R(C) = R(A) + ?
R(C)=R(A)+?, 其中
?
?
?为
x
x
x子矩阵里 主元的个数, 但这个
?
?
? 不一定等于
R
(
B
)
R(B)
R(B);
.
比如,
C
=
[
1
2
−
1
0
0
2
1
0
0
0
0
1
]
C = \begin{bmatrix} 1 \ 2 \ {-1} \ 0 \\ 0 \ 2 \ 1 \ 0 \\ 0 \ 0 \ 0 \ 1 \end{bmatrix}
C=
1 2 −1 00 2 1 00 0 0 1
令
A
A
A为左侧
3
∗
1
3*1
3∗1的子矩阵, B为右侧
3
∗
3
3*3
3∗3的子矩阵, 那么显然
R
(
C
)
=
3
R(C) = 3
R(C)=3, 但
R
(
A
)
=
1
,
R
(
B
)
=
3
R(A) = 1, R(B) = 3
R(A)=1,R(B)=3;
@DELI;
行阶梯形矩阵A, 确实可以变成 行最简形矩阵B;
.
但并不是说, 将A每个主元变成1 然后将他上面的所有元素 都变成0, 不是这样的;
行阶梯形
0 2 2 2 4
0 0 0 3 3
0 0 0 0 0
0 1 2 0 4
0 0 0 1 3
0 0 0 0 0
这是错误的(虽然他确实是行最简形); 你必须是使用*行变换*;
R1 / 2, R2 / 3, R1 - R2
0 1 1 0 1
0 0 0 1 1
0 0 0 0 0
例题
#行最简形矩阵#;
1 2 0 2 0 2 2
0 0 1 2 0 2 2
0 0 0 0 1 2 2
0 0 0 0 0 0 0
检查一个矩阵 是否是行最简形:
1: 零行都是下面, 上面都是非零行;
2: 每个主元所在列, 上下都是
0
0
0; 主元所在行的左侧 都是
0
0
0;
解释
`x`表示首非零元(是个任意非0的数), `?`表示任意数;
行阶梯形矩阵
0 x ? ? ?
0 0 0 x ?
0 0 0 0 0
0 0 0 0 0
行最简形矩阵
0 1 ? 0 ?
0 0 0 1 ?
0 0 0 0 0
0 0 0 0 0
标准形矩阵
1 0 0 0 0
0 1 0 0 0
0 0 0 0 0
0 0 0 0 0
初等矩阵
定义
初等矩阵;
对单位矩阵E, 进行一次初等变换后 得到的矩阵 称为初等矩阵;
@DELI;
初等变换的矩阵乘法;
对任意矩阵
m
∗
n
m*n
m∗n的矩阵A:
1 进行初等行变换x
操作后 得到矩阵B, 则
B
=
P
∗
A
B = P * A
B=P∗A (左乘), 其中P为x
初等行变换所对应的
m
∗
m
m*m
m∗m的初等矩阵;
2 同理, 进行初等列变换x
操作后 得到矩阵B, 则
B
=
A
∗
P
B = A * P
B=A∗P (右乘), 其中P为x
初等列变换所对应的
n
∗
n
n*n
n∗n的初等矩阵;
@DELI;
若干个初等变换, 等价于 若干个矩阵的乘法;
MARK: @LOC_0
;
对矩阵A, 进行(x1,x2,x3)初等行变换 (设他们对应的初等行矩阵为P1,P2,P3) 后, 得到矩阵
B
B
B; 那么,
B
=
P
3
∗
P
2
∗
P
1
∗
A
B = P3 * P2 * P1 * A
B=P3∗P2∗P1∗A;
.
这里也间接验证了矩阵乘法的结合律, 即我们一般看这个式子 会按照从左到右的次序 即
(
(
P
3
∗
P
2
)
∗
P
1
)
∗
A
( (P3 * P2) * P1)* A
((P3∗P2)∗P1)∗A, 但其实 从初等行变换的角度 他的次序是
P
3
∗
(
P
2
∗
(
P
1
∗
A
)
)
P3 * ( P2 * (P1 * A))
P3∗(P2∗(P1∗A)), 他们的结果是一样的;
.
如果令
P
=
P
3
∗
P
2
∗
P
1
P = P3 * P2 * P1
P=P3∗P2∗P1, 则他等价于
P
∗
A
P * A
P∗A;
.
但是注意,
B
≠
P
1
∗
P
2
∗
P
3
∗
A
B \neq P1 * P2 * P3 * A
B=P1∗P2∗P3∗A, 一定要注意次序,
A
A
A是先进行的
P
1
P1
P1操作 因此他要最先和A进行操作;
同理, 如果(x1,x2,x3)是初等列变换, 则对应 A ∗ P 1 ∗ P 2 ∗ P 3 A * P1 * P2 * P3 A∗P1∗P2∗P3;
解释
@DELI;
对E, 进行某一初等行操作(比如
i
行
∗
K
i行 * K
i行∗K) 得到初等矩阵
A
A
A, 同样的 对E 进行相同的列操作(即
i
列
∗
K
i列*K
i列∗K) 得到初等矩阵B;
我们知道
A
=
B
A = B
A=B, 即同一操作 不管是作用在{行,列}上, 得到的初等矩阵是相同的;
即:
A
E
=
E
B
AE = EB
AE=EB;
@DELI;
初等变换的矩阵乘法;
对于
m
∗
n
m*n
m∗n矩阵A, 比如对于交换(i,j)行的初等行变换, 原先是将A矩阵的这两个行进行交换 (但这是个操作, 如果要形式化的话, 你还得需要再创造新的符号语言), 那么 他可以形式化, 借助矩阵乘法就可以实现;
.
将这个操作 (即交换(i,j)行), 应用到一个
m
∗
m
m*m
m∗m的单位矩阵上 (比如单位矩阵交换(i,j)行后 得到P矩阵), 那么你让
P
∗
A
P*A
P∗A 就等价于 对A进行交换两行的操作;
@DELI;
对于5*5
的单位矩阵, 交换(2,4)行 所对应的初等矩阵为:
1 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
0 0 0 0 1
其实就是 对将单位矩阵的 (2,4)行 交换;
性质
@DELI;
MARK: @LOC_2
;
#若干个初等矩阵的乘法 ⟺ \iff ⟺ 对E进行对应的初等变换#;
E
1
∗
E
2...
E
n
E1 * E2 ... En
E1∗E2...En (引理: 初等矩阵 根据他{左乘/右乘} 该矩阵可以转换为 对应的{行/列}初等变换)
我们这里让他左乘 (即转换为 行变换),
E
1
∗
.
.
.
E
n
∗
E
E1 * ... En * E
E1∗...En∗E 他就意味着: 对E单位矩阵 进行[En, ..., E1]
所对应的行变换操作后的矩阵, 就是
E
1
∗
.
.
.
E
n
E1*...En
E1∗...En的结果;
.
也就是, 我们无需执行矩阵乘法, 就对
E
E
E矩阵 进行初等行变换操作后 得到的矩阵 就是答案;
@DELI;
对于同阶的初等矩阵 只要是同种变换类型(比如[交换12行, 交换12列]是同种类型), 那么不存在初等{行,列}矩阵的区分; 也就是 他俩对应的初等矩阵 是相同的!
.
比如, 你让单位矩阵E, 进行{交换12行/ 交换12列}操作, 得到的矩阵 是完全相同的;
因此对于初等矩阵, 他就是个矩阵, 不要去说初等(行/列)矩阵, 没有这个概念的;
.
因为 任意一个初等矩阵 比如他表示的是
i
∗
K
i* K
i∗K, 那么 他既可以表示: 第i行
∗
K
* K
∗K这个行变换, 也可以表示: 第i列
∗
K
*K
∗K这个列变换;
但初等矩阵有{左乘, 右乘}的区分, 比如
A
∗
B
A*B
A∗B (他俩都是初等矩阵);
1: 因为A在B的左侧, 所以
A
∗
B
A*B
A∗B 可以认为是: 对B矩阵 进行A所表示的行变换操作后 的结果;
2: 因为B在A的右侧, 所以
A
∗
B
A*B
A∗B 可以认为是: 对A矩阵 进行B所表示的列变换操作后 的结果;
@DELI;
因为任何矩阵A, 都可以通过行变换 变成唯一的行最简形矩阵B;
.
A可逆
⟺
\iff
⟺ B可逆
⟺
\iff
⟺ B没有非零行;
@DELI;
初等矩阵, 都是可逆的;
比如E 进行x
初等变换 得到了一个初等矩阵B, 那么 对B进行 x
初等变换的逆变换 (比如x
为第i行同乘K, 那么你再进行一次第i行同乘
1
/
K
1/K
1/K操作, 就恢复原状了) 就会变回去单位矩阵E;
即, 行变换a 他的逆变换为b, 那么令A为a对应的矩阵 B为b对应的矩阵, 则有: A , B A,B A,B互为逆矩阵;
因此, 若干个同阶的初等矩阵(可以是行, 也可以是列) 的乘积, 是可逆矩阵;
.
因为, 初等矩阵都是可逆的;
@DELI;
设方阵A可逆, 则A一定可以写成 P 1 ∗ P 2 ∗ . . . P1*P2*... P1∗P2∗...(Pi为初等行矩阵)的形式;
其逆命题(即若干个 P i Pi Pi的乘积 是可逆矩阵) 显然是成立的, 因为每个初等矩阵都是可逆的;
换一种表述, 对于可逆矩阵A, 该矩阵可以通过对单位矩阵E 进行一系列的行变换而得到;
证明:
因为任何矩阵A 都可以通过若干次初等行变换
Q
1
,
Q
2
,
.
.
.
,
Q
n
Q1,Q2,...,Qn
Q1,Q2,...,Qn而变成 行最简形, 该行最简形矩阵为
B
=
Q
1
∗
Q
2
∗
.
.
.
∗
Q
n
∗
A
B = Q1 * Q2 * ... * Qn * A
B=Q1∗Q2∗...∗Qn∗A;
此时由于A是可逆方阵 (
Q
i
Qi
Qi也是可逆的), 故他们的乘积 即该行最简形矩阵B 也是可逆的;
.
因为B是可逆方阵, LINK: @LOC_1
, 故B一定是单位矩阵; 令Pi为Qi的逆矩阵(也是逆变换对应的矩阵)
Q
1
∗
Q
2
∗
.
.
.
∗
Q
n
Q1*Q2*...*Qn
Q1∗Q2∗...∗Qn这矩阵的逆矩阵为
P
n
∗
.
.
.
∗
P
2
∗
P
1
=
A
Pn*...*P2*P1 = A
Pn∗...∗P2∗P1=A (注意次序)
推论: 若方阵A可逆, 则A通过若干次行变换 可以变成单位矩阵E;
.
令A的逆矩阵为B, 则
B
A
=
E
BA = E
BA=E, 而任意可逆矩阵B 都可以写成
P
1
∗
P
2
∗
.
.
.
P1*P2*...
P1∗P2∗...初等矩阵的形式;
因此, 方阵A可逆 ⟺ \iff ⟺ A ∼ r E A \sim^r E A∼rE (两个矩阵行等价);
@DELI;