Está en la página 1de 20

Métodos iterativos

para sistemas de
ecuaciones lineales

Métodos iterativos para
sistemas de ecuaciones
lineales
 Introducción
 Ecuación del Calor
 Método de Jacobi
 Método de Gauss-Seidel
 Método de Sobrerrelajación
 Problema del Condensador

Métodos directos frente a métodos iterativos DIRECTOS ITERATIVOS  Ax =b  x = Cx + d  x = A\ b  x(k+1) = Cx(k) + d  Tamaño moderado  Modifican la estructura  Tamaño grande  Conservan los ceros  Error de redondeo  Error de truncamiento .

p  1.inf ...inf Ax (k)  b p  tol.2.2..... Convergencia y número de operaciones  Coste (para matrices densas) Directos: n3 Iterativos: k. p  1...n2  Convergencia  Criterio de parada: x (k+1) x (k) p  tol.

. lin. . Ecuación del Calor  Sistema de ec.1 Tn  (Tn-1  Tn+1 ) / 2    -1 2 T0 T1 T2 . Tn Tn+1 .  Matriz asociada T1  (T0  T2 ) / 2  2 -1    T2  (T1  T3 ) / 2  -1 2 -1  T3  (T2  T4 ) / 2  -1 2         .

n-1).1) - diag(v. A = 2*eye(n) .diag(v. .Matriz de la Ecuación del Calor con MATLAB function A = mcalor1(n) v = ones(1.-1).

El método de Jacobi  Sistema de ecuaciones lineales a11x1  a12x 2  a13x 3   a1nx n  b1   a 21x1  a 22x 2  a 23x 3   a 2nx n  b2   a 31x1  a 32x 2  a 33x 3   a 3nx n  b3          a n1x n  a n2 x 2  a n3x 3   a nnx n  bn  .

n1x n1 ) / a nn  . Ecuación de punto fijo x1  (b1  a12x 2  a13x 3   a1nx n ) / a11   x1  (b2  a 21x1  a 23x 3   a 2nx n ) / a 22   x 2  (b3  a 31x1  a 32x 2   a 3nx n ) / a 33         x n  (bn  a n1x1  a n2x 2   an.

Iteración de Jacobi x (k+1) 1  (b1  a x(k) 12 2 a x (k) 13 3   a x ) / a11  (k) 1n n  x (k+1) 2  (b2  a x(k) 21 1 a x (k) 23 3   a x ) / a 22  (k) 2n n  x (k+1) 3  (b3  a x(k) 31 1 a x (k) 32 2   a x ) / a 33  (k) 3n n         x (k+1) n  (bn  a x(k) n1 1 a x (k) n2 2 a (k) x ) / ann  n.n1 n1 .

d = diag(A).-1). x = (b-(L+U)*x).1). L = tril(A. Expresión matricial Resolución con MATLAB A  L DU (k 1) 1 x  D (b  (L  U)x ) (k) U = triu(A./d .

.2. dominante los iterados de Jacobi convergen a la solución del sistema partiendo de cualquier estimación inicial. Condición suficiente de convergencia  Matriz estrictamente diagonalmente dominante: dominante para i=1..i1||ain |  Si A es estrictamente diagonalmente dominante. .i1||ai...n |aii | |ai1||ai.

n1 n1 ) / ann  . Iteración de Gauss-Seidel x (k+1) 1  (b1  a x(k) 12 2 a x (k) 13 3   a x ) / a11  (k) 1n n  x (k+1) 2  (b2  a x(k+1) 21 1 a x (k) 23 3   a x ) / a 22  (k) 2n n  x (k+1) 3  (b3  a x(k+1) 31 1 a x (k+1) 32 2   a x ) / a 33  (k) 3n n         x (k+1) n  (bn  a x(k+1) n1 1 a x (k+1) n2 2 a x (k+1) n.

L = tril(A. x = (L + D)\(b . U = triu(A. D = diag(d).-1). Expresión matricial Resolución con MATLAB A  L DU (L  D)x (k 1)  b  Ux (k) x (k 1)  (L  D) 1(b  Ux (k) ) d = diag(A).1).U*x) .

0<w<2 zi  x i  (k+1)  xi (k) x (k+1) i  (1  w)x (k) i  wxi  (k+1) . Método de sobrerrelajación xi k x ik+1 Gauss  Seidel: zi xik+1 xi(k+1)  xi(k)  zi Sobrerrelajacion: x (k+1) i x (k) i  wzi .

n1 n1 ) / a nn  . Paso de sobrerrelajación x1(k+1)  (1   )x1(k)   (b1  a12x(k) 2  a13x(k) 3   a (k) 1n n ) / a11 x   x (k+1) 2  (1   )x   (b2  21 1 (k) 2 a x (k+1)  a x 23 3 (k)   a 2nx(k) n ) / a 22    x (k+1) 3  (1   )x   (b3  a x (k) 3 (k+1) 31 1 a x (k+1) 32 2   a x ) / a 33 (k) 3n n         x(k+1) n  (1   )x (k) n   (b n  a x n1 1 (k+1)  a x n2 2 (k+1)   a x (k+1) n.

c = *b. Expresión matricial Resolución con MATLAB A  L DU (L  D)x (k+1)  (1   )Dx (k)   (b  Ux (k) ) (L  D)x (k+1)  b  ((1   )D  U)x (k) D = diag(diag(A)). C = (1-)*D .*U x = (L + D)\(c + C*x) .

xTAx > 0  Si A es simétrica definida positiva y 0<w<2. . Condición suficiente de convergencia  Matriz simétrica definida positiva: positiva AT = A. los iterados de SR convergen a la única solución del sistema. partiendo de cualquier estimación inicial.

Ecuación del Calor en un rectángulo N W C E S  VC = (VN + VS + VE + VW)/4 .

p-1). . v = ones(1.diag(v. end w = ones(1. Generación de la matriz con MATLAB function A = mcalor2(m. v(k) = 0..1) . for k=n:n:p-1.-1) .diag(w... .diag(v.n) .p-n).diag(w.n) p = m*n. A = 4*eye(p) .. .-n).

 La matriz ha de cumplir ciertas condiciones para que el método converja. . Resumen  Los métodos iterativos se aplican a matrices grandes y dispersas. dispersas  El coste por iteración es O(n2) o menor si se aprovecha la dispersidad  Se espera que converjan en menos de n pasos.