numpy.linalg.inv ()
Usamos numpy.linalg.inv()función para calcular la inversa de una matriz. La inversa de una matriz es tal que si se multiplica por la matriz original, da como resultado una matriz de identidad.
Ejemplo
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)
Debería producir el siguiente resultado:
[[1 2]
[3 4]]
[[-2. 1. ]
[ 1.5 -0.5]]
[[ 1.00000000e+00 1.11022302e-16]
[ 0.00000000e+00 1.00000000e+00]]
Ejemplo
Creemos ahora una inversa de la matriz A en nuestro ejemplo.
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
Producirá la siguiente salida:
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.]]
El mismo resultado se puede obtener usando la función -
x = np.dot(ainv,b)