ALGEBRA LINEAL

Inversión de matrices

Inverse [m]
Encuentra la inversa de la matiz cuadrada.

Ejemplos:

Clear["Global`*"]

Definimos una matriz de dos por dos:

m={{a,b}, {c,d}}

MatrixForm[%]

Esto da la inversa de m. Al generar esta fórmula, Wolfram Language asume implícitamente que el determinante a d - b c es distinto de cero:

Inverse[m]

Si multiplicamos la inversa por la matriz original debe darnos la matriz identidad:

%.m

Para verlo mejor:

MatrixForm[%]

Debes utilizar Together para limpiar los denominadores y obtener una matriz identidad estándar:

Together[%]

Definamos una matriz de números racionales:

hb=Table[1/(i+j),{i,4},{j,4}]

MatrixForm[hb]

La inversa de esta matriz:

MatrixForm[Inverse[hb]]

Multiplicando la inversa por la matriz original tenemos la matriz identidad:

%.hb

MatrixForm[%]

Si intenta invertir una matriz singular, Wolfram Language imprime un mensaje de advertencia y devuelve la entrada sin cambios:

Una matriz singular es una matriz cuadrada cuyo determinante es igual a cero.

Inverse[{{1,2},{1,2}}]

Si se proporciona una matriz con entradas simbólicas o numéricas exactas, Wolfram Language proporciona la inversa exacta. Si, por otro lado, algunas de las entradas de la matriz son números reales aproximados, Wolfram Language encuentra un resultado numérico aproximado.

Una matriz conteniendo números reales aproximados:

n={{1.2,5.7},{1.3,5.6}}

MatrixForm[%]

Su inversa:

Inverse[%]

MatrixForm[%]

Al multiplicar por la matriz original se obtiene una matriz identidad con pequeños errores de redondeo:

%.n

MatrixForm[%]

Puedes deshacerte de pequeños términos fuera de la diagonal usando Chop:

MatrixForm[Chop[%]]

Al intentar invertir una matriz con valores numéricos exactos, Wolfram Language siempre puede determinar si la matriz es singular. Al invertir una matriz numérica aproximada, Wolfram Language generalmente no puede determinar con certeza si la matriz es singular: solo puede determinar, por ejemplo, que el determinante es pequeño en comparación con los valores de la matriz. Cuando Wolfram Language sospecha que se está intentando invertir una matriz numérica singular, muestra una advertencia.

Wolfram Language imprime una advertencia si invierte una matriz numérica que sospecha que es singular:

Inverse[{{1.,2.},{1.,2.}}]

Esta matriz es singular, pero la advertencia es diferente y el resultado es inútil:

Inverse[N[{{1,2,3},{4,5,6},{7,8,9}}]]

Si trabaja con números aproximados de alta precisión, Wolfram Language realizará un seguimiento de la precisión de las inversas de matrices que genere.

Esto genera una matriz numérica de 6 por 6 con entradas de precisión de 20 dígitos:

p=N[Table[GCD[i,j]+1,{i,6},{j,6}],20];

Esto toma la matriz, la multiplica por su inversa y muestra la primera fila del resultado:

(p.Inverse[p])[[1]]

Esto genera una aproximación numérica de 20 dígitos a una matriz de Hilbert de 6 por 6. Las matrices de Hilbert son notoriamente difíciles de invertir numéricamente:

q=N[Table[1/(i+j-1),{i,6},{j,6}],20];

El resultado sigue siendo correcto, pero los ceros ahora tienen menor precisión:

(q.Inverse[q])[[1]]

La función inversa solo funciona con matrices cuadradas. En “Operaciones Matriciales Avanzadas” se describe la función PseudoInversa, que también puede utilizarse con matrices no cuadradas.