numpy.linalg.inv ()
Nós usamos numpy.linalg.inv()função para calcular o inverso de uma matriz. O inverso de uma matriz é tal que se ela for multiplicada pela matriz original, resulta na matriz identidade.
Exemplo
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)
Ele deve produzir a seguinte saída -
[[1 2]
[3 4]]
[[-2. 1. ]
[ 1.5 -0.5]]
[[ 1.00000000e+00 1.11022302e-16]
[ 0.00000000e+00 1.00000000e+00]]
Exemplo
Vamos agora criar uma inversa da matriz A em nosso exemplo.
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
Ele produzirá a seguinte saída -
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.]]
O mesmo resultado pode ser obtido usando a função -
x = np.dot(ainv,b)