矩阵的初等变换与线性方程组【线性代数系列(三)】
矩阵的初等变换可以分为初等行变换和初等列变换。
具体有三种变换方式:
①对换两行(列)
②第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=\begin{bmatrix} E_r & O\\ O & O \end{bmatrix}_{m×n} F=[ErOOO]m×n
如:
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= \begin{bmatrix} 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\\ \end{bmatrix} 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))
本次分享就到这里,小啾感谢您的关注与支持!
꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ