You are on page 1of 62

La Universidad del Zulia Facultad de Ingeniera Divisin de Estudios para Graduados

Asignatura: Tpicos Especiales en Computacin Numrica

3. Ecuaciones algebraicas lineales


Eliminacin de Gauss Descomposicin LU e inversin de matrices Matrices especiales y mtodo de Gauss-Siedel

Prof. Luis Zerpa, M.Sc.


Email: lzerpa@ica.luz.ve

Motivacin
En el tema anterior (Races de ecuaciones) se estudiaron mtodos para determinar el valor de x que satisface a una sola ecuacin, f(x) = 0 Ahora, nos ocuparemos del caso para determinar los valores de x1, x2, xn que en forma simultnea satisfacen a un conjunto de ecuaciones algebraicas lineales

f 2 x1 , x2 ,...xn ! 0 f 3 x1 , x2 ,...xn ! 0

f1 x1 , x2 ,...xn ! 0

Motivacin
Estudiaremos mtodos para resolver conjuntos de ecuaciones algebraicas lineales que son de la forma general,

a11 x1  a12 x2  -  a1n xn ! b1 a21 x1  a22 x2  -  a2 n xn ! b2 an1 x1  an 2 x2  -  a3n xn ! bn

a: coeficientes constantes b: constantes n: No. de ecuaciones

Mtodos empleados antes de la era de las computadoras


Para pocas ecuaciones (n 3), las ecuaciones lineales se pueden resolver con rapidez mediante tcnicas simples
Para n = 2 la solucin corresponde a la interseccin de lneas rectas

1. Mtodo grfico
Para n = 3 cada ecuacin representa un plano. La solucin corresponde al punto donde se intersectan los 3 planos Para n > 3 los mtodos grficos no funcionan
Caso que pueden ocasionar problemas

Lneas paralelas que jams se cruzan

Dos lneas coinciden Nmero infinito de soluciones Sistemas singulares

Sistemas cercanos a situacin singular (mal condicionados) Sensibles a errores de redondeo

Mtodos empleados antes de la era de las computadoras


2. Determinantes y Regla de Cramer Determinante de una matriz de coeficientes 2v2
D! a11 a21 a12 a22 ! a11a22  a12 a21

Determinante de una matriz de coeficientes 3v3


a11 D ! a21 a32 a12 a22 a32 a13 a a23 ! a11 22 a32 a33 a23 a  a12 21 a33 a31 a23 a a22  a13 21 a33 a31 a32

Mtodos empleados antes de la era de las computadoras


3x1  2 x2 ! 18  x1  2 x2 ! 2
3 2 ! 3 * 2  2 *  1 ! 8 1 2

1 x1  x2 ! 1 2 1 1  x1  x2 ! 2 2 
D!  0.5 1  0.5 1 ! 0.5 *1  1*  0.5 ! 0

D!

1  x1  x2 ! 1 2  x1  2 x2 ! 2
D!  0.5 1 ! 0.5 * 2  1* ! 0 1 1 2 D!

2.3 x1  x2 ! 1.1 5 1  x1  x2 ! 1 2 
 0.5 1 2.3 ! 0.5 *1  1*  ! 0.04  2.3 1 5 5

los sistemas singulares tienen determinante igual a cero Los sistemas mal condicionados (casi singulares) tienen determinante cercano a cero

Mtodos empleados antes de la era de las computadoras


Regla de Cramer Cada incgnita en un sistema de ecuaciones algebraicas lineales puede ser expresada como una fraccin de dos determinantes El denominador es el determinante de la matriz de coeficientes El numerador es el determinante de una matriz en la cual se reemplaza la columna de coeficientes de la incgnita por el vector de constantes {B}
b1 b2 b3 a12 a22 a32 D a13 a23 a33

x1 !

Para 3 ecuaciones resulta prctica Para n > 3 no es muy eficiente porque la evaluacin de determinantes consume tiempo

Ecuaciones algebraicas lineales y prctica de la ingeniera


Muchas de las ecuaciones fundamentales de ingeniera estn basadas en leyes de conservacin En trminos matemticos, esos principios conducen a ecuaciones de balance que relacionan el comportamiento del sistema con las propiedades o caractersticas y los estmulos externos que actan sobre el sistema En el captulo anterior se trabaj con sistemas de un solo componente que resultaba en una sola ecuacin que se resolva con mtodos de clculo de races Los sistemas multicomponentes resultan en un conjunto agrupado de ecuaciones matemticas que deben ser resueltas simultneamente

Ecuaciones algebraicas lineales y prctica de la ingeniera


Problemas multicomponentes surgen tanto de modelos matemticos de variables agrupadas como de variables distribuidas Los problemas de variables agrupadas involucran componentes finitos acoplados Armaduras Reactores Circuitos elctricos Los problemas de variables distribuidas intentan describir detalles espaciales de los sistemas sobre una base continua Las ecuaciones diferenciales derivadas a partir de leyes de conservacin especifican la distribucin de la variable dependiente para tales sistemas Esas ecuaciones se pueden resolver numricamente al convertirlas en un sistema equivalente de ecuaciones algebraicas simultneas

Ecuaciones algebraicas lineales y prctica de la ingeniera


Adems de los problemas fsicos, las ecuaciones algebraicas lineales simultneas surgen tambin en diferentes contextos de problemas matemticos

Algunas tcnicas numricas de uso general que emplean ecuaciones simultneas son el anlisis de regresin y la interpolacin segmentaria

Antecedentes matemticos necesarios


Notacin matricial
a11 a A ! 21 / an1 a12 / an 2 a1n a2 n / ann
Filas Columnas

a22 -

En la solucin de ecuaciones algebraicas lineales


No. de ecuaciones = No. de filas No. de variables = No. de columnas Debe ser igual para que una solucin nica sea posible

Antecedentes matemticos necesarios


Operaciones de matrices Suma

C ! A B

cij ! aij  bij

Multiplicacin de una matriz por un escalar: se multiplica cada elemento de la matriz por el escalar Multiplicacin de dos matrices

C ! Av B

cij ! aik  bkj


k !1

a11

Es imposible multiplicar dos matrices si el nmero de columnas de la primera no es igual al nmero de filas de la segunda

3 1 8 6 v 5 9 7 2 0 4

Antecedentes matemticos necesarios


Operaciones de matrices Divisin: la divisin de una matriz no es una operacin definida sin embargo, si una matriz A es cuadrada y no singular, existe otra matriz A-1, llamada inversa de A para la cual AvA-1 = A-1vA=I Transpuesta de una matriz: consiste en transformar sus filas en columnas y viceversa Traza de una matriz: es la suma de los elementos de su diagonal principal n tr ?AA! aii
i !1

Representacin de ecuaciones algebraicas lineales en forma matricial

?AA_X a! _Ba
a11 a12 a 21 a22 a31 a32 b x a13 1 1 a23 x2 ! b2 b x a33 3 3

Una manera formal para obtener la solucin usando algebra matricial es multiplicando cada lado de la ecuacin por la inversa de A

?AA ?AA_X a! ?AA _Ba


Como ?AA ?AA! I
1

1

1

_X a! ?AA1_Ba

No resulta muy eficiente por la obtencin de la inversa de la matriz Es necesario mtodos numricos

Mtodos numricos para la solucin de ecuaciones algebraicas lineales


1. 2. Eliminacin de Gauss Descomposicin LU valiosa para casos donde se necesita evaluar muchos vectores del lado derecho. Permite hacer eficiente el clculo de la matriz inversa Tcnicas eficientes para la solucin de sistemas tridiagonales (matrices en banda) Mtodo de Gauss-Seidel mtodo iterativo

3.

4.

Eliminacin de Gauss
Este mtodo involucra una combinacin de ecuaciones para eliminar las incgnitas Es uno de los mtodos ms antiguos y sigue siendo uno de los algoritmos de mayor importancia

Eliminacin de Gauss
Eliminacin de incgnitas La estrategia bsica es multiplicar las ecuaciones por constantes, de tal forma que se elimine una de las incgnitas cuando se combinen las ecuaciones El resultado es una sola ecuacin que se puede resolver para la incgnita restante Este valor se sustituye en las ecuaciones originales para calcular la otra variable Este mtodo representa la base para la eliminacin de Gauss Se puede extender a grandes sistemas de ecuaciones desarrollando un esquema sistemtico para eliminar incgnitas y sustituir hacia atrs

Eliminacin de Gauss
Eliminacin de Gauss simple 1. Eliminacin de incgnitas
Reduce el conjunto de ecuaciones a un sistema triangular superior Primero se elimina la primera incgnita, x1, desde la segunda hasta la n-ensima fila, multiplicando por a21/a11 a la primera ecuacin, luego restando sta a la segunda El procedimiento es repetido para las ecuaciones restantes Para este paso la ecuacin 1 es la ecuacin pivote y a11 es el coeficiente pivote

el mtodo consiste en dos fases

2.

Solucin por sustitucin hacia atrs


Al finalizar la eliminacin, la ecuacin n puede resolverse para xn

b xn ! n n 1 ann
Para evaluar las x restantes

n 1

bi xi !

n 1

 a

j ! i 1 n 1 ii

n 1

ij

xj

Eliminacin de Gauss
Seudo cdigo
DO k = 1, n-1 DO i = k+1, n Factor = ai,k/ak,k DO j = k+1, n ai,j = ai,j - factor * ak,j END DO bi = bi -factor * bk END DO END DO xn =bn / an,n DO i = n-1, 1, -1 sum = 0 DO j = i+1, n sum = sum + ai,j * xj END DO xi = (bi - sum) / ai,i END DO

Eliminacin de Gauss
Ejemplo
A = [3 -0.1 -0.2 0.1 7 -0.3 0.3 -0.2 10]; B = [7.85 -19.3 71.4];

Eliminacin
A =[ 3.0000 -0.1000 -0.2000 0 7.0033 -0.2933 B ={7.8500 -19.5617 71.4000} A =[3.0000 -0.1000 -0.2000 0 7.0033 -0.2933 B ={7.8500 -19.5617 70.6150}

0.3000 -0.2000 10.0000]

0 -0.1900 10.0200]

A =[3.0000 -0.1000 -0.2000 0 0 7.0033 -0.2933 0 10.0120]

B ={7.8500 -19.5617 70.0843}

Sustitucin

X ={3.0000 -2.5000 7.0000}

Eliminacin de Gauss
Nmero de operaciones de punto flotante para Gauss simple
n 10 100 1000 Eliminacin 375 338,250 3.34E+08 Sustitucin 55 5,050 500,500 total 430 343,300 3.34E+08 % debido a eliminacin 87.21% 98.53% 99.85%

Para un sistema que se hace cada vez ms grande, el tiempo de clculo se incrementa considerablemente La mayor parte del esfuerzo ocurre en el paso de la eliminacin. Por lo que se hace necesario hacer ms eficiente el procedimiento

Desventajas del mtodo de eliminacin de Gauss


1. Divisin entre cero
Durante las fases de eliminacin y sustitucin es posible que ocurra divisin entre cero

2 x2  3x3 ! 8 4 x1  6 x2  7 x3 ! 3 2 x1  x2  6 x3 ! 5

La normalizacin de la primera fila involucra una divisin entre cero, a11 = 0

Tambin se pueden presentar problemas cuando el coeficiente es muy cercano a cero Para evitar estos problemas se utiliza una tcnica de pivoteo

Desventajas del mtodo de eliminacin de Gauss


2. Errores de redondeo
Debido a que las computadoras manejan slo un nmero limitado de cifras significativas, pueden ocurrir errores de redondeo y se deben considerar al evaluar los resultados Estos errores pueden ser importantes para sistemas con un gran nmero de ecuaciones Debido a que cada resultado depende del anterior, el error de los primeros pasos tiende a propagarse Una regla general es la de suponer que los errores de redondeo son importantes cuando n 100 Siempre se debe sustituir los resultados en las ecuaciones originales y verificar si ha ocurrido un error sustancial

Desventajas del mtodo de eliminacin de Gauss


3. Sistemas mal condicionados
Sistemas bien condicionados son aquellos en los que un pequeo cambio en uno o ms coeficientes provoca un pequeo cambio en la solucin Sistemas mal condicionados son aquellos en donde pequeos cambios en los coeficientes generan grandes cambios en la solucin
Es decir un amplio rango de soluciones puede satisfacer las ecuaciones en forma aproximada

Los errores de redondeo pueden inducir pequeos cambios en los coeficientes, si el sistema est mal condicionado estos cambios artificiales pueden generar grandes errores en la solucin

Desventajas del mtodo de eliminacin de Gauss


26/5-11/20 x

3. Sistemas mal condicionados


Ejemplo
Solucin

x + 2*y = 10 1.1*x + 2*y = 1 0.4

1.1x1  2 x2 ! 10.4

x2 ! 3

f(x ) 2 1 0 0

x1  2 x2 ! 10

x1 ! 4

Cambiando a21 de 1.1 a 1.05


Solucin

x1 ! 8 x2 ! 1

5 x

10

sustituyendo en las ecuaciones originales

8  2 ! 10 1.1* 8  2 ! 10.8

La solucin es aproximada

Desventajas del mtodo de eliminacin de Gauss


3. Sistemas mal condicionados
Esta situacin se puede caracterizar de forma matemtica, escribiendo las ecuaciones en su forma general
a11 x1  a12 x2 ! b1 a21 x1  a22 x2 ! b2

Arreglando las ecuaciones en un formato de lneas rectas


a11 b x1  1 a12 a12 a b x2 !  21 x1  2 a22 a22 x2 ! 

Si las pendientes son casi iguales


a11 a21 $ a11a22 $ a12 a21 a11a22  a12 a21 $ 0 a12 a22

Un sistema mal condicionado es aquel en el cual su determinante es cercano a cero Si el determinante es exactamente cero, las pendientes son idnticas, y el sistema no tiene solucin o hay un nmero infinito de soluciones

Desventajas del mtodo de eliminacin de Gauss


4. Sistemas singulares
Son aquellos donde dos o ms ecuaciones son iguales En el caso donde dos ecuaciones son iguales se pierde un grado de libertad siendo imposible resolver el problema de n-1 ecuaciones con n incgnitas Tales casos podran no ser obvios cuando se trabaja con grandes conjuntos de ecuaciones Se hace necesario tener una forma que de manera automtica detecte la singularidad del sistema Esto se logra debido al hecho de que el determinante de un sistema singular es cero Durante el proceso de eliminacin se chequea si un elemento de la diagonal es cero, al descubrir uno se puede terminar inmediatamente y generar una excepcin o mensaje de error

Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss


1. Uso de ms cifras significativas
La solucin ms simple para el mal condicionamiento es usar ms cifras significativas en los clculos El uso de la precisin expandida tiene un precio que se eleva en forma de tiempo de clculo y cantidad de memoria

2. Pivoteo
Ocurren problemas de divisin por cero cuando el coeficiente pivote es cero Cuando el coeficiente pivote es cercano a cero se pueden introducir errores de redondeo, porque su magnitud puede ser muy pequea al compararla con la de los dems coeficientes Para evitar esto se utiliza el pivoteo parcial

Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss


Pivoteo parcial Antes de normalizar cada fila, se determina el mayor coeficiente pivote disponible en la columna que est por debajo del elemento pivote Las filas se intercambian de manera tal que el coeficiente ms grande sea el pivote

Ventajas del pivoteo parcial Evita la divisin entre cero Minimiza el error de redondeo

Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss


Pivoteo parcial Ejemplo
Problema original
0.0003x1  3.0000 x2 ! 2.0001 1.0000 x1  1.0000 x2 ! 1.0000

Con pivoteo
1.0000 x1  1.0000 x2 ! 1.0000 0.0003x1  3.0000 x2 ! 2.0001

a11 es cercano a cero


1 0.0003x1  3.0000 x2 ! 2.0001 0.0003 x1  10.0000 x2 ! 6667

0.0003 x1  x2 ! 1 1 0.0003x1  0.0003 x2 ! 0.0003

Restando a la 2da ecuacin


2.9997 x2 ! 1.9998 2 1 2 3 x2 ! ; x1 ! ! 0.3333334 3 1

 9999 x2 ! 6666

Restando a la 2da ecuacin


Se restan dos nmeros casi iguales

2 2.0001  3 2 3 ! 0.3333886 x2 ! ; x1 ! 3 0.0003

Seudo cdigo para implementar el pivoteo parcial


Se puede usar como una subrutina que podra ser llamada directamente despus del inicio del primer ciclo de eliminacin Aqu se intercambian de forma fsica las filas. Para grandes matrices esto puede consumir mucho tiempo Lo que se hace es no intercambiar las filas sino que se guarda el orden de los pivotes en un vector, y segn este orden se llevan a cabo las operaciones de eliminacin y sustitucin
SUB pivot(a, b, n, k) p = k big = abs(ak,k) DO ii = k+1, n dummy = abs(aii,k) IF (dummy > big) big = dummy p = ii END IF END DO IF (p k) DO jj = k, n dummy = ap,jj ap,jj = ak,jj ak,jj = dummy END DO dummy = bp bp = bk bk = dummy END IF

Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss


Escalamiento El escalamiento revela si el pivoteo es necesario Si es necesario, se pivotea pero se retienen los coeficientes originales de la ecuacin escalada El escalamiento se usa para calcular los valores escalados de los coeficientes que servirn como un criterio de pivoteo Ejemplo
Problema original
2 x1  100000 x2 ! 100000 x1  x2 ! 2

Escalando y pivoteando
0.00002 x1  1x2 ! 1 x1  x2 ! 2

Escalamiento como criterio de pivoteo Manteniendo coeficientes originales

x1  x2 ! 2 2 x1  100000 x2 ! 100000

x1 ! 1; x2 ! 0

x1 ! 1; x2 ! 1

x1 ! 1; x2 ! 1

Descomposicin LU e Inversin de matrices


Descomposicin LU El principal atractivo de este mtodo es que el paso de eliminacin, que consume tiempo, se puede reformular de tal manera que involucre slo operaciones sobre los elementos de la matriz de coeficientes, A De esta forma, es muy adecuado para aquellas situaciones donde se debe evaluar muchos vectores {B} El mtodo de eliminacin de Gauss puede implementarse como una descomposicin LU La descomposicin LU proporciona un medio eficaz para calcular la matriz inversa, la cual a su vez permite evaluar la condicin de un sistema

Descomposicin LU
Partiendo de un sistema de ecuaciones lineales de la forma, Ahora, suponga que existe una matriz triangular inferior con nmeros 1 sobre la diagonal

?AA_X a! _Ba
Este se puede ordenar como,

?AA_X a _Ba! 0
El primer paso de la eliminacin de Gauss resulta en un sistema con una matriz tringular superior

1 0 ?LA! l21 1 l31 l32

0 0 1

que tiene la siguiente propiedad

?LA?U A_X a _Da ! ?AA_X a _Ba


si esta propiedad se cumple, de las reglas de multiplicacin de matrices se obtiene,

u11 u12 0 u 22 0 0

u13 1 1 x d u 23 x2 ! d 2 u33 3 3 x d

Que puede ser expresada como,

?U A_X a! _Da

?U A_X a _Da! 0

?LA?U A! ?AA ?LA_Da! _Ba

Descomposicin LU
Estrategia para resolver el sistema 1. Paso de descomposicin LU: la matriz [A], se factoriza o descompone en matrices triangulares inferior [L] y superior [U] 2. Paso de sustitucin: [L] y [U] se usan par determinar una solucin {X} para un vector {B}. Este paso consta de dos subpasos:
Se determina el vector intermedio {D} resolviendo [L]{D}={B} por sustitucin hacia delante, debido a que [L] es una matriz triangular inferior Se determina {X} resolviendo [U]{X}={D} por sustitucin hacia atrs

Descomposicin LU
Descomposicin LU con base en la eliminacin de Gauss Partiendo de una matriz de coeficientes, se llega a una matriz triangular superior
a11 a 21 a31 a12 a22 a32 a13 a23 a33 a11 ?U A! 0 0 a13 a22 ' a23 ' 0 a33 ' ' a12

Para llegar a esta matriz [U] La matriz triangular inferior que tiene la propiedad requerida para la descomposicin LU es
1 ?LA! f 21 f 31 0 1 f 32 0 0 1

se multiplic la fila 1 por el factor f21 = a21/a11 y restando el resultado a la fila 2 se elimin a21 se multiplic la fila 1 por el factor f31 = a31/a11 y restando el resultado a la fila 3 se elimin a31 se multiplic la fila 2 por el factor f32 = a32/a22 y restando el resultado a la fila 3 se elimin a32

Descomposicin LU
Descomposicin LU con base en la eliminacin de Gauss

1. Paso de descomposicin LU: la matriz [A], se factoriza o descompone en matrices triangulares inferior [L] y superior [U] 2. Paso de sustitucin: [L] y [U] se usan par determinar una solucin {X} para un vector {B}. Este paso consta de dos subpasos:
Se determina el vector intermedio {D} resolviendo [L]{D}={B} por sustitucin hacia delante

d1 ! b1 ;

d i ! bi  lij b j
j !1

i 1

para i ! 2,- , n

Se determina {X} resolviendo [U]{X}={D} por sustitucin hacia atrs

d xn ! n ; unn

di  xi !

j !i 1

u d
ij

uii

para i ! n  1, n  1,- ,1

Seudo cdigo para descomposicin LU

SUB Ludecomp(a, b, n, tol, x, er) DIM on, sn er = 0 CALL Decompose(a, n, tol, o, s, er) IF er <> -1 THEN CALL Substitute(a, o, n, b, x) END IF END Ludecomp

Seudo cdigo para descomposicin LU


SUB Decompose(a, n, tol, o, s, er) DO i = 1,n oi = i si = ABS(ai,1) DO j = 2,n IF ABS(ai,j)> si THEN si = ABS(ai,j) END DO END DO DO k = 1,n-1 CALL Pivot(a, o, s, n, k) IF ABS(ao(k),k/so(k)) < tol THEN er = -1 PRINT ao(k),k/so(k) EXIT DO END IF DO i = k+1,n factor = ao(i),k/ao(k),k ao(i),k = factor DO j = k+1,n ao(i),j = ao(i),j - factor*a END DO END DO END DO IF ABS(ao(k),k/so(k))< tol THEN er = -1 PRINT ao(k),k/so(k) END IF END Decompose

Seudo cdigo para descomposicin LU


SUB Pivot(a, o, s, n, k) p = k big = ABS(ao(k),k/so(k)) DO ii = k+1,n dummy = ABS(ao(ii),k/so(ii)) IF dummy > big THEN big = dummy p = ii END IF END DO dummy = op op = ok ok = dummy END Pivot SUB Substitute(a, o, n, b, x) DO i = 2,n sum = bo(i) DO 1,i-1 sum = sum - ao(i),j*bo(j) END DO bo(i) = sum END DO xn = bo(n)/ao(n),n DO i = n-1,1,-1 sum = 0 DO j = i+1,n sum = sum + ao(i),j*xj END DO xi =(bo(i) - sum)/ao(i),i END DO END Substitute

Matriz inversa
Para una matriz cuadrada [A], hay otra matriz [A]-1 conocida como la inversa de [A], para la cual se cumple, [A] [A]-1 = [A]-1[A] = I La matriz inversa se puede calcular en una forma de columna por columna a partir de vectores unitarios como vector de constantes del sistema de ecuaciones lineales algebraicas Por ejemplo, para determinar la primera columna de la matriz inversa se resuelve el sistema con el vector de constantes B=[1 0 0]T para determinar la segunda columna se usa B=[0 1 0]T y as sucesivamente

Matriz inversa
La descomposicin LU representa la mejor forma para implementar el clculo de la matriz inversa, ya que una vez obtenida la descomposicin LU de la matriz A se puede calcular su inversa resolviendo cada columna con los vectores unitarios como constantes Ejemplo: Determinar la inversa de
1. Descomposicin LU de la matriz A
LU(A) = [ 3 -0.1 -0.2 0.0333 7.0033 -0.2933 0.1 -0.0271 10.0120] B1 = [1] [0] [0] B2 = [0] [1] [0] B3 = [0] [0] [1] A = [3 -0.1 -0.2 0.1 7 -0.3 0.3 -0.2 10]

2. Sustitucin, InvA(1) = [0.3325] InvA(2) = [0.0049] InvA(3) = [0.0068]


[-0.0052] [-0.0101] [0.1429] [0.0027] [0.0042] [0.0999]

Anlisis de error y condicin del sistema


La matriz inversa permite determinar si un sistema est mal condicionado, para esto existen 3 mtodos:

1. Escalar la matriz de coeficientes [A], de tal manera que el elemento ms grande en cada fila sea 1. Si al invertir la matriz escalada existen elementos de la inversa [A]-1 que sean varios ordenes de magnitud mayores que la unidad, es probable que el sistema est mal condicionado 2. Multiplicar la inversa por la matriz de coeficientes original y verificar que [A][A]-1 $ I. Si no es as, indica que el sistema est mal condicionado 3. Invertir la matriz inversa y verificar que el resultado est lo suficientemente cercano a la matriz original. Si no es as, indica que el sistema est mal condicionado

Nmero de condicin de una matriz


cond ?AA! A A1
Este nmero mide la sensibilidad de la solucin de un sistema de ecuaciones lineales a errores en los datos Valores cercanos a 1 indican que el sistema est bien condicionado Valores grandes indican que la matriz es casi singular

Nmero de condicin de una matriz


Norma Euclidiana - Para vector
xe !

Norma columna-suma

xi
i !1 n n

A g ! max aij
1e j e n i !1

- Para matriz A e !

a
i !1 j !1

Norma infinita / matriz uniforme / fila-suma


A g ! max aij
1ei e n j !1 n

i, j

Norma de Frobenius

Norma 2, o normal espectral

A 2 ! Q max

1/ 2

Qmax es el eigenvalor ms grande de [A]T[A]. Esta es la la norma mnima, por lo tanto proporciona la medida de tamao ms ajustada

Matrices especiales
Matrices banda Matrices simtricas Una matriz banda es una matriz cuadrada en la que todos sus elementos son cero, con excepcin de una banda centrada sobre la diagonal principal
Las dimensiones de un sistema de banda se pueden cuantificar con dos parmetros: Ancho de banda, BW Ancho de media banda, HBW
HBW+1
HBW

BW

Estos se relacionan por BW = 2HBW + 1 En general un sistema de banda es aquel para el cual aij = 0 si |i j| > HBW

Matrices especiales
La eliminacin de Gauss o la descomposicin LU pueden emplearse para resolver sistemas de banda, pero si el pivoteo no es necesario resultan ineficientes, porque se utilizara tiempo y espacio innecesario en el almacenamiento y manejo de ceros Si se sabe de antemano que el pivoteo es innecesario, se pueden desarrollar algoritmos muy eficientes que no involucren los elementos cero fuera de la banda

Sistemas tridiagonales
Un sistema tridiagonal (ancho de banda = 3) se puede expresar como
f1 e 2 g1 f2 e3 g2 f3 en 1 x1 r1 x r 2 2 x3 ! r3 g n 1 n 1 n 1 x r f n xn n r

g3 f n 1 en

Se cambia la notacin
a e, f, g b r

para evitar guardar ceros, ahorrando espacio

Sistemas tridiagonales
Ejemplo
B = [14.5000 -4 -6 -8 -10 -12 -14 -16 -30] e = [0 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5] A = [-5 1.5 0 0 0 0 0 0 0 2.5 -5 1.5 0 0 0 0 0 0 0 2.5 -5 1.5 0 0 0 0 0 0 0 2.5 -5 1.5 0 0 0 0 0 0 0 2.5 -5 1.5 0 0 0 0 0 0 0 2.5 -5 1.5 0 0 0 0 0 0 0 2.5 -5 1.5 0 0 0 0 0 0 0 2.5 -5 1.5 0 0 0 0 0 0 0 2.5 -5] f = [ -5 -5 -5 -5 -5 -5 -5 -5 -5]

g = [ 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 0]

Algoritmo de Thomas (TDMA, tridiagonal matrix algorithm)


El algoritmo consiste en tres pasos:

1. Descomposicin 2. Sustitucin hacia delante 3. Sustitucin hacia atrs Manteniendo todas las ventajas de la descomposicin LU

Seudo cdigo para algoritmo de Thomas


a) Descomposicin DO k = 2, n ek = ek/fk-1 fk = fk - ek*gk-1 END DO b) Sustitucin hacia adelante DO k = 2,n rk = rk - ek*rk-1 END DO c) Sustitucin hacia atrs xn = rn/fn DO k = n-1,1,-1 xk = (rk - gk*xk+1)/fk END DO

Descomposicin de Cholesky
La descomposicin o factorizacin de Cholesky expresa una matriz simtrica como el producto de una matriz triangular y su transpuesta A = LLT L: matriz triangular inferior

No todas las matrices simtricas se pueden factorizar de esta forma Las matrices que tienen este tipo de factorizacin son las matrices simtricas definidas positivas. Esto implica que todos los elementos de la diagonal sean positivos y que los elementos fuera de la diagonal no sean muy grandes

Descomposicin de Cholesky
Los trminos de la descomposicin se pueden multiplicar entre si. El resultado se puede expresar en forma simple por relaciones recurrentes Para la fila k
lki ! aki  lij lkj
j !1 i 1

lii
k 1 j !1

,
2

para i !1,2, - , k - 1

lkk ! akk  lkj

Descomposicin de Cholesky
Ejemplo,

6 15 55 A ! 15 55 225 55 225 979

 7.85 B !  19.3 71.4

Para k = 1 Para k = 2 Para k = 3

l11 ! a11 ! 6 ! 2.4495


l21 ! 15 a21 2 2 l22 ! a22  l21 ! 55  6.1237 ! 4.1833 ! ! 6.1237 l11 2.4495 a l l a31 l32 ! 32 21 31 ! 20.916 ! 22.454 l31 ! l22 l11
2 2

l33 ! a33  l31  l32 ! 6.1106

0 0 2.4495 L ! 6.1237 4.1833 0 22.454 20.916 6.1106

Sustitucin hacia adelante

Sustitucin hacia atrs

3.2047 D !  9.3049 .7616 31

24.1964 X !  28.2154 5.1982

Seudo cdigo para la descomposicin de Cholesky


for k = 1:n for i = 1:k-1 sum = 0; for j = 1:i-1 sum = sum + A(i,j)*A(k,j); end A(k,i) = (A(k,i) - sum)/A(i,i); end sum = 0; for j = 1:k-1 sum = sum + A(k,j)^2; end A(k,k) = sqrt(A(k,k) - sum); end

Mtodo de Gauss-Seidel
Este es un mtodo iterativo Dado un conjunto de ecuaciones, AX = B Si los elementos de la diagonal son diferentes de cero, se puede resolver la ecuacin i para la variable i, donde i = 1n
aij xi bi  j {i xi ! aii

Se puede empezar el proceso de solucin al escoger los valores iniciales de las variables x (xi = 0)

Mtodo de Gauss-Seidel
Los valores iniciales se sustituyen en la primera ecuacin para calcular un nuevo valor para x1 Este nuevo valor de x1 junto con los dems valores iniciales se sustituyen en la segunda ecuacin para calcular un nuevo valor para x2 Este proceso se repite hasta calcular los nuevos valores de las n variables Despus se regresa a la primera ecuacin y se repite todo el procedimiento hasta que la solucin converja a la solucin real La convergencia se puede verificar usando el criterio,

I a ,i

xi  xi ! j xi
j

j 1

100% I s

Criterio de convergencia del mtodo de Gauss-Seidel


Este mtodo es similar en esencia al mtodo de iteracin de punto de fijo que se usa para el clculo de races de una ecuacin Presenta las mismas desventajas:
1. 2. En algunos casos no converge En algunos casos la convergencia es lenta

Las condiciones suficientes para la convergencia de dos ecuaciones no lineales tambin aplican para ecuaciones lineales cuando se usa Gauss-Seidel

xu xv  xx1 xx1

xu xv  xx2 xx2

Criterio de convergencia del mtodo de Gauss-Seidel


En el caso de dos ecuaciones el mtodo de Gauss-Seidel se expresa como
x1 ! u x1 , x2 ! b1 a12 x2  a11 a11 x2 ! v x1 , x2 ! b2 a21 x1  a22 a22

Las derivadas parciales de estas ecuaciones con respecto a las variables son xu xv xu  a12 xv  a21 !0 !0 ! ! xx1 xx2 a11 a22 xx2 xx1 Para que se cumplan las condiciones suficientes de convergencia

a12 a11

a21 a22

Criterio de convergencia del mtodo de Gauss-Seidel


El valor absoluto de la pendiente de las ecuaciones rectas debe ser menor que la unidad para asegurar convergencia Rerformulando,

a11 " a12


a22 " a21

El elemento diagonal debe ser mayor que el elemento fuera de la diagonal para cada fila (sistemas diagonal dominantes) Generalizando para n ecuaciones

aii " aij


j !1 j {i

El criterio es suficiente pero no necesario para convergencia

Mejoras a la convergencia por medio de relajacin


La relajacin representa una ligera modificacin al mtodo de Gauss-Seidel y est diseada para mejorar la convergencia Despus de calcular cada nuevo valor de x, ese valor se modifica por un promedio ponderado de los resultados de las iteraciones anterior y actual:

xi
Si P = 1

nuevo

! Pxi

nuevo

  P xi 1

anterior

P: es el coeficiente de relajacin que tiene un valor entre 0 y 2


el resultado no se modifica

Si 0 < P < 1 el resultado es un promedio ponderado de xinuevo y xianterior (subrelajacin), se usa para hacer que un sistema no convergente, converja o converja ms rpido al amortiguar sus oscilaciones Si 1 < P < 2 se le da una ponderacin extra al valor actual (sobrerelajacin), acelera la convergencia de un sistema que ya es convergente. Tambin es conocida como sobrerelajacin simultnea o sucesiva, SOR

Seudo cdigo para el mtodo de Gauss-Seidel con relajacin


SUBROUTINE Gseid(a,b,n,x,imax,es,lambda) for i = 1:n dummy = a(i,i); for j = 1:n a(i,j) = a(i,j)/dummy; end b(i) = b(i)/dummy; end for i = 1:n sum = b(i); for j = 1:n if i ~= j sum = sum - a(i,j)*x(j); end end x(i) = sum; end iter = 1; while iter < maxIteraciones sentinel = 1; for i = 1:n old = x(i); sum = b(i); for j = 1:n if i ~= j sum = sum - a(i,j)*x(j); end end x(i) = lambda * sum +(1.0-lambda)*old; if sentinel == 1 AND x(1) ~= 0.0 ea = abs((x(i)-old)/x(i))*100; if ea > es sentinel = 0; end end end iter = iter + 1; if sentinel == 1 break end end

You might also like