La matriz inversa en Octave

En esta lección, quiero compartir contigo cómo calcular la matriz inversa, ya sea de una matriz cuadrada o rectangular, utilizando Octave.

Primero, ¿qué es la matriz inversa? Piensa en una matriz M. Si existe una matriz inversa M-1 tal que al multiplicar ambas obtenemos una matriz identidad, decimos que M es invertible. La matriz identidad, por cierto, es una matriz con 1s en su diagonal principal y 0s en todos los demás lugares. Es algo así: $$ M \cdot M^{-1} = I $$

Pero vamos a la acción, veamos un ejemplo práctico.

Comienza definiendo una matriz cuadrada 2x2, así:

>> M=[1 2;3 4]
M =
1 2
3 4

Para calcular la matriz inversa de M, utiliza la función inv()

>> inv(M)
ans =
-2.00000 1.00000
1.50000 -0.50000

¿Ahora qué tal si multiplicamos la matriz M con su recién descubierta inversa inv(M)?

Obtendrás una matriz identidad.

>> M*inv(M)
ans =
1.00000 0.00000
0.00000 1.00000

Mira, eso sí, la función inv() sólo funciona si la matriz M es cuadrada.

Pequeño detalle a recordar. No todas las matrices cuadradas tienen la suerte de ser invertibles. Por ejemplo, aquellas matrices cuadradas con determinante nulo (las llamamos matrices singulares) no tienen una matriz inversa. Octave, en estos casos, te dirá con un mensaje de advertencia "Matrix is singular to working precision". Para mantenernos a salvo de errores, siempre sugiero que verifiques que el producto M * inv (M) sea una matriz identidad.

¿Y si necesitas calcular la matriz inversa en matrices rectangulares?

Bueno, en Octave puedes hacerlo también.

En este caso, sin embargo, debes acudir a la función pseudo inversa pinv().

Por ejemplo, imagina que tienes una matriz rectangular 2x3 con dos filas y tres columnas.

>> M2=[1 2 3 ; 4 5 6]
M2 =
1 2 3
4 5 6

Ahora calcula la matriz inversa de la matriz rectangular con la función pinv()

>> pinv(M2)
ans =
-0.94444 0.44444
-0.11111 0.11111
0.72222 -0.22222

Si multiplicas la matriz rectangular M2 por su inversa (M2), el resultado es, de nuevo, una matriz identidad.

>> M2*pinv(M2)
ans =
1.00000 -0.00000
0.00000 1.00000

Así es cómo puedes descubrir matrices inversas, incluso en matrices rectangulares.

Nota al pie. Recuerda que también puedes usar la función pinv() para calcular la matriz inversa de una matriz cuadrada en lugar de la función inv(). El resultado será siempre el mismo. Pero no puedes usar la función inv() en matrices rectangulares.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Arreglos en Octave

Matrices en Octave

Preguntas frecuentes

Struct y array de celdas