线性代数
numpy.linalg模块包含线性代数的函数, 可以求逆矩阵,求特征值,解线性方程组及求行列式
计算逆矩阵
Key_Function
np.linalg.inv函数, 求出给定矩阵的逆矩阵
np.mat函数, 创建矩阵
Code
import numpy as np
A = np.mat("0 1 2; 1 0 3; 4 -3 8")
print(A)
'''
[[ 0 1 2]
[ 1 0 3]
[ 4 -3 8]]
'''
inverse = np.linalg.inv(A)
print(inverse)
'''
[[-4.5 7. -1.5]
[-2. 4. -1. ]
[ 1.5 -2. 0.5]]
'''
print(A * inverse)
'''
[[ 1. 0. 0.]
[ 0. 1. 0.]
[ 0. 0. 1.]]
'''
求解线性方程组
矩阵可以对向量进行线性变换
Key_Function
np.linalg.solve函数, 求解形如Ax=b的线性方程组, 其中A为矩阵, b为一维或二维的数组, x是未知变量
np.dot函数, 计算两个数组的点积, 即内积
Code
import numpy as np
A = np.mat("1 -2 1; 0 2 -8; -4 5 9")
print(A)
'''
[[ 1 -2 1]
[ 0 2 -8]
[-4 5 9]]
'''
b = np.array([0, 8, -9])
print(b)
'''
[ 0 8 -9]
'''
x = np.linalg.solve(A, b)
print(x)
# [ 29. 16. 3.]
print(np.dot(A, x))
# [[ 0. 8. -9.]]