Avila Micaela NumCondicion

13
UNIVERSIDAD DE CUENCA Facultad de Ingeniería Escuela de Ingeniería Civil “NUMERO DE CONDICION DE UNA MATRIZ” NOMBRE: Micaela Ávila L. MATERIA: Métodos Numéricos Aplicados PROFESOR: Ing. Gerardo Árbito CICLO: Quinto Ciclo I Cuenca, Octubre de 2012

Transcript of Avila Micaela NumCondicion

Page 1: Avila Micaela NumCondicion

UNIVERSIDAD DE CUENCA Facultad de Ingeniería

Escuela de Ingeniería Civil

“NUMERO DE CONDICION DE UNA MATRIZ”

NOMBRE:

Micaela Ávila L.

MATERIA:

Métodos Numéricos Aplicados

PROFESOR:

Ing. Gerardo Árbito

CICLO:

Quinto Ciclo I

Cuenca, Octubre de 2012

Page 2: Avila Micaela NumCondicion

INTRODUCCIÓN:

En ingeniería, se presentan innumerables problemas que se resuelven con un Sistema de Ecuaciones

Lineales (SEL); sin embargo, muchos de estos sistemas están mal condicionados (es decir, un pequeño

cambio en alguno de sus términos altera notoriamente la solución del problema), es por esto que

estudiaremos la el número de condición de una matriz.

SISTEMAS DE ECUACIONES MAL CONDICIONADOS:

Son aquellos problemas en lo cuales los errores crecen en una forma incontrolada (puede ser lineal, potencial

o exponencial). Condición de un sistema se explica como la sensibilidad de los resultados a pequeñas

variaciones de los datos. Si esta sensibilidad es muy grande se dan grandes dificultades aunque los datos

iniciales sean exactos ya que los errores numéricos se amplifican.

La inversa de una matriz proporciona un medio para determinar si los sistemas están mal condicionados. Los

siguientes métodos nos permiten conocer si un sistema esta mal condicionado de una manera sencilla:

1. Hallamos el determinante tanto de como de su inversa, realizamos su producto y si este es

significativamente distinto de 1 el sist. esta mal condicionado

2. Multiplicamos la inversa de por la matriz original y estimamos su resultado cercano a la matriz

identidad si no lo es, la matriz esta mal condicionada

3. Invertimos la matriz inversa de y si el resultado no está suficientemente cercano a la matriz

original, nuevamente sabemos que el sistema está mal condicionado.

Estos métodos nos ayudan a indicar si existe un mal condicionamiento, pero fuera mejor encontrar un solo

número que nos indique este problema. Este concepto se conoce como número de condición y está basado

en el concepto de norma de una matriz.

Page 3: Avila Micaela NumCondicion

Norma matricial.- El concepto de norma euclídea puede extenderse además a una matriz de la siguiente

forma

A la que se la conoce como Norma de Frobenius. De esta forma tenemos que:

Para el vector

Para una matriz

Entonces de forma general tenemos que la norma de Frobendius desarrollada es

Vale la pena recalcar que al usar todos los elementos de la matriz para calcular esta norma, la norma de

Frobendius es la más exacta.

Una norma de una matriz es un número real que mide el tamaño de una matriz y permite estudiar por ejemplo

cuando una matriz tiende a otra o a la matriz nula.

Codificación en Matlab.-

El siguiente scribd codificado en Matlab calcula la norma de Frobendius (norma euclídea) de una matriz.

Page 4: Avila Micaela NumCondicion

NÚMERO DE CONDICIÓN DE UNA MATRIZ

Conocido el concepto de norma de una matriz, ahora podemos definir el número de condición de una matriz

de la siguiente forma:

El número de condición es una medida cualitativa que indica si el sistema está mal o bien condicionado. Es

también una cota de amplificación que se puede producir por errores.

Siempre cumple que (ya que y

)

Codificación en Matlab.-

El siguiente scribd calcula el número de condición de norma-euclidea de una matriz singular

Page 5: Avila Micaela NumCondicion

Análisis 1 (MATRIZ DE HILBERT)

En el siguiente cuadro se muestran los resultados al cuantificar el numero de condición de la matriz de Hilbert

(matriz mal condicionada) que esta definida como

nxn ncond

2x2 19,33

3x3 526,1588

4x4 15614

5x5 480850

Page 6: Avila Micaela NumCondicion

6x6 15119000

7x7 481750000

8x8 15494000000

9x9 5,0173E+11

10x10 1,6332E+13

NOTA: Estos datos fueron resultado de Matlab. Si se desea se los puede comprobar con el scribd antes

mostrado.

Resultados en forma gráfica

Como podemos observar la matriz de Hilbert tiene un mal condicionamiento creciente en forma exponencial.

Análisis 2 (GEOMETRÍA)

Geométricamente, la solución de un sistema , es la intersección de dos rectas. De la siguiente

manera:

Sistema Mal Condicionado Sistema Bien Condicionado

0

2E+12

4E+12

6E+12

8E+12

1E+13

1,2E+13

1,4E+13

1,6E+13

1,8E+13

2x2 3x3 4x4 5x5 6x6 7x7 8x8 9x9 10x10

ncond matriz Hilbert

Page 7: Avila Micaela NumCondicion

Como podemos observar en un sistema mal condicionado las pendientes son muy cercanas, por lo que el

cruce de las rectas no está claramente definida. Por lo que al cambiar alguno de los coeficientes, el punto de

cruce se desplaza significativamente, y tendremos un sistema correctamente condicionado.

Análisis 3 (PRECONDICIONAMIENTO MATRICIAL)

Son usadas para disminuir el error de redondeo. Difieren en el pivote en el que ese elige y pueden ser de los

siguientes tipos:

Mediante equilibración de filas

Se basa en dividir todos los valores de las filas de una matriz para el máximo valor absoluto del elemento de

cada una de las filas; por lo tanto debemos multiplicamos a la fila por:

Ejemplo:

De cual cuyo número de condición es 71.76

Aplicando la equilibración por filas tenemos:

- Para la primera fila dividimos cada elemento para 3.6 y tenemos

- Para la segunda fila dividimos para 8 y tenemos

- Para la tercera fila el máximo valor absoluto es 5.46

Finalmente tenemos la nueva matriz

Page 8: Avila Micaela NumCondicion

De la que el número de condición es 65.05. El número de condición de esta matriz mejoro notablemente.

Mediante equilibración de columnas.

El proceso es igual al de las filas, sin embargo ahora lo hacemos con las columnas. Entonces tenemos que, a

cada columna la multiplicamos por

Ejemplo:

De cual cuyo número de condición es 71.76 como ya vimos en el ejemplo anterior, ahora aplicamos este

método y tenemos

- Para la columna 1 la dividimos para 3.6

- Para la segunda columna dividimos todos sus elementos entre 6

- La ultima columna será dividida entre 8

Tenemos finalmente la matriz

Cuyo número de condición es ahora 51.47

Page 9: Avila Micaela NumCondicion

Equilibración total

Ahora el proceso se realiza como los dos anteriores pero juntos; podemos realizar cualquiera de ellos primero

y de inmediato realizamos el siguiente.

Ejemplo:

Continuaremos con la matriz ahora dividimos cada una de las filas para su máximo valor y tenemos

- Para la fila 1 la dividimos para 0.625

- En la segunda fila no tenemos que realizar ninguna división, y para la tercera fila la dividimos entre

0.6825

Que es la matriz cuyo número de condición ahora es 47.11

Análisis 4 (REFINAMIENTO ITERATIVO)

Dado un sistema lineal resuelto por el método de eliminación Gaussiana, entonces tendrá errores de

redondeo, por lo tanto la solución dada no será exacta sino aproximada.

Podemos decir entonces que (respuesta hallada con Gauss) será solo una aproximación de entonces

. Podemos definir al vector error como de donde pero como sabemos

además que si

Entonces:

Page 10: Avila Micaela NumCondicion

Las ecuaciones 1 y 2 son el llamado mejoramiento iterativo. Dicho método consiste básicamente en mejorar la

aproximación en la k-ésima iteración a partir de las siguientes tres ecuaciones generalizadas:

Ejemplo:

El sistema lineal

Tiene la solución exacta

Con el método de eliminación gaussiana y redondeo de cuatro dígitos se obtiene:

La solución aproximada del sistema es

Si se aplica el método de refinamiento iterativo entonces , con se calcula .

Con se halla resolviendo el sistema

Page 11: Avila Micaela NumCondicion

Luego

De la misma forma ,

Si se continuara el proceso, el vector residual sería 0, el vector de error daría 0 y sería igual a .

Análisis 5 (SISTEMAS MAL CONDICIONADOS)

Sea y :

1. Resuelva el sistema y llame a su solución

2. Aumentar en 0.001 el coeficiente de y llamar a la matriz modificada

3. Resolver el sistema y llamar a su solución

4. Calcular el error relativo cometido al aproximar por

5. Calcular su numero de condicion

Solución.- Este ejercicio fue íntegramente resuelto en Matlab.

1.

2.

3.

4.

Page 12: Avila Micaela NumCondicion

5. Calculamos la norma de Frobendius y tenemos

La matriz inversa de A es

Su modulo entonces es

Con esto tenemos que

Al realizar los diferentes cálculos podemos ver que es una matriz mal condicionada pero al calcular su número

de condición lo comprobamos.

CONCLUSIONES:

- Una matriz mal condicionada puede generar grandes cambios en la respuesta de una solución de un

sistema de ecuaciones lineales. Pudimos observar en el último ejemplo que una matriz pequeña

puede generar un error de casi el 50%.

- Existen varios tipos de norma de las matrices; sin embargo, la norma euclídea o de Frobendius es la

mas exacta ya que calcula el valor tomando a todos los elementos de la matriz.

- El número de condición es un número preciso para determinar el mal condicionamiento de una

matriz, mientras más alejado sea este número del valor de 1, pero esta condicionada dicha matriz.

- El número de condición es un método efectivo para saber si una matriz esta o no bien condicionada,

sin embargo también podemos saber este con 3 métodos que se explicaron en el inicio de este

trabajo.

- La matriz de Hilbert es la peor condicionada, su mal condicionamiento crece en forma exponencial.

Pudimos ver como una de 2x2 tiene un . además obtuvimos el gráfico de su mal

condicionamiento.

- Los comandos para calcular tanto el numero de condición como la norma en Matlab son muy útiles

sin embargo también creamos un scribd con los mismos resultados (para norma-euclídea).

- Los comandos en Matlab nos permiten calcular más rápidamente el número de condición y la norma,

además nos producen menor error que al calcularlos manualmente. Cabe recalcar que este error es

mínimo (aproximadamente 0.002%)

Page 13: Avila Micaela NumCondicion

- Para resolver sistemas mal condicionados se usan técnicas de pre condicionamiento; es decir, dado

un sistema mal condicionado, se debería buscar una matriz inversible tal que

sea pequeño. Ahora, se resuelve el sistema equivalente (que está bien

condicionado) en el mejor de los casos (en este caso )

- Las técnicas más conocidas son: precondicionamiento matricial y el refinamiento iterativo.

- El precondicionamiento matricial total lo que busca es encontrar una matriz identidad mediante la

división de cada uno de sus elementos.

- El refinamiento iterativo disminuye el error de redondeo que se comete cada vez que se realizan

operaciones al resolver el sistema lineal por el método de Gauss.

FUENTES:

MÉTODOS NUMÉRICOS PARA INGENIEROS Chapra Canale

NORMAS DE MATRICES Y NÚMEROS DE CONDICION Javier García de Jalón – ETSII UPM

ANALISIS NUMÉRICO Miguel Alemán Flores, Luis Álvarez León y Javier Sánchez Pérez – Universidad de

Las Palmas