numpy线性代数与求解线性方程

无人久伴 提交于 2019-11-28 11:42:25

线性代数

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.]]

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!