Universidad de Chile Departamento de Ingeniería Matemática Cálculo Numérico MA-33A Métodos Numéricos para Sistemas de Ecuaciones Lineales Gonzalo Hernández Oliva GHO SEL - MA33A 1
MN para SEL: Temario 1) Motivación Aplicaciones SEL: a) Interpolación Polinomial b) Mínimos Cuadrados c) Método Simplex Optimización Lineal 2) Definiciones y Resultados Básicos 3) Métodos de Pivoteo (Directos) para SEL: Gauss y Gauss-Jordan 4) Análisis de Error del Método de Gauss GHO SEL - MA33A 2
MN para SEL: Temario 5) Matriz Inversa y Determinante 6) Factorización de Matrices 7) Métodos Iterativos para SEL a) Método de Jacobi y Gauss-Seidel b) Método de Relajación SOR y Gradiente Conjugado c) Análisis de Error de los Métodos Iterativos d) Métodos para Vectores y Valores Propios GHO SEL - MA33A 3
1) Motivación 1: Interpolación Polinomial y i n k i = ( i) = k i k = 0 y p x a x x x x x x x x Dados (n+1) puntos i Encontrar un polinomio de grado n tal que: p( x) = y = i 1,..., n+ 1 x i i p(x) ( x, y ) i x x i GHO SEL - MA33A 4
1) Motivación 1: Interpolación Polinomial y = p( x ) i = 1,...,( n+ 1) i i n k i = ( i) = k i k = 0 y p x a x 1 x 1 x 1 2 x 1 n a 0 y 1 1 x 2 x 2 2 x 2 n a 1 y 2 1 x 3 x 3 2 x 3 n a 2 y 3 2 n 1 x n 1 x n 1 x n 1 a n y n 1 GHO SEL - MA33A 5
1) Motivación 2: Mínimos Cuadrados y i Nube de puntos con tendencia lineal y k = β + β x 0 1 + + + + + + + + + + ++ + + + + + + + + + + + + + + + + + + + + + + + + + k Dados n puntos (x i, y i ) Encontrar la recta que mejor los representa : β, β 0 1 n k = 1 [ y β + β x ] min ( ) k 0 1 k 2 x i GHO SEL - MA33A 6
1) Motivación 2: Mínimos Cuadrados GHO SEL - MA33A 7
1) Motivación 2: Mínimos Cuadrados Sea f ζ [ ab, ]. Se quiere determinar un polinomio de grado n según MCC: ( x) pn ( x ) [ ] 2 min f ( x) p ( x) dx p n b ε T = a Ecuaciones Normales: a b x 0 dx a b x 1 dx a b x 2 dx a b x n dx a b x 1 dx a b x 2 dx a b x 3 dx a b x n 1 dx a b x n dx a b x n 1 dx a b x n 2 dx a b x 2n dx n coeficientes GHO SEL - MA33A 8 a 0 a 1 a n δ ij = b a i+ j+ 1 i+ j+ 1 i+ j+ 1 Matriz tipo Hilbert! a b x 0 f x dx a b x 1 f x dx a b x n f x dx
1) Motivación 2: Mínimos Cuadrados = p ( x) 3 Sea f ( x) sin( π x). Determinemos polinomio de grado 3 según MC: 1 1/2 1/3 1/4 1/2 1/3 1/4 1/5 1/3 1/4 1/5 1/6 1/4 1/5 1/6 1/7 a 0 a 1 a 2 a 3 p x x x 2/ 1/ 1 0.8 2 4 / 3 0.6 2 6 / 3 2 3 ( ) = 4.12 + 4.12 0.05 sin(pi*x) v/s p 3 (x) 0.4 0.2 sin(pi*x) v/s -1/20+103/25x-103/25x 2 0 GHO SEL - MA33A 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 9 1 x
1) Motivación 2: Mínimos Cuadrados Ejemplo 1: f ( x) = sin( x) f( x) = sin( x) p( x) GHO SEL - MA33A 10 5,6 = akx k = 0 k i
1) Motivación 2: Mínimos Cuadrados Ejemplo 2: 0.5 0.4 0.3 0.2 0.1 0-0.1 y=x/(x 2 +1) 7th degree 9th degree -0.2 f( x) = px ( ) px ( ) x 7 2 = ax k k = 0 9 k = 0 x + 1 = ax k k i k i -0.3-0.4-0.5-5 -4-3 -2-1 0 1 2 3 4 5 GHO SEL - MA33A 11
1) Motivación 3: Programación Lineal t min cx x n Ax b z T c x n = ckx k = 1 k x 0 Región Factible Ax b x 2 x 0 Vértices x 1 GHO SEL - MA33A 12
2) Defs. y Resultados Básicos 1 Resolver un sistema de n ecuaciones lineales y n incógnitas consiste en determinar los valores de las variables: x 1, x,..., x 2 n tales que, dados: A = (a ij )yb = (b i ) (i =1,...,n ; j =1,...,n) se satisfagan las ecuaciones: Ax = b. a11 a12 a1 n x1 b1 a21 a22. a2n. x2 b2. = a a a x b n1 n2 nn n n GHO SEL - MA33A 13
2) Defs. y Resultados Básicos 2 Todo SEL se puede resolver bien numéricamente? Sea A R m n invertible y b R m. Entonces es posible demostrar que si se perturba A o b se tiene: δ x 1 δ A A A (1) δ x + x A δ x A x A 1 δb (2) b GHO SEL - MA33A 14
2) Defs. y Resultados Básicos 3 La norma de C R m n se define según: n n n C = max cij max c1 j,..., c = nj i= 1,..., n i= 1,..., n j= 1 j= 1 j= 1 Se define el número de condicionamiento* de A según: cond ( A) = A A Se tiene que: cond (A) 1. GHO SEL - MA33A 15 *Revisar cálculo del cond(a) en Matlab 1
2) Defs. y Resultados Básicos 4 Veamos un ejemplo: A = 0.550 0.423 0.127 1 b = x = 0.484 0.372 0.112-1 A+δA = 0.550 0.423 0.127-0.4536 b = x = 0.48 3 0.372 0.112 0.89 Se tiene: cond(a) = 0.973 7833.3 = 7621.8!!! El sistema es mejor condicionado si se tiene que cond (A) esta cerca de 1 (Mat. de Hilbert) GHO SEL - MA33A 16
MN para Sist. de Ecs. Lineales 3) Método de Gauss 1 Método de Gauss sin Anulación de Pivote: Parte 1: Eliminación de variables bajo la diagonal en las ecuaciones mediante operaciones elementales: Multiplicar una ecuación por un real Sumar dos ecuaciones Se entonces producen ceros bajo la diagonal. Parte 2: Sustitución backward de las variables en las ecuaciones GHO SEL - MA33A 17
MN para Sist. de Ecs. Lineales 3) Método de Gauss 2 Sustitución Backwards: x n = u n( n+ 1) u nn 1 n xk = uk( n+ 1) ukjxj k = ( n 1),...,1 ukk j= k+ 1 Veamos un ejemplo. GHO SEL - MA33A 18
3) Método de Gauss 3 Estrategias de Pivoteo En la iteración k de la primera etapa del método de Gauss es posible que el pivote a k ii (elementos de la diagonal de la ecuación i) se anule. En este caso se permuta la ecuación i con la ecuación m de mayor pivote en módulo (pivoteo parcial): a k mi a k ji para. todo j = i+1,,n Investigue la estrategia de pivoteo completo GHO SEL - MA33A 19
3) Método de Gauss 4: # de Ops Una medida de la eficiencia de un algoritmo es el tiempo que demora en ejecutarse, el cual es proporcional al número de operaciones aritméticas (ops) n-1 Ops_Gauss(n) = i=1 ±,, n i=1 (n - i)(2n - 2i + 6) (2i - 1) Parte 1 O(n 3 ) GHO SEL - MA33A 20 + Parte 2 O(n 2 )
3) Método de Gauss - Jordan: El método de Gauss Jordan consiste en aplicar 2 veces la primera parte del método de Gauss, es decir: triangularizar superior e inferiormente la matriz A n-1 Ops_G-J(n) = (n - i)(2n - 2i + 6) i=1 + ±,, n-1 i=1 4i + n Parte 2 O(n 2 ) Parte 1 O(n 3 ) GHO SEL - MA33A 21
4) Análisis de Error del M. de Gauss: Es posible hacer un análisis de propagación de errores, que se obtienen al realizar las operaciones aritméticas de la primera y segunda etapa del método de Gauss o Gauss Jordan Se demuestra que esta propagación de errores disminuye si se utiliza alguna técnica de pivoteo (parcial o completo) GHO SEL - MA33A 22
5) Matriz Inversa y Determinante 1: Matriz inversa A: Se aplica el método de Gauss Jordan al SEL aumentado con las columnas de la matriz identidad a 11 a 12 a 1n a 21 a 22 a 2n a n1 a n2 a nn 1 0 0 0 1 0 0 0 1 GHO SEL - MA33A 23
5) Matriz Inversa y Determinante 2: El det(a) se puede definir recursivamente mediante la fórmula de Laplace: n i+ j det( A) = ( 1) aij det( Aij ) j= 1 Fórmula válida para cualquier fila i o columna j Matriz Cofactor ij de A Se obtiene eliminando fila i y columna j GHO SEL - MA33A 24
5) Matriz Inversa y Determinante 3: Propiedades del Determinante: a) Si todos los coeficientes de una fila o columna de A son ceros det(a) = 0 b) Si dos o más filas o columnas de A son linealmente dependientes det(a) = 0 c) Si se reemplaza la fila i (F i ) por la fila j (F j ) donde i j entonces det(a ) = -det(a) d) Si se reemplaza la fila i (F i ) por (F i + λf j ) donde i j entonces det(a ) = det(a) GHO SEL - MA33A 25
5) Matriz Inversa y Determinante 4: Propiedades del Determinante: e) Si A y B son dos matrices cuadradas de igual tamaño: det(ab) = det(a)det(b) f) det(a t ) = det(a) g) Si A es invertible: det(a -1 ) = 1/det(A) h) Si A es una matriz triangular inferior, superior o diagonal: det( A) k = 1 GHO SEL - MA33A 26 n = a kk
5) Matriz Inversa y Determinante 5: Para calcular el det(a) se aplica el método de Gauss y la descomposición A = LU: Efectivamente, si se puede triangularizar la matriz A, entonces: PA = LU det(a) = det(p T LU) det(a) = det(p T )det(l)det(u) = det(p T )det(u) det( U) n = u k= 1 kk GHO SEL - MA33A 27
6) Factorización de Matrices 1: A=LU Descomposición A = LU (Alg. Gauss) 0 0 0 m 21 1 0 0 1 m 31 m 32 1 0 u 11 0 0 u 12 u 22 0 u 1n-1 u 2n-1 u n-1n-1 u 1n u 2n m n1 m n2 m nn-1 1 0 0 0 u nn L A = LU U GHO SEL - MA33A 28
6) Factorización de Matrices 2: Crout Una matriz A cuadrada es tridiagonal si sus coeficientes no nulos se ubican en las diagonales principal y secundarias A a 11 a 12 0 0 0 a 21 a 22 a 23 0 0 0 a 32 a 33 a 34 0 0 0 a 43 a 44 0 0 0 0 a nn 1 a nn GHO SEL - MA33A 29
6) Factorización de Matrices 3: Crout Una matriz A cuadrada tridiagonal puede ser factorizada según A=LU donde: l 11 0 0 0 0 l 21 l 22 0 0 0 0 l 32 l 33 0 0 0 0 l 43 l 44 0 0 0 0 l nn 1 l nn 1 u 12 0 0 0 1 u 23 0 0 0 1 0 u n 1n 0 0 0 1 L GHO SEL - MA33A 30 U
6) Factorización de Matrices 4: Crout Método de Crout para matrices tridiagonales: Paso 1: l 11 a 11 a 12 l 11 u 12 Paso 2: Para i=2,,n-1 l i i 1 a i i 1 l ii a ii l i i 1 u i 1 i Paso 3: u i i 1 a i i 1 l ii l n n 1 a n n 1 l nn a nn l n n 1 u n 1 n GHO SEL - MA33A 31
6) Fact. de Matrices 5: Cholesky Una matriz cuadrada A es definida positiva si y solo si: x t Ax > 0 para todo x R n Teorema: Si A es definida positiva: a) det(a) 0 b) a kk > 0 para todo k=1,,n c) d) max a max kj 1 k, j n 1 k n 2 ( ij ) ii jj a kk a < a a i j GHO SEL - MA33A 32
6) Fact. de Matrices 6: Cholesky Teorema: A es definida positiva si y solo si los determinantes de las matrices cofactores principales son positivos: det(a kk ) > 0 para todo k=1,,n. A kk = a 11 a k1 a 1k a kk Matriz cofactor principal k GHO SEL - MA33A 33
6) Fact. de Matrices 7: Cholesky Teorema: A es definida positiva si y solo si puede factorizarse como A = LL T donde L es una matriz triangular inferior con l ii > 0 para todo i=1,,n. En este caso para resolver un SEL Ax = b se debe aplicar la sustitución forward - backward GHO SEL - MA33A 34
6) Fact. de Matrices 8: Met. Cholesky Paso 1: l 11 a 11 Paso 2: Para j=2,,n l j1 a j1 /l 11 Paso 3: Para i=2,,n-1 l ii a ii Para j=(i+1),,n l ji n 1 Paso 4: l nn a nn GHO SEL - MA33A 35 k 1 2 l nk 1/2 i 1 k 1 2 l ik 1/2 i 1 a ji k 1 l ii l jk l ik
6) Fact. Matrices 9: Ortogonalización Factorización QR: A = QR Q matriz ortogonal: Q t Q = I (Gram-Schmidt) R = Q t A Factorización SVD: A nxm = USV t U nxn, V mxm matrices ortogonales S nxm matriz valores singulares (raíz v.p. A t *A) GHO SEL - MA33A 36
7) Métodos Iterativos para SEL 1: Métodos Iterativos: x (0) R n x (k+1) = F(x (k) ) k 0 Los métodos para SEL son de la forma: F(x (k) ) = Bx (k) + h donde B R n n, h R n GHO SEL - MA33A 37
7) Métodos Iterativos para SEL 2: En general se construyen B y h de la siguiente forma: Sean M y N R n n tales que: M es invertible y A = M N Entonces: Ax = b Mx = Nx + b x = M -1 Nx + M -1 b Esto sugiere definir: B = M -1 N y h = M -1 b GHO SEL - MA33A 38
7) Métodos Iterativos para SEL 3: Luego, si descomponemos A = (a ij ) invertible según: A = diag(a) + low(a) + up(a) Donde diag(a), low(a), up(a) R n n se definen según: diag(a) ij = a ij si i = j 0 si i j GHO SEL - MA33A 39
7) Métodos Iterativos para SEL 4: low(a) ij = a ij si i > j 0 si i j up(a) ij = a ij si i < j 0 si i j En base a estas definiciones se tienen los métodos de Jacobi y Gauss - Seidel GHO SEL - MA33A 40
7) Métodos Iterativos para SEL 5: Jacobi: define M y N según: M = diag(a) N = -[low(a) + up(a)] B = - diag(a) -1 [low(a) + up(a)] h = diag(a) -1 b GHO SEL - MA33A 41
7) Métodos Iterativos para SEL 6: Si x (k) = (x i (k) ) i = 1,,n es el vector de la iteración k del método de Jacobi, entonces satisface la siguiente fórmula iterativa: n ( k 1) ax ij j + b i j= 1 ( k ) j i xi = 1 i n, k = 1,2,3... a ii GHO SEL - MA33A 42
7) Métodos Iterativos para SEL 7: Gauss - Seidel: define M y N según M = [diag(a) + low(a)] N = - up(a) B = - [diag(a) + low(a)] -1 [up(a)] h = [diag(a) + low(a)] -1 b J y G-S convergen x 0 si A es estrictamente diagonal dominante: a n kk > a k kj = 1,..., n j= 1, j k GHO SEL - MA33A 43
7) Métodos Iterativos para SEL 8: Si x (k) = (x i (k) ) i = 1,,n es el vector de la iteración k del método de Gauss-Seidel, satisface la siguiente fórmula iterativa: i 1 n ( k) ( k 1) ax ij j ax ij j + bi ( k ) j= 1 j= i+ 1 xi = 1 i n, aii k = 1,2,3... GHO SEL - MA33A 44
7) Métodos Iterativos para SEL 9: Si x (k) = (x i (k) ) i = 1,,n es el vector de la iteración k del método de SOR, satisface la siguiente fórmula iterativa: x + = (1 ω) x + ω a ( k) ( k 1) i i i 1 n ( k) ( k 1) ax ij j ax ij j bi j= 1 j= i+ 1 1 i n, k = 1,2,3... ii GHO SEL - MA33A 45
7) Métodos Iterativos para SEL 10: Para matrices tridiagonales y definidas positivas, el valor óptimo de ω está dado por la fórmula: 2 1 1 T Donde: 1 T = [ Diag( A)] ( Low( A) + Up( A)) J T = Diag A + Low A Up A G 1 [ ( ) ( )] ( ) GHO SEL - MA33A 46
7) Métodos Iterativos para SEL 11: Si A es definida positiva, el método del gradiente conjugado está dado por: Paso 0: Paso 1: Paso 2: t t min qx ( ) = xax xb Ax= b x n 1 2 x, g = Ax b, d = g k t k k ( g ) d α = k t k ( d ) Ad 0 n 0 0 0 0 k 1 k k k + = +α x x d GHO SEL - MA33A 47
7) Métodos Iterativos para SEL 12: Método del gradiente conjugado: Paso 3: Paso 4: Paso 5: β k+ 1 k+ 1 g = Ax b k = k+ 1 t k ( g ) ( d ) Ad k t k Ad k+ 1 k+ 1 k k d = g + β d Si no hay errores de redondeo el método del gradiente conjugado converge en a lo más n iteraciones. GHO SEL - MA33A 48
7) Métodos Iterativos para SEL 13: Análisis de Error de los Métodos Iterativos Es posible hacer un análisis de propagación de errores que se obtienen al realizar las operaciones aritméticas de las iteraciones del método de Jacobi y Gauss Seidel Si x (k) es la iteración k de J o G-S y Ax = b: x x b Ax A A x b ( k) ( k) 1 cond(a) GHO SEL - MA33A 49
7) Métodos Iterativos para SEL 14: Si A es una matriz cuadrada, el polinomio en λ definido por: p(λ) = det(a- λi) es el polinomio característico de A El polinomio p es de grado n y tiene a lo más n raíces distintas (complejas). Estas raíces de p se denominan valores propios de A. GHO SEL - MA33A 50
7) Métodos Iterativos para SEL 15: Definición: El radio espectral de A: ρ(a) se define como: ρ(a) = max λ i donde λ i es un valor propio de A Proposición: Si A es una matriz cuadrada: a) A 2 = ρ(a t A) ½ b) ρ(a) A i=1,,n GHO SEL - MA33A 51
7) Métodos Iterativos para SEL 16: La relación entre métodos iterativos para SEL y valores propios la establece los siguientes resultados: Proposición: Si x k es la iteración k de un método iterativo para un SEL que tiene la forma: x k+1 = Tx k + c y Ax = b Entonces: Para k x k x ρ(t) k x 0 x GHO SEL - MA33A 52
7) Métodos Iterativos para SEL 17: Proposición: Si x k es la iteración k de un método iterativo para un SEL que tiene la forma: x k+1 = Tx k + c y Ax = b Entonces: x k x ssi ρ(t) < 1 Proposición: Si los métodos de Jacobi y Gauss-Seidel convergen se tiene que: 0 ρ(t GS ) < ρ(t J ) < 1 GHO SEL - MA33A 53
Bibliografía 1) R. Burden & J. D. Faires, Análisis Numérico, Séptima Edición, Thomson Learning, 2002. 2) J. Stoer & R. Burlisch, Introduction to Numerical Analysis, Second Edition, Springer, 1992. 3) G. Hernández O.: Apuntes de Cálculo Numérico 2007 GHO SEL - MA33A 54