Sei sulla pagina 1di 18

Universidad Santa María

Facultad de Ingeniería
Programación II
Profesor: Francisco Fuentes

Inversa de una matriz

Julio, 2015
CONTENIDO

 Definición

 Requisitos
 Métodos para calcularla
Definición

Sea una matriz A de rango nxn, existirá una matriz


inversa para la matriz A, denotada aquí como AI, si y solo
si, se cumple:
A* AI = I o
AI* A = I
donde
  I: es la matriz identidad
Requisitos para calcular la matriz inversa

a.- La Matriz ingresada debe ser cuadrada


b.- La Matriz ingresada debe ser NO SINGULAR
Métodos para calcular la matriz inversa

a.- Por determinantes y adjuntos


b.- Por Gauss
Método de Gauss para calcular la Matriz Inversa
Este método se basa en el conocimiento de las
propiedades de las matrices y a una efectiva
manipulación de sus filas y columnas.
Definiciones:
a.- Elemento Pivote: aquel elemento de una fila o
columna de una matriz que servirá para eliminar su
homologo en otra fila o columna de la misma.
b.- Fila Pivote: Aquella fila que contiene al elemento
pivote
c.- Columna Pivote: Aquella columna que contiene al
elemento pivote
Método de Gauss para calcular la Matriz Inversa
Pasos del Método:
a.- Debemos generar la matriz extendida R, la
cual la formaremos al colocar del lado izquierdo
a la matriz ingresada por el usuario y del lado
derecho la matriz identidad del mismo rango que
la anterior, es decir, R será una matriz de rango
nx2n, donde n es numero de filas y columnas de
la matriz a la cual se le calculará su inversa.
b.- Se deben reconocer todos los elementos de
la diagonal principal como elementos pivotes.
Método de Gauss para calcular la Matriz Inversa
Pasos del Método:
c.- Comenzando por la fila # 1. Dividimos toda
la fila por el elemento pivote de turno. De esta
manera, obtendremos la fila pivote que nos
servirá para eliminar los otros elementos de la
misma columna. Este procedimiento se debe
repetir para el resto de las filas.
d.- Detendremos el proceso cuando
obtengamos una matriz R que tenga del lado
izquierdo a la matriz identidad y del lado derecho
nos quedará la matriz inversa buscada.
Método de Gauss para calcular la Matriz Inversa
Por ejemplo, si partimos de una matriz A de rango 3 por 3:

Matriz A Matriz Identidad


a11 a12 a13 1 0 0 
R = a21 a22 a23 0 1 0
  a31 a32 a33 0 0 1

Después de aplicar este método hasta el final, obtendremos:

Matriz Identidad Matriz Inversa


1 0 0 r14 r15 r16 
R = 0 1 0 r24 r25 r26
  0 0 1 r34 r35 r36 
Ejemplo:
Dada la matriz A, hallar su inversa.
2 3 -7
A= 3 4 -6
5 -2 4  
El determinante de A es igual a 64, es decir, es diferente de cero,
lo que nos indica de manera categórica que si tiene una matriz
inversa.
Pasos.
a.- Obtenemos la matriz R inicial
Matriz A Matriz Identidad
2 3 -7 1 0 0
  R = 3 4 -6 0 1 0
  5 -2 4 0 0 1
Ejemplo:
b.- Los elementos pivotes serán r11, r22 y r33. Comenzamos
dividiendo la fila numero 1 por r11, es decir, por 2. Lo que nos
resulta como:
1 3/2 -7/2 1/2 0 0
 R = 3 4 -6 0 1 0
  5 -2 4 0 0 1
Ahora, debemos colocar en cero los otros elementos de la columna
donde se encuentra el actual elemento pivote. Entonces,
multiplicaremos a la fila numero 1 por 3 (elemento r21) y la fila que
se obtiene la restaremos de la fila 2 actual, es decir:
Fila 2 actual = 3 4 -6 0 1 0

3 * 1 3/2 -7/2 1/2 0 0 = 3 9/2 -21/2 3/2 0 0


Fila 2 obtenida al hacer la resta = 0 -1/2 9/2 -3/2 1 0
Ejemplo:
Entonces, R nos quedará:
1 3/2 -7/2 1/2 0 0
R = 0 -1/2 9/2 -3/2 1 0
5 -2 4 0 0 1   
Multiplicaremos a la fila numero 1 por 5 (elemento r31) y la fila que
se obtiene la restaremos de la fila 3 actual, es decir:
  Fila 3 actual = 5 -2 4 0 0 1

5* 1 3/2 -7/2 1/2 0 0 = 5 15/2 -35/2 5/2 0 0


Fila 3 obtenida al hacer la resta = 0 -19/2 43/2 -5/2 0 1
Entonces, R nos quedará como:
1 3/2 -7/2 1/2 0 0
  R = 0 -1/2 9/2 -3/2 1 0
  0 -19/2 43/2 -5/2 0 1
Ejemplo:
Con lo cual habremos completado el procedimiento para la
primera columna. Ahora debemos repetir el proceso para las
columnas 2 y 3. Para la columna 2 el elemento pivote será r22 y
para la 3 el elemento pivote será r33.
Al final de todo el procedimiento, nos queda:
1 0 0 1/16 1/32 5/32
 R = 0 1 0 21/32 -43/64 9/64
0 0 1 -52/128 38/128 -2/128 

de donde tenemos que la matriz inversa queda como:


1/16 1/32 5/32
AI = 21/32 -43/64 9/64
-52/128 38/128 -2/128
Se puede comprobar que A*AI = I , al igual que AI*A = I
Esquema de uso de procedimientos

Proced. Proced.
Matriz A Matriz Aext Matriz AI
Extender Gauss
Matriz
Procedimiento Extendermatriz - ejemplo 3x3
void extendermatriz(double w[ ][4], double r[ ][7])
{
int i,j; for (i=1;i<=3;i++)

for (i=1;i<=3;i++) {
{ for (j=4;j<=6;j++)
for (j=1;j<=3;j++) {
{ if (i+3 == j)
r[ i ][ j ] = w[ i ][ j ] ; { r[ i ] [ j ] = 1; }
} else
} { r[ i ] [,j] = 0; }
}
}
Procedimiento Gauss - ejemplo 3x3
void gauss(double r[ ][7], double ain[ ][4])
{ for (i= 1;i<=3;i++)
int m,i,j; {
double g, q; if ( i != m )
for (m=1;m<=3;m++) {
{ q = r[i ][ m] ;
g = r[m ][m] ; for (j=1;j<=6;j++)
if (g !=0) {
{ r[i ][ j] = r[ i][ j] -r[ m][ j]*q ;
for (j=1;j<=6;j++) }
{ }
r[m][ j] = r[m][j] / g; }
} } /* if (g!=0) */
} /* for m */
Procedimiento Gauss - ejemplo 3x3
( Continuación )

for (i=1;i<=3;i++)
{
for (j=4;j<=6;j++)
{
ain[ i ][ j-3] =r[i ][ j ] ;
}
}
}
Ejemplo 17 (Ej. 26 de la guia de la Unidad III)

Escriba un programa turbo c++ en cual se ingresen 3


matrices A, B, C de rango 3x3 y luego calcule y muestre
sus respectivas inversas siempre que se puedan.
La Salida debe ser
A AI
B BI
C CI

Utilice procedimientos y funciones definidas por el


usuario

Potrebbero piacerti anche