NumPy 线性代数 numpy.linalg.inv()
我们使用 numpy.linalg.inv() 函数来计算矩阵的逆。矩阵的逆是这样的,如果它与原矩阵相乘,结果就是单位矩阵。
示例
import numpy as np
x = np.array([[1,2],[3,4]])
y = np.linalg.inv(x)
print x
print y
print np.dot(x,y)
应该产生以下输出-
[[1 2]
[3 4]]
[[-2. 1. ]
[ 1.5 -0.5]]
[[ 1.00000000e+00 1.11022302e-16]
[ 0.00000000e+00 1.00000000e+00]]
示例
现在让我们在例子中创建矩阵A的逆矩阵。
import numpy as np
a = np.array([[1,1,1],[0,2,5],[2,5,-1]])
print 'Array a:”
print a
ainv = np.linalg.inv(a)
print 'Inverse of a:'
print ainv
print 'Matrix B is:'
b = np.array([[6],[-4],[27]])
print b
print 'Compute A-1B:'
x = np.linalg.solve(a,b)
print x
# this is the solution to linear equations x = 5, y = 3, z = -2
它将产生以下输出−
Array a:
[[ 1 1 1]
[ 0 2 5]
[ 2 5 -1]]
Inverse of a:
[[ 1.28571429 -0.28571429 -0.14285714]
[-0.47619048 0.14285714 0.23809524]
[ 0.19047619 0.14285714 -0.0952381 ]]
Matrix B is:
[[ 6]
[-4]
[27]]
Compute A-1B:
[[ 5.]
[ 3.]
[-2.]]
使用函数可以得到相同的结果−
x = np.dot(ainv,b)