Algoritmo para hallar inversa de una matriz

zildjian

Pues lo dicho, necesito un algoritmo, o un pseudocódigo de él que me permita hallar la inversa de una matriz. No puedo utilizar el método Gauss-Jordan porque para ello tendría que calcular la descomposición LU de la matriz, cosa que no optimizaría para nada el programa (práctica de la uni) que estoy llevando a cabo.

Si sirve de algo, la matriz tiene una columna llena de unos, porque es para resolver un sistema sobredeterminado.

Salu2 y gracias por adelantado ^^

PD: Estoy trabajando en C

LOc0

Es decir, la inversa se calcula con la matriz de adjuntos, trasponiéndola (cambiando filas por columnas) y después, dividiendo cada elemento por el determinante de la matriz inicial (si el determinante es cero entonces la matriz inicial no es invertible).

Para calcular el determinante de la matriz inicial, y los determinantes sucesivos:

spoiler

Este método recursivo se va haciendo muy ineficiente a medida que la matriz aumenta de tamaño. (Para calcular el determinante de la matriz inicial hay que calcular N determinates de orden N-1 y para calcular la matriz de adjuntos hay que calcular NxN determinantes de orden N-1)

La otra opción (la "güena") es GAUSS-JORDAN sin necesidad de calcular LU.

Salu2 ;)

HoTiTo

Yo tuve una asignatura llamada Análisis Numérico que trataba en su mayoría de algoritmos matemáticos para hacer ese tipo de cosa. Fue bastante productiva pero también algo coñazo. Ahora mismo ya no me acuerdo, pero algunos había.

Busca por métodos numéricos.

zildjian

#3 De hecho, es para Análisis Numérico... xDDD También en la UPF?

HoTiTo

Nono, ULPGC. Pero vamos, es una asignatura obligatoria, así que todos la tendrán xD

8 días después
B

hjajajaj #4 vas un poco tarde no? Estamos por la practica 5 ya y eso es de la 1 kreo recordar

Dod-Evers

En matlab:

inv(A).

Isi and fast.

Usuarios habituales