矩阵的初等变换与线性方程组【线性代数系列(三)】

矩阵的初等变换与线性方程组【线性代数系列(三)】

文章目录

  • 1.矩阵的初等变换
    • 1.1 初等变换
    • 1.2 等价关系
    • 1.3 初等变换 矩阵类型
      • 1.3.1行阶梯矩阵
      • 1.3.2 行最简型矩阵
      • 1.3.3 标准型
    • 1.4 初等矩阵
    • 1.5 相关定理
  • 2.矩阵的秩
    • 2.1 k阶子式
    • 2.2 相关概念与定理
  • 3.线性方程组的解
  • 4. python矩阵求秩 & 求解线性方程

꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ
矩阵的初等变换与线性方程组【线性代数系列(三)】_第1张图片
꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ


1.矩阵的初等变换


1.1 初等变换

矩阵的初等变换可以分为初等行变换初等列变换

具体有三种变换方式:
   ①对换两行(列)
   ②第i行(列)的所有元乘以常数k(k≠0)
   ③把某一行(列)所有元的k倍加到令一行(列)的对应元上去。( r i + k r j r_i+kr_j ri+krj


1.2 等价关系

如果矩阵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.3 初等变换 矩阵类型


1.3.1行阶梯矩阵

对非零矩阵,若满足
①非零行在零行的上边
②对任意非零行(如果存在上一行),非零行的首个非零元在 该非零行上一行的首个非零元 的右边。

这样的矩阵则称为行阶梯矩阵


1.3.2 行最简型矩阵

对 行阶梯矩阵,

如果还满足非零行的首非零元为1,且首非零元所在列的其他元都为0,则称该矩阵为行最简型矩阵。


1.3.3 标准型

对 行最简型矩阵,
再施以初等变换,可以变成一种形状更简单的矩阵,称为标准型
标准型矩阵可以用字母 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


1.4 初等矩阵

由单位矩阵经过一次初等变换得到的矩阵,称为初等矩阵。

三种初等变换对应有三种初等矩阵。

初等矩阵都是可逆的。


1.5 相关定理

设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行等价。


2.矩阵的秩


2.1 k阶子式

在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)


2.2 相关概念与定理

①可逆矩阵的秩等于矩阵的阶数,不可逆矩阵的秩小于矩阵的阶数,
所以可逆矩阵又称为 满秩矩阵,不可逆矩阵又称为 降秩矩阵

②等价矩阵的秩相等。(若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


3.线性方程组的解

对有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)<n
有解 的充分必要条件是 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)}


4. python矩阵求秩 & 求解线性方程

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))

程序输出结果如下:
         矩阵的初等变换与线性方程组【线性代数系列(三)】_第2张图片


本次分享就到这里,小啾感谢您的关注与支持!
꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ

你可能感兴趣的:(线性代数,线性代数,矩阵,机器学习,python)