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


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


    🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ
    请添加图片描述
    🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ


    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=[ErOOO]

    [ErOOO]
    _{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= [1000001000001000000000000]

    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))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    程序输出结果如下:
             在这里插入图片描述


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

  • 相关阅读:
    lua数据打印
    在Go中创建自定义错误
    VLAN多变一的业务场景解答
    基于TCAD与紧凑模型结合方法探究陷阱对AlGaN/GaN HEMTs功率附加效率及线性度的影响
    数据库周期表整体设计方案
    Hadoop(一)Hadoop核心架构与安装
    HIVE消费者画像
    电机与拖动 - 7 直流电机
    【Docker】简单搭建Portainer
    安装IntelliJ IDEA
  • 原文地址:https://blog.csdn.net/weixin_48964486/article/details/126463310