zildjian
 
#1 2 may 09, 17:19
#1 2 may 09, 17:19

Algoritmo para hallar inversa de una matriz

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
 
LOc0
 
#2 2 may 09, 18:43
#2 2 may 09, 18:43


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
 
HoTiTo
 
#3 2 may 09, 21:04
#3 2 may 09, 21:04
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
 
#4 2 may 09, 21:43
#4 2 may 09, 21:43
#3 De hecho, es para Análisis Numérico... xDDD También en la UPF?
 
HoTiTo
 
HoTiTo
 
#5 3 may 09, 00:04
#5 3 may 09, 00:04
Nono, ULPGC. Pero vamos, es una asignatura obligatoria, así que todos la tendrán xD
 
CaRaNaVo
 
#6 11 may 09, 22:34
#6 11 may 09, 22:34
hjajajaj #4 vas un poco tarde no? Estamos por la practica 5 ya y eso es de la 1 kreo recordar
 
Dod-Evers
 
#7 12 may 09, 19:11
#7 12 may 09, 19:11
En matlab:

inv(A).

Isi and fast.
Favoritos
0


¿Dónde me quedé leyendo este hilo?

Regístrate y podrás saber cual es el último mensaje que leiste en cada hilo. Es el mejor invento desde el pan sin rebanar!.

Regístrate ahora! Sólo son 10 segundos!
x