一、奇异矩阵(Singular Matrix)
1.判断方法
Step1:看这个矩阵是不是方阵(若不是方阵,即行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵)。
Step2:如是方阵,再看此矩阵的行列式|A|是否等于0,若等于0,称矩阵A为奇异矩阵;若不等于0,称矩阵A为非奇异矩阵。
另,由|A|≠0可知矩阵A可逆,这样可以得出另外一个重要结论:可逆矩阵就是非奇异矩阵,非奇异矩阵也是可逆矩阵。
使用NumPy库来判断矩阵是否为奇异矩阵:首先,它创建了一个nxn的矩阵,然后计算了这个矩阵的行列式(determinant)。行列式为0表示该矩阵是奇异的(singular),不为0表示矩阵不是奇异的(nonsingular)。最后根据计算得到的行列式值输出相应的结果:如果矩阵的行列式为0,则打印出"矩阵是奇异的";如果行列式不为0,则打印出"矩阵不是奇异的"。示例代码如下:
import numpy as np
# 创建一个 3x3 的矩阵
matrix = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
# 计算矩阵的行列式
det = np.linalg.det(matrix)
if det == 0:
print("It is singular!")
else:
print("It is nonsingular!")
2.特点
一个方阵非奇异当且仅当它的行列式不为零。
一个方阵非奇异当且仅当它代表的线性变换是个自同构。
一个矩阵半正定当且仅当它的每个特征值大于或等于零。
一个矩阵正定当且仅当它的每个特征值都大于零。
3.应用
(1)求矩阵的秩
如果A(n×n)为奇异矩阵(singular matrix)<=> A的秩Rank(A)<n.
如果A(n×n)为非奇异矩阵(nonsingular matrix)<=> A满秩,Rank(A)=n.
(2)判断方程(组)解的存在性
如果A为奇异矩阵,则AX=0有无穷解,AX=b有无穷解或者无解。
如果A为非奇异矩阵,则AX=0有且只有唯一零解,AX=b有唯一解。
【数学与算法】奇异矩阵、奇异值、奇异值分解、奇异性-CSDN博客https://blog.csdn.net/u011754972/article/details/122100701特征值和奇异值 - 简书 (jianshu.com)
https://www.jianshu.com/p/96572985c8ab