Professional Documents
Culture Documents
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,
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
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
x1 !
Para 3 ecuaciones resulta prctica Para n > 3 no es muy eficiente porque la evaluacin de determinantes consume tiempo
Algunas tcnicas numricas de uso general que emplean ecuaciones simultneas son el anlisis de regresin y la interpolacin segmentaria
a22 -
C ! A B
Multiplicacin de una matriz por un escalar: se multiplica cada elemento de la matriz por el escalar Multiplicacin de dos matrices
C ! Av B
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
?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
1
1
_X a! ?AA1_Ba
No resulta muy eficiente por la obtencin de la inversa de la matriz Es necesario mtodos numricos
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
2.
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 -0.1900 10.0200]
Sustitucin
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
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
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
1.1x1 2 x2 ! 10.4
x2 ! 3
f(x ) 2 1 0 0
x1 2 x2 ! 10
x1 ! 4
x1 ! 8 x2 ! 1
5 x
10
8 2 ! 10 1.1* 8 2 ! 10.8
La solucin es aproximada
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
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
Ventajas del pivoteo parcial Evita la divisin entre cero Minimiza el error de redondeo
Con pivoteo
1.0000 x1 1.0000 x2 ! 1.0000 0.0003x1 3.0000 x2 ! 2.0001
9999 x2 ! 6666
Escalando y pivoteando
0.00002 x1 1x2 ! 1 x1 x2 ! 2
x1 x2 ! 2 2 x1 100000 x2 ! 100000
x1 ! 1; x2 ! 0
x1 ! 1; x2 ! 1
x1 ! 1; x2 ! 1
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
0 0 1
u11 u12 0 u 22 0 0
u13 1 1 x d u 23 x2 ! d 2 u33 3 3 x d
?U A_X a! _Da
?U A_X a _Da! 0
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
d xn ! n ; unn
di xi !
j !i 1
u d
ij
uii
para i ! n 1, n 1,- ,1
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
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]
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
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
i, j
Norma de Frobenius
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
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]
1. Descomposicin 2. Sustitucin hacia delante 3. Sustitucin hacia atrs Manteniendo todas las ventajas de la descomposicin LU
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
Descomposicin de Cholesky
Ejemplo,
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
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
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
El elemento diagonal debe ser mayor que el elemento fuera de la diagonal para cada fila (sistemas diagonal dominantes) Generalizando para n ecuaciones
xi
Si P = 1
nuevo
! Pxi
nuevo
P xi 1
anterior
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