|
Inversa y determinante de una matriz con C++ en Linux
Publicado el: 05-28-2007 @ 02:23 pm
La inversa y el determinante de esta matriz simétrica 3x3: 1 2 3 2 1 4 3 4 1
se determina con un programa escrito en C++. Se utiliza una sub-rutina (invermat.h) que implementa los algoritmos para la eliminación simple de Gauss y la descomposición LU para la obtención de la inversa. Como al final de la eliminación simple de Gauss se obtiene un matriz triangular superior, este hecho también se aprovecha para el cálculo del determinante el cual se pasa por referencia al programa principal. La carpeta comprimida (*.zip) con el código fuente se encuentra en este link: http://blogel.espaciolinux.info/wp-content/archivos/zeka/INVERSA.zip Después de desempaquetar, abrimos una cónsola, nos ubicamos en la carpeta INVERSA y compilamos con: g++ invermat.c++ -o invermat Cuando ejecutamos el programa (./invermat [Enter]), la salida es: Imprime la matriz de origen
1 2 3 2 1 4 3 4 1
El determinante de la matriz anterior es = 20
Imprime la matriz inversa
-0.75 0.5 0.25 0.5 -0.4 0.1 0.25 0.1 -0.15
Para propósitos de verificación, el producto de la matriz por su inversa corresponde a la matriz indentidad y puede llevarse a cabo en una hoja de cálculo. Si el determinante de una matriz es cero no tiene inversa.

Ultima actualización el 04-01-2008 @ 08:26 am
|