Python之线性代数(初等变换,秩,线性方程组,特征向量,相似矩阵)

本文深入探讨了矩阵运算的基础知识,包括矩阵的秩、逆、行列式及特征值的计算。通过具体的Python代码示例,展示了如何使用NumPy库进行矩阵的初等变换、求逆、计算行列式和特征值分解,为理解线性代数提供了实用的指南。

 

初等变换

 

a = np.array([[1,2,3],
              [2,3,-5],
              [4,7,1]])
b = np.array([[3,2,0,5,0],[3,-2,3,6,-1],[2,0,1,5,-3],[1,6,-4,-1,4]])
#计算秩
r1 = np.linalg.matrix_rank(a)
r2 = np.linalg.matrix_rank(b)
print(r1)
print(r2)
2
3
​
a = np.array([[3,-2,0,-1],[0,2,2,1],[1,-2,-3,-2],[0,1,2,1]])
print(np.linalg.inv(a))
print(np.linalg.det(a))
print(np.linalg.matrix_rank(a))
[[  1.   1.  -2.  -4.]
 [  0.   1.   0.  -1.]
 [ -1.  -1.   3.   6.]
 [  2.   1.  -6. -10.]]
1.0000000000000004
4

​
a = np.array([[3,-2,0,-1],[0,2,2,1],[1,-2,-3,-2],[0,1,2,1]])
print(np.linalg.inv(a))
print(np.linalg.det(a))
print(np.linalg.matrix_rank(a))
[[  1.   1.  -2.  -4.]
 [  0.   1.   0.  -1.]
 [ -1.  -1.   3.   6.]
 [  2.   1.  -6. -10.]]
1.0000000000000004
4

a = np.array([[-1,1,0],[-4,3,0],[1,0,2]])
print(np.linalg.eigvals(a))
print(np.linalg.eig(a))
[2. 1. 1.]
(array([2., 1., 1.]), array([[ 0.        ,  0.40824829,  0.40824829],
       [ 0.        ,  0.81649658,  0.81649658],
       [ 1.        , -0.40824829, -0.40824829]]))


a = np.array([[-2,1,1],[0,2,0],[-4,1,3]])
print(np.linalg.eigvals(a))
#对角化
np.diag(np.linalg.eigvals(a))

​

​
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值