Informe 6

5
Daniel Camilo Arias Melo 201316121 [email protected] 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.

description

Muestra el algoritmo de la resolucion de Inversa de una matriz por la reducción Gaussiana a tráves de Matlab

Transcript of Informe 6

Page 1: Informe 6

Daniel Camilo Arias Melo

201316121

[email protected]

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.

Page 2: Informe 6

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

Page 3: Informe 6

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,

Page 4: Informe 6

𝐸 =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

Page 5: Informe 6

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.