利用python求行列式、矩阵的秩和逆

1.求行列式的值

import numpy as np
'''
计算
| 2  1  2 1|
| 3  0  1 1|
| -1 2 -2 1|
| -3 2  3 1|
的行列式的值
'''
arr = np.array([[2, 1, 2, 1],
                [3, 0, 1, 1],
                [-1, 2, -2, 1],
                [-3, 2, 3, 1]])

print(np.linalg.det(arr))    #det求行列式的值

[out]
19.999999999999996

2.矩阵的秩、行列式、迹,特征值和特征向量

import numpy as np
a = np.array([[1,1,1],
             [1,1,10],
             [1,1,15]])
print(np.linalg.matrix_rank(a))     #返回矩阵的秩
print(np.linalg.det(a))         #返回矩阵的行列式
print(a.diagonal())           #返回矩阵的对角线元素,也可以通过offset参数在主角线的上下偏移,
                               #  获取偏移后的对角线元素。a.diagonal(offset=1)返回array([1.10])
print(a.trace())              #返回迹
eigenvalues ,eigenvectors= np.linalg.eig(a) #eigenvalues 为特征值。eigenvectors为特征向量
print(eigenvalues)

[out]
2
0.0
[ 1  1 15]
17
[1.57972598e+01 1.20274024e+00 4.17207245e-17]

3.逆矩阵

import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.linalg.inv(A)     #矩阵的逆
print(B)
print(np.dot(B, A))      #矩阵和逆矩阵的乘积

[out]
[[-2.   1. ]
 [ 1.5 -0.5]]
[[1.0000000e+00 0.0000000e+00]
 [8.8817842e-16 1.0000000e+00]]

4.全部代码

# 1.求行列式的值
import numpy as np
'''
计算
| 2  1  2 1|
| 3  0  1 1|
| -1 2 -2 1|
| -3 2  3 1|
的行列式的值
'''
arr = np.array([[2, 1, 2, 1],
                [3, 0, 1, 1],
                [-1, 2, -2, 1],
                [-3, 2, 3, 1]])

print(np.linalg.det(arr))

# 2.python计算矩阵的秩、行列式、迹,特征值和特征向量
import numpy as np
a = np.array([[1,1,1],
             [1,1,10],
             [1,1,15]])
print(np.linalg.matrix_rank(a))     #返回矩阵的秩
print(np.linalg.det(a))         #返回矩阵的行列式
print(a.diagonal())           
     #  返回矩阵的对角线元素,也可以通过offset参数在主角线的上下偏移,获取偏移后的对角线元素。
     #  a.diagonal(offset=1)返回array([1.10])
print(a.trace())              #返回迹
eigenvalues ,eigenvectors= np.linalg.eig(a) #eigenvalues 为特征值。eigenvectors为特征向量
print(eigenvalues)

# 3.逆矩阵
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.linalg.inv(A)     #矩阵的逆
print(B)
print(np.dot(B, A))      #矩阵和逆矩阵的乘积

5.注:

相关线性代数知识,自行百度!!!

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