矩阵的初等变换与线性方程组【线性代数系列(三)】
矩阵的初等变换可以分为初等行变换和初等列变换。
具体有三种变换方式:
①对换两行(列)
②第i行(列)的所有元乘以常数k(k≠0)
③把某一行(列)所有元的k倍加到令一行(列)的对应元上去。(
r
i
+
k
r
j
r_i+kr_j
ri+krj)
如果矩阵A经过有限次 初等行变换变成了矩阵B,就可以称矩阵A与矩阵B行等价;
如果矩阵A经过有限次 初等列变换变成了矩阵B,就可以称矩阵A与矩阵B列等价;
如果矩阵A经过有限次 初等变换变成了矩阵B,就可以称矩阵A与矩阵B等价,记作A~ B。
矩阵之间的等价关系具有以下性质:
①反身性 A~A。(即矩阵A与自身等价)
②对称性 若A~ B,则 B~ A。(即若A等价于B,则B等价于A)
③传递性 若A~ B,B~ C,则A~ C。
定理
设A与B为m×n矩阵,那么
A与B 行等价的充分必要条件是,存在m阶可逆矩阵P使得
P
A
=
B
PA=B
PA=B。
A与B 列等价的充分必要条件是,存在n阶可逆矩阵P使得
A
Q
=
B
AQ=B
AQ=B。
A与B 等价的充分必要条件是,存在m阶可逆矩阵P,及n阶可逆矩阵Q,使得
P
A
Q
=
B
PAQ=B
PAQ=B。
对非零矩阵,若满足
①非零行在零行的上边
②对任意非零行(如果存在上一行),非零行的首个非零元在 该非零行上一行的首个非零元 的右边。
这样的矩阵则称为行阶梯矩阵。
对 行阶梯矩阵,
如果还满足非零行的首非零元为1,且首非零元所在列的其他元都为0,则称该矩阵为行最简型矩阵。
对 行最简型矩阵,
再施以初等变换,可以变成一种形状更简单的矩阵,称为标准型。
标准型矩阵可以用字母
F
F
F表示,其特点是左上角是一个单位矩阵,其余元均为0。
对于
m
×
n
m×n
m×n矩阵A,总可经过初等变换,将其化为标准型:
F
=
[
E
r
O
O
O
]
m
×
n
F=[ErOOO]
如:
F
=
[
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
]
F= [1000001000001000000000000]
由单位矩阵经过一次初等变换得到的矩阵,称为初等矩阵。
三种初等变换对应有三种初等矩阵。
初等矩阵都是可逆的。
设A是一个m×n矩阵,
对A实行一次初等行变换,相当于在A的左边乘相应的m阶初等矩阵。
对A实施一次初等列变换,相当于在A的右边乘相应的n阶初等矩阵。
方阵A可逆的充分必要条件是,存在有限个初等矩阵
P
1
,
P
2
,
.
.
.
,
P
n
P_1,P_2,...,P_n
P1,P2,...,Pn,使得
A
=
P
1
P
2
.
.
.
P
n
A=P_1P_2...P_n
A=P1P2...Pn
方阵A可逆的充分必要条件是A与单位矩阵
E
E
E行等价。
在m×n矩阵A中任取k行与k列(k≤m,k≤n),位于这些行列交叉处的
k
2
k^2
k2个元素,不改变它们在A中所处的位置次序而得到的k阶行列式,称为A的k阶子式。
m×n矩阵的k阶子式共有
C
m
k
C
n
k
C_m^kC_n^k
CmkCnk个。
行列式的值不为0的子式,被称为非零子式。
若A与B行等价,则A与B中非零子式的最高阶数相等。
设在矩阵A中有一个不等于0的k阶子式D,且所有r+1阶子式(如果存在)全都为0,那么D称为A的最高阶非零子式,r称为 矩阵A的秩,记作R(A)
①可逆矩阵的秩等于矩阵的阶数,不可逆矩阵的秩小于矩阵的阶数,
所以可逆矩阵又称为 满秩矩阵,不可逆矩阵又称为 降秩矩阵。
②等价矩阵的秩相等。(若A等价于B,则
R
(
A
)
=
R
(
B
)
R(A)=R(B)
R(A)=R(B))
③若可逆矩阵P、Q使得
P
A
Q
=
B
PAQ=B
PAQ=B,则
R
(
A
)
=
R
(
B
)
R(A)=R(B)
R(A)=R(B)
④若P、Q可逆,则
R
(
P
A
Q
)
=
R
(
A
)
R(PAQ)=R(A)
R(PAQ)=R(A)
⑤常常把矩阵化为 行阶梯型矩阵 的形式来求秩。
⑥矩阵转置后,秩不变。
⑦
m
a
x
{
R
(
A
)
,
R
(
B
)
}
≤
R
(
A
,
B
)
≤
R
(
A
)
+
R
(
B
)
max\{R(A),R(B)\}≤R(A,B)≤R(A)+R(B)
max{R(A),R(B)}≤R(A,B)≤R(A)+R(B)
⑧
R
(
A
+
B
)
≤
R
(
A
)
+
R
(
B
)
R(A+B)≤R(A)+R(B)
R(A+B)≤R(A)+R(B)
⑨R(AB)≤min{R(A),R(B)}
⑩若
A
m
×
n
B
n
×
l
=
O
A_{m×n}B_{n×l}=O
Am×nBn×l=O,则
R
(
A
)
+
R
(
B
)
≤
n
R(A)+R(B)≤n
R(A)+R(B)≤n
对有n个未知数的线性方程组:
a
11
x
1
+
a
12
x
2
+
.
.
.
+
a
1
n
x
n
=
b
1
a_{11}x_{1}+a_{12}x_2+...+a_{1n}x_n=b_1
a11x1+a12x2+...+a1nxn=b1
a
21
x
1
+
a
22
x
2
+
.
.
.
+
a
2
n
x
n
=
b
2
a_{21}x_1+a_{22}x_2+...+a_{2n}x_n=b_{2}
a21x1+a22x2+...+a2nxn=b2
.
.
.
...
...
a
m
1
x
1
+
a
m
2
x
2
+
.
.
.
+
a
m
n
x
n
=
b
m
a_{m1}x_1+a_{m2}x_2+...+a_{mn}x_n=b_{m}
am1x1+am2x2+...+amnxn=bm
也可以写成向量x为未知元的向量方程:
A
x
=
b
Ax=b
Ax=b
若该线性方程组有解,则称该线性方程组是相容的。若无解,则称之为不相容的。
对 n元线性方程组
A
x
=
b
Ax=b
Ax=b,利用系数矩阵A和增广矩阵
B
=
(
A
,
b
)
B=(A,b)
B=(A,b),
可以方便地讨论线性方程组是否相容的问题。
对n元线性方程组:
①无解 的充分必要条件是
R
(
A
)
<
R
(
A
,
b
)
R(A)<R(A,b)
R(A)<R(A,b)
② 有唯一解 的充分必要条件是
R
(
A
)
<
R
(
A
,
b
)
=
n
R(A)<R(A,b)=n
R(A)<R(A,b)=n
③ 有无限多解 的充分必要条件是
R
(
A
)
=
R
(
A
,
b
)
<
n
R(A)=R(A,b)
④有解 的充分必要条件是
R
(
A
)
=
R
(
A
,
b
)
R(A)=R(A,b)
R(A)=R(A,b)。
⑤n元齐次线性方程组
A
x
=
0
Ax=0
Ax=0 有非零解 的充分必要条件是
R
(
A
)
<
n
R(A)<n
R(A)<n。
以上定理不仅适用于n元线性方程组,对矩阵方程 A X = B AX=B AX=B求解矩阵 X X X也是同理。
定理
若
A
B
=
C
AB=C
AB=C(A、B、C都是矩阵),则R
(
C
)
≤
m
i
n
{
R
(
A
)
,
R
(
B
)
}
(C)≤min\{R(A),R(B)\}
(C)≤min{R(A),R(B)}
python
实现求解矩阵秩,及求解线性方程代码如下:
import numpy as np
# 先准备两个数组
x1 = np.array([[3, 1, 0], [-1, 2, 1], [3, 4, 2]])
x2 = np.array([0, 2, 3])
# 数组转化为矩阵A,b
A = np.mat(x1)
b = np.mat(x2)
# 线性方程组AX = b。将Ab拼接为增广矩阵B=(A,b) (b要先转置)
B = np.hstack((A, b.T))
print('增广矩阵:')
print(B)
print("======================求秩=======================")
print("A的秩为:{}".format(np.linalg.matrix_rank(A)))
print("b的秩为:{}".format(np.linalg.matrix_rank(b)))
print("B的秩为:{}".format(np.linalg.matrix_rank(B)))
# # 求解方程
print("=====================求解方程====================")
x = np.linalg.solve(A, b.T)
print("x={}".format(x))
程序输出结果如下:
本次分享就到这里,小啾感谢您的关注与支持!
🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ