Informe 6
-
Upload
daniel-arias -
Category
Documents
-
view
6 -
download
1
description
Transcript of Informe 6
Daniel Camilo Arias Melo
201316121
Informe 6. Inversa de una matriz por reducción Gaussiana.
Resumen
En este informe se encuentra el trabajo realizado para el informe 6 del curso Computación
Científica de la Universidad de los Andes. El informe resume la realización de métodos
iterativos para la obtención de la inversa de una matriz. En el proceso se modificaron los
algoritmos de eliminación gaussiana con pivote y sin pivote para que al reducir la matriz
lograra calcular la matriz inversa.
Introducción
La matriz inversa de una matriz A es aquella que al multiplicarla por A dé como resultado la
matriz identidad I, por lo tanto se cumple que,
𝐴 ∙ 𝐵 = 𝐵 ∙ 𝐴 = 𝐼
𝐵 se denota como 𝐴−1 y se define como la inversa de A. [1]
Una aplicación del método gaussiano es la obtención de una matriz inversa a partir de la
matriz original y la matriz identidad. Para esto se procede a ubicar la matriz A y la matriz
identidad I dentro de una nueva matriz, es decir, se aumenta la matriz A con I,
[𝐴|𝐼]
Utilizando el método Gauss y mediante las transformaciones elementales de las filas de una
matriz, se procede a convertir la matriz anterior en otra que tenga en las n primeras columnas
la matriz identidad y en las n últimas otra matriz que precisamente será 𝐴−1. Las
transformaciones elementales se resumen en las siguientes: substituir una fila o columna de la
matriz por ella misma multiplicada (o dividida) por un número, substituir una fila o columna de
la matriz por una combinación lineal de filas o columnas de la matriz (si es fila, filas, y si es
columna, columnas), e intercambiar filas o columnas. [2]
[𝐴|𝐼] → 𝐺𝑎𝑢𝑠𝑠 → [𝐼|𝐴−1]
En los objetivos de este informe de laboratorio se debe analizar como a partir de un método
iterativo es posible obtener una variante de una matriz, entender cada paso que se requiera
en los algoritmos para poder completar la resolución de la matriz inversa y poner en práctica
dichos algoritmos de eliminación Gaussiana para encontrar la matriz inversa de un sistema
invertible.
Procedimiento
Para poder completar los objetivos se procedió a la utilización de los algoritmos correspondientes
a la reducción gaussiana con pivoteo parcial y la reducción gaussiana sin pivoteo.
El primer método escogido fue el de la reducción gaussiana con pivoteo parcial el cual fue
modificado de la siguiente manera:
Se procedió a ingresar como parámetro una matriz A n x n, luego hallamos la dimensión de
la matriz A y se creó la matriz identidad dentro del algoritmo. Se creó una nueva matriz
aumentada AU la cual en el lado izquierdo se coloca la matriz A y en el lado derecho la
matriz identidad tal como se especifica en la sección de Introducción y finalmente se
procedió a hallar la dimensión de la matriz aumentada creada.
Se creó un ciclo para poder hacer las transformaciones elementales dentro de la matriz
aumentada AU, para ello primeramente se procedió a hallar el pivote de dicha matriz y se
colocó en la diagonal del lado izquierdo de esta matriz. Luego se crearon dos ciclos los
cuales proporcionaban los cálculos para lograr reducir el lado izquierdo de la matriz AU,
además los cambios realizados en la parte izquierda los sufre también la parte derecha,
cambiado así la matriz identidad. En proceso termina cuando en la parte derecha de la
matriz AU queda una matriz diagonal. Finalmente se procede a dividir el elemento
diagonal de la fila sobre toda la fila en la que se encuentra el elemento y se divide la matriz
AU en 2 matrices en donde H expresa la inversa de la matriz ingresada y G la matriz
identidad. En la Figura 1 se muestra el algoritmo implementado.
Figura 1. Algoritmo de reducción gaussiana con pivote para obtener la inversa de la matriz A
El segundo método escogido fue el de la reducción gaussiana sin pivoteo el cual fue modificado de
la siguiente manera:
De manera similar al primer método explicado anteriormente se creó una nueva matriz
aumentada AU la cual en el lado izquierdo se coloca la matriz A y en el lado derecho la
matriz identidad y finalmente se procedió a hallar la dimensión de la matriz aumentada
creada.
En este algoritmo la matriz AU se redujo primero hacia abajo, es decir eliminar los
elementos debajo de la diagonal, y luego se procedió a hacer la reducción hacia arriba,
eliminar los elementos arriba de la diagonal. Estos procesos se realizaron sobre la parte
derecha de la matriz aumentada AU y los cambios repercuten sobre el lado izquierdo de la
matriz hasta conseguir que en la parte derecha de la matriz AU quede una matriz diagonal.
Finalmente se procede a dividir el elemento diagonal de la fila sobre toda la fila en la que
se encuentra el elemento y se divide la matriz AU en 2 matrices en donde H expresa la
inversa de la matriz ingresada y G la matriz identidad. En la Figura 2 se puede observar el
algoritmo implementado.
Figura 2. Algoritmo de reducción gaussiana sin pivote para obtener la inversa de la matriz A
Resultados
Para comprobar el correcto funcionamiento de los algoritmos descritos en la sección de
procedimiento se sugirió la creación de una nueva matriz con las siguientes especificaciones,
𝐸 =1
𝑛 + 1𝐶
Donde,
𝐶 = {
i ∗ (n − i + 1), si i = jCi,j − 1 − i, si j > i
Cj,i, si j < i
Para ello se procedió a crear el algoritmo de la Figura 3. El cual cumpliera con, los requisitos
solicitados.
Figura 3. Algoritmo de la matriz E
Creada la matriz se procedió a ingresarla a los algoritmos de la Figura 1 y Figura 2 con un n=5 lo
que conllevo a los siguientes resultados.
Figura 4. Inversa de la matriz E con n=5 usando algoritmo eliminación gaussiana con pivote
Figura 5. Inversa de la matriz E con n=5 usando algoritmo eliminación gaussiana con pivote
Figura 6. Inversa de la matriz E con n=5 usando la función inv() de Matlab.
Lo que se llega a observar es que la inversa de la matriz E termina siendo una matriz tridiagonal
con la diagonal en 2 y los demás elementos en -1. Se utilizó la función inv() de Matlab que retorna
la inversa de la matriz ingresada como parámetro para comprobar el buen funcionamiento de los
algoritmos implementados, con lo cual se puede apreciar la similitud entre los 3 resultados que
dan a entender el buen funcionamiento de los algoritmos. A parte de esto se ingresaron matrices E
con n=20, 30, 50 y 70 para comprobar la robustez de los algoritmos.
Conclusiones
- La resolución del método de Gauss para hallar la inversa es un método sencillo en
términos computacionales ya que no requiere de mucho campo para el código y se
resuelve por cálculos simples, como multiplicación, suma, etc., cosa que otros métodos
iterativos para hallar matrices inversas no proporcionan.
- En el momento que una matriz A se vuelve más grande, al ingresarla a los algoritmos
planteados se pueden ver ciertas inconsistencias en los resultados como por ejemplo que
en donde debería haber un 2 aparece un 1.99999999, esto quiere decir que a medida que
la dimensión de la matriz ingresada por parámetro es muy grande el algoritmo tiende a ser
más inexacto.
Bibliografía
[1] C. Steegmann J. & A.Rodríguez. “Matriz Inversa” [Online]. Disponible en:
http://www.uoc.edu/in3/emath/docs/Matriz_Inversa.pdf
[2] N.N “Matriz Inversa por el método de Gauss-Jordan” [Online]. Disponible en:
http://dieumsnh.qfb.umich.mx/matematicas/inversa.htm.