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 '数组 a: print a ainv = np.linalg.inv(a) print 'a 的逆:' print ainv print '矩阵 B 为:' b = np.array([[6],[-4],[27]]) print b print '计算 A-1B:' x = np.linalg.solve(a,b) print x # 这是线性方程组的解:x = 5, y = 3, z = -2
输出结果为:-
数组 a: [[ 1 1 1] [ 0 2 5] [ 2 5 -1]] a 的逆: [[ 1.28571429 -0.28571429 -0.14285714] [-0.47619048 0.14285714 0.23809524] [ 0.19047619 0.14285714 -0.0952381 ]] 矩阵 B 为: [[ 6] [-4] [27]] 计算 A-1B: [[ 5.] [ 3.] [-2.]]
使用函数 − 可得到相同结果
x = np.dot(ainv,b)