Análisis Numérico de Ecuaciones en Derivadas Parciales 2 ... · An alisis Num erico de Ecuaciones...
Embed Size (px)
Transcript of Análisis Numérico de Ecuaciones en Derivadas Parciales 2 ... · An alisis Num erico de Ecuaciones...

Analisis Numerico deEcuaciones en Derivadas Parciales
2. Metodos Iterativos
G. Dıaz
Matematica AplicadaUCM
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 1 / 67

Ecuacion de Poisson unidimensional
Como es bien sabido el operador autoadjunto
H2(0,L) ∩H10(0,L)
A−→ L2(0,L)u 7→ −∆u
admiteλn =
(nπL
)2(autovalores), n ≥ 1, 2, . . .
Xn(x) =
√2
Lsenx
√λn (autofunciones)
Para u ∈ L2(0,L), u(0) = 0 = u(L), se obtiene el desarrollo en L2(0,L)
u(x) =∑n≥1
Bn(u)Xn(x) (uniforme si u ∈ C0,α([0,L]))con
Bn(u) = 〈u,Xn〉2 =
√2
L
∫ L
0u(x) senx
√λndx, n ≥ 1.
Se prueba
‖u‖22 =∑n≥1
|Bn(u)|2 (identidad de Parseval).
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 2 / 67

Ecuacion de Poisson unidimensional
Utilicemos esa herramienta para abordar el problema continuo−u′′ = f en ]0,L[,u(0) = 0 = u(L),
Se tiene
Bn(f) = 〈f,Xn〉 = 〈−u′′,Xn〉 = 〈u,−X′′n〉 = λn〈u,Xn〉 = λnBn(u), n ≥ 1,
de donde
u(x) =∑n≥1
Bn(f)
λnXn(x) =
∫ L
0G(x, ξ)f(ξ)dξ, 0 ≤ x ≤ L.
con
G(x, ξ) =
funcion de Green︷ ︸︸ ︷∑n≥1
Xn(x)Xn(ξ)
λn=
2L
π2
∑n≥1
sennπx
Lsen
nπξ
Ln2
, 0 ≤ x, ξ ≤ L.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 3 / 67

Ecuacion de Poisson unidimensional
Se prueba la representacion
G(x, ξ) =
−(L + ξ)x
L, 0 ≤ x ≤ ξ ≤ L,
(L− x)ξ
L, 0 ≤ ξ ≤ x ≤ L.
0 0.5 1 1.5 2 2.5 3 3.5 40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8Función aproximada de Green−Dirichlet del operador −u", con n = 100
x
G(x
,s)
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 4 / 67

Ecuacion de Poisson unidimensional. Un ejemplo
Para la funcion de Heaviside enL
2, la solucion viene dada por
u(x) =
L
8x, 0 ≤ x ≤ L
2,
L− x2
(x− L
4
),
L
2≤ x ≤ L.
• Aunque f ∈ C([0,L] \ L2 ) se verifica u ∈ C1([0,L]) ∩ C2([0,L] \ L
2 ).
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 5 / 67

Ecuacion de Poisson unidimensional. Un ejemplo
0 0.5 1 1.5 2 2.5 3 3.5 4
−1
−0.5
0
0.5
1
1.5
2
Solución exacta de −u"=HL/2
x
u(x
)
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 6 / 67

Armonicidad discreta en un intervalo
Sobre Ω =]0,L[ se considera el mallado unidimensional de paso
uniforme, h, en los nodos xj = jh, j = 0, . . . ,M + 1 =L
hcuyo conjunto
sera denotado por Ωh.
Nodos de contorno
Nodos interiores
Distinguimos dos tipos de nodos:• interiores xj ∈ Ωh dados por j = 1, . . . ,M.• contorno xj ∈ ∂Ωh dados por j = 0,M + 1.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 7 / 67

Armonicidad discreta en un intervalo
Usemos la discretizacion en diferencias centradas
∆u(x) =
∆hu(x)︷ ︸︸ ︷u(x+ h)− 2u(x) + u(x− h)
h2+O(h2),
se tienecontinuo︷ ︸︸ ︷∆u(x) =
discreto︷ ︸︸ ︷∆hu(x) +
truncamiento︷ ︸︸ ︷O(h2) .
Por tanto, estamos interesados en el esquema
∆hUj.=
Uj+1 − 2Uj + Uj−1
h2, j = 1, . . . ,M,
para ciertos valores Uj , sobre los nodos xj , destinados a aproximar auj = u(xj), que determinan funciones nodales U ∈ Nh,M+2.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 8 / 67

Armonicidad discreta en un intervalo
Observacion
• Para j = 1, . . . ,M, se tiene la equivalencia
Armonicidad discreta︷ ︸︸ ︷∆hUj = 0 ⇔ Uj =
Uj+1 + Uj−1
2︸ ︷︷ ︸Teorema del Valor Medio
• En ∆hUj , con j = 1,M, intervienen valores nodales de contornoU0, UM+1, respectivamente.• La armonicidad discreta es independiente del paso, h, del mallado.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 9 / 67

Armonicidad discreta en un intervalo. Version matricial
La funcion nodal
U =
U0
U1...
UM
UM+1
.=
U0
Uint
UM+1
∈ RM+2
es armonica si es solucion del problema discreto
Uj+1 − 2Uj + Uj−1 = 0, j = 1, . . . ,M,
es decir,
2U1 −U2 = U0
−U1 +2U2 −U3 = 0. . .
. . .. . .
...−UM−2 +2UM−1 −UM = 0
−UM−1 +2UM = UM+1
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 10 / 67

Armonicidad discreta en un intervalo. Version matricial
Por tanto, solucion de la ecuacion matricial
K1DUint = ΦU0,UM+1en RM
para
K1D =
2 −1−1 2 −1
. . .. . .
. . .
−1 2 −1−1 2
, ΦU0,UM+1=
U0
0...0
UM+1
Debido a que la matriz K1D es no singular, la unica funcion nodalarmonica con U0 = UM+1 = 0 es la identicamente nula.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 11 / 67

Ecuacion de Poisson unidimensional discreto
Regresemos al problema de Poison en el dominio en los nodos
xj = jh, j = 0, . . . ,M + 1 =L
h.
Nodos de contorno
Nodos interiores
Para los valores nodales, Uj , fj = f(xj), 1 ≤ j ≤ M, se tiene elproblema discreto
−Uj+1 + 2Uj −Uj−1 = h2fj , j = 1, . . . ,M,U0 = 0 = UM+1
o equivalentemente en su forma matricial
K1Dh Uint = Fint en RM,
con K1Dh = h−2K1D.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 12 / 67

Ecuacion de Poisson unidimensional discreto. Codigo
1 function U = Poisson1DDirichletDirecto(x,F);2 % Resuelve la ecuacion -u''= f con datos fuente f y condiciones de contorno3 % de tipo Dirichlet definida por la malla x mediante un esquema de4 % segundo orden usando un metodo directo5 %6 % Variables de entrada:7 % x: Vector de puntos equiespaciados que definen la malla espacial8 % h: Paso del mallado9 % F: Vector fila con el dato fuente f
10 %11 % Variables de salida12 % U: Poisson1DDirichletDirecto(x,F)13
14
15 h = x(2)-x(1); M = length(x);16 nu=1/h; nu2 = nu*nu;17 e = ones(M,1);18 K=spdiags([-nu2*e 2*nu2*e -nu2*e],-1:1,M,M);19 U = K\F';20 titulo = ['Solucion por metodo directo de -u"=f, con paso h = ' num2str(h)];
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 13 / 67

Ecuacion de Poisson unidimensional discreto. Codigo
21 plot(x,U,'LineWidth',2); title(titulo);22 xlabel('x','Fontsize',11); ylabel('u a(x)','Fontsize',11);23 %Axis('off')24 %Axis('equal')
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 14 / 67

Ecuacion de Poisson unidimensional discreto. Codigo
1 %%% Variables de entrada para usar con el fichero Poisson1DDirichletDirecto.m2 %3 % L= longitud intervalo4 % h= paso del mallado5 % x: Vector de puntos equiespaciados que definen la malla espacial6 % F: Vector fila con el dato fuente f7 format long8 prompt='Introduce la longitud del intervalo L','Introduce el paso del mallado h';9 def='4','.001';
10 title='Dominio computacional';11 lineNo=1;12 datos=str2num(char(inputdlg(prompt,title,lineNo,def)));13 L=datos(1);14 h=datos(2);15 % L=input('Longitud del intervalo ');16 % %L=4;17 % h=input('paso del mallado ');18 % %h=0.001;19 x=0:h:L;20 F=0*(x≤.5*L)+1*(x>.5*L); %funcion de Heaviside en .5*L
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 15 / 67

Ecuacion de Poisson unidimensional discreto. Codigo
21 U=Poisson1DDirichletDirecto(x,F); % U=nombreficheroejecutable22 pause(3)23 %%% La aproximacion24 exact=(((Lˆ2)*x)/(8*L)).*(x≤.5*L)+(((L-x)/2).*(x-((L)/4))).*(x>.5*L);
%Solucion exacta25 error=abs(U' - exact);26 prompt='Puntos interiores','Valores aproximados','Error' ;27 s=num2str(x),num2str(U'),num2str(error);28 title='Informacion de la aproximacion';29 lineNo=1;30 str2num(char(inputdlg(prompt,title,lineNo,s)));31 pause(3)32 %%% Calculo del error en norma infinito33 [errinf i]=max(error);34 prompt='Error en norma infinito','Se alcanza en el punto';35 s=num2str(errinf),num2str(x(i));36 title='Informacion de la aproximacion';37 lineNo=1;38 str2num(char(inputdlg(prompt,title,lineNo,s)));39 warndlg('El programa ha finalizado','Mensaje')40 format
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 16 / 67

Ecuacion de Poisson unidimensional discreto
0 0.5 1 1.5 2 2.5 3 3.5 40
0.2
0.4
0.6
0.8
1
1.2
1.4Solución por método directo de −u"=f, con paso h = 0.001
x
ua(x
)Error en norma infinito 0.0015,se alcanza en el punto x=4
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 17 / 67

Ecuacion de Poisson unidimensional
La expresion anterior
2U1 −U2 = h2f1 + U0
−U1 +2U2 −U3 = h2f2
. . .. . .
. . ....
−UM−2 +2UM−1 −UM = h2fM−1
−UM−1 +2UM = h2fM + UM+1
permite abordar el problema con condiciones de tipo Dirichlet nohomogeneas
−u′′ = f en ]0,L[,u(0) = α u(L) = β,
para fj = f(xj), 1 ≤ j ≤ M y U0 = α, UM+1 = β.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 18 / 67

Comentarios a los metodos directos
La propagacion de los errores de redondeo es grande.
Las matrices que aparecen en las aplicaciones, por ejemplo K1D,son huecas: gran cantidad de elementos nulos (de orden M)
Si los elementos no nulos estan en distribuidos sobre la diagonalprincipal los metodos de factorizacion LU o de Cholesky nopresentan ningun problema, pues conservan esas propiedades.En caso contrario (matrices dispersas) los metodos directos tiendena rellenar la matriz, con lo que en cada paso aumenta el numero deelementos que hay que anular. Ası ocurre con la ecuacion de Poissonsujeta a condiciones de tipo periodico. De todas formas, existentecnicas refinadas para adaptar los metodos directos a matricesdispersas.Los metodos iterativos, aunque solo aportan solucionesaproximadas, usan reiteradamente las matrices originales,diagonales o triangulares en la mayorıa de las aplicaciones, con loque el coste de cada iteracion no es mayor que el producto de unamatriz por un vector.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 19 / 67

Indice
1 Ecuacion de Poisson con condiciones de contorno de tipo Dirichlet2 Comentarios a los metodos directos3 Introduccion
Teorıa espectral elementalMatrices ToeplitzNormas matricialesDetencion de las iteraciones
4 Esquemas estacionarios5 Esquema de Richardson
PrecondicionamientoRelajacion
6 Metodos estacionarios clasicosMetodo de JacobiMetodo de Gauss–SeidelMetodo de relajacion
7 Algunos codigosMetodo de JacobiMetodo de Gauss SeidelG. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 20 / 67

Introduccion
Los metodos iterativos pretenden resolver el sistema
Ax = f
mediante una convergencia
lımn→∞
xn = x
de valores aproximados xn obtenidos por un algun recurso iterativo:
estacionario xn+1 = F(xn), no depende de la historia anterior
x0, x1, . . . ,xn−1
no estacionario xn+1 = F(xn,xn−1,xn−2, . . .
)Claramente la convergencia anterior require el uso de normasmatriciales en las que
lımn→∞
‖xn − x‖ = 0.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 21 / 67

Teorıa espectral de matrices
Asociado a cada matriz A ∈M(R,M) se tiene el polinomiocaracterıstico
PA(λ) = det (A− λI) =
m(A)∏`=1
(λ− λ`)ma(λ`), 1 ≤ m(A) ≤ M.
Autovalores son los ceros, λ`, del polinomio caracterıstico con sucorrespondiente multiplicidad algebraica ma(λ`), 1 ≤ ` ≤ m(A),
m(A)∑`=1
ma(λ`) = M.
El espectro de A es σ(A) = λ1, . . . , λm(A) ⊂ C y su radio espectral
%(A) = max1≤`≤m(A)
|λ`|
La matriz A es diagonalizable si todos los autovalores son distintos.G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 22 / 67

Teorıa espectral de matrices
Teorema (Teorema de los cırculos de Gerschgorin)
Se verifica la localizacion
σ(A) ⊂M⋃i=1
Bri(aii) ⊂ C, ri =∑j 6=i|aij |.
Idea de la prueba Sea λ ∈ σ(A) y v tal que Av = λv. Entonces(λ− aii
)vi =
M∑j=1j 6=i
aijvj ⇒ |λ− aii| · |vi| ≤M∑j=1j 6=i
|aij | · |vj |
En particular, para i0 = argmax1≤j≤M|vj |, |vi0 | > 0 se tiene
|λ− ai0i0 | ≤
M∑j=1j 6=i0
|ai0j | · |vj |
|vi0 |≤
M∑j=1j 6=i0
|ai0j | ⇒ λ ∈ Bri0(aii0ii0).
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 23 / 67

Teorıa espectral de matricesPara la matriz
K1D =
2 −1−1 2 −1
. . .. . .
. . .
−1 2 −1−1 2
∈M(R,M)
se tiene la estimacion
−0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5−2
−1.5
−1
−0.5
0
0.5
1
1.5
2Círculo de Gershgorin: Autovalores de K1D de orden M = 10
Eje real
Eje
imag
inar
io
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 24 / 67

Matrices Toeplitz
Las matrices constantes en sus diagonales se denominan Toeplitz
d0 d1 · · · · · · dM−2 dM−1
d−1 d0 d1. . .
. . . dM−2
d2 d−1 d0 d1. . . · · ·
.... . .
. . .. . .
. . .. . .
.... . .
. . .. . .
. . . d1
d−M+1 · · · · · · · · · d−1 d0
∈M(R,M)
aparecen en la discretizacion de operadores en derivadas parcialessujetos a condiciones de contorno.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 25 / 67

Matrices Toeplitz. Matrices tridiagonal
Las matrices Toeplitz mas frecuentes son las tridiagonales, definidaspor las condiciones dj 6= 0, j = −1, 1 y dj = 0, j 6= −1, 0, 1. Surgen enesquemas centrados de tres puntos.
d0 d1 · · · · · · · · · · · ·
d−1 d0 d1. . .
. . . · · ·... d−1 d0 d1
. . . · · ·...
. . .. . .
. . .. . .
. . ....
. . .. . . d−1 d0 d1
· · · · · · · · · · · · d−1 d0
∈M(R,M)
tieneλ` = d0 + 2d1
√d−1
d1cos
`π
M + 1, (autovalores)
v` =
(√
d−1
d1
)jsen
`πj
M + 1, j = 1, . . . ,M,
, (autovectores)
` = 1, . . . ,M.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 26 / 67

Elementos de aproximacion. Matrices circulantes
Un caso interesante de matrices Toeplitz son las circulantes
d0 d1 · · · · · · · · · dM
dM d0 d1. . .
. . . dM−1
dM−1 dM d0 d1. . . · · ·
.... . .
. . .. . .
. . .. . .
.... . .
. . .. . .
. . .. . .
d1 d2 · · · · · · dM d0
∈M(R,M + 1)
en las que si dj = dj−M−1. Surgen al considerar condiciones periodicasde contorno. Sus autovalores vienen dados por
λ` =
M∑k=0
dke2πık`M+1 , ` = 1, . . . ,M + 1, (ı =
√−1),
con lo que λM+1 =
M∑k=0
dk.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 27 / 67

Matrices Toeplitz. Matrices circulantes
En la discretizacion del operadord2
dx2con condiciones periodicas surge
2 −1 −1−1 2 −1
−1 2 −1. . .
. . .. . .
−1 2 −1−1 −1 2
∈M(R,M + 1)
Se trata de una matriz singular, cuyo nucleo es una variedad linealunidimensional generada por(
v0
)t=(1, 1, . . . , 1, 1
),
que coincide con los autovalores del autovalor nulo. Notese que susautovalores vienen dados por
λ` = 2− e2πı`M+1 − e
2πıM`M+1 , ` = 1, . . . ,M + 1, (ı =
√−1),
con lo que λM+1 = 0.G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 28 / 67

Introduccion. Normas subordinadas
Definicion
Una norma sobre el espacio vectorial M(R,M) es matricial si verifica
|||AB||| ≤ |||A||| · |||B|||.
Definicion
Toda norma ‖ · ‖ sobre RM induce sobre M(R,M) la la norma inducidao subordinada
|||A||| .= supx 6= 0
‖Ax‖‖x‖
= sup‖x‖ = 1
‖Ax‖.
Observacion
Toda norma inducida o subordinada es matricial, pues
‖ABx‖ ≤ |||A||| · ‖Bx‖ ≤ |||A||| · |||B||| · ‖x‖,
y verifica |||I||| = 1, por construccion. G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 29 / 67

Introduccion. Normas subordinadas
Si Av = λmaxv, %(A) = |λmax|, y w tal que vwt es una matriz no nula,entonces
%(A)|||vwt||| = |λmax| · |||vwt||| = |||λmaxvwt||| ≤ |||A||| · |||vwt|||,
es decir,%(A) ≤ |||A|||,
para cualquier norma matricial (subordinada o no). Por tanto,(%(A)
)n= %(An)≤ |||An|||.
De hecho se prueba
Proposicion
%(A) = lımn→∞
|||An|||1n ,
para cualquier norma matricial (subordinada o no).
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 30 / 67

Introduccion. Normas subordinadas
Se obtiene el siguiente resultado
Proposicion
Para cada matriz A y cada ε > 0 existe una norma matricialsubordinada ||| · |||A,ε tal que
|||A|||A,ε ≤ %(A) + ε.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 31 / 67

Introduccion. Normas subordinadas
Proposicion
Se verifica la subordinacion
‖x‖1 =
M∑i=1
|xi| ⇒ |||A|||1 = maxj
∑i
|aij |.
Idea de la prueba
‖Ax‖1 =∑i
∣∣∣∣∑j
aijxj
∣∣∣∣ ≤∑j
(maxk
∑k
|aik|
)|xj | =
(maxk
∑k
|aik|
)‖x‖1.
Por otra parte, para x con xi = δij , j = argmaxk∑i
|aik| se verifica
(Ax)i
= δijaij ⇒ ‖Ax‖1 =∑i
|aij | = maxk
∑k
|aik|
=1︷ ︸︸ ︷‖x‖1 .
Observacion
Para una funcion g real y continua en un compacto K se usa la notacion
x = argmaxy∈Kg(y) ⇔ g(x) ≥ g(y), y ∈ K
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 32 / 67

Introduccion. Normas subordinadas
Proposicion
Se verifica la subordinacion
‖x‖∞ = maxi|xi| ⇒ |||A|||∞ = max
i
∑j
|aij |.
Idea de la prueba
‖Ax‖∞ = maxi
∣∣∣∣∣∑j
|aijxj |
∣∣∣∣∣ ≤ maxi
∑j
|aik| · |xj | ≤ maxi
∑j
|aik|‖x‖∞.
Por otra parte, para x con xj = signaij , i = argmaxk∑j
|akj | se
verifica
‖Ax‖∞ = maxi
∣∣∣∣∑k
aikxj
∣∣∣∣ = maxk
∑k
|aik|
=1︷ ︸︸ ︷‖x‖∞ .
Observacion
|||A|||1 = |||At|||∞. G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 33 / 67

Introduccion. Normas subordinadas
Proposicion
Se verifica la subordinacion
‖x‖2 =
√√√√ M∑i=1
x2i ⇒ |||A|||2 =
√%(AtA).
Cuando A es simetrica se obtiene |||A|||2 = %(A).
Idea de la prueba
B = AtA es simetrica
σ(B) = λ1, . . . , λM ⊂ R,los autovectores v1, . . . ,vM verifican vtivj = δij .
Ademas
xtBx =(∑
i
〈x,vi〉vti)(∑
j
〈x,vj〉λjvj)
=∑ij
〈x,vi〉〈x,vj〉λjvtivj =∑i
(〈x,vi〉
)2λi,
de donde
|||A|||22 = maxx6=0
xtBx
xtx= max
x 6=0
∑i
(〈x,vi〉
)2λi∑
i
(〈x,vi〉
)2 = maxj|λj |.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 34 / 67

Introduccion. Normas subordinadas
La norma de Frobenius
|||A|||F.=
√∑ij
|aij |2
es matricial, pero no es subordinada pues |||I|||F =√
M > 1, M ≥ 2. Severifican las desigualdades |||A|||∞ ≤ |||A|||p ≤
p√
M|||A|||∞, p ≥ 1,
|||A|||2 ≤ |||A|||F ≤√
M|||A|||2,
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 35 / 67

Introduccion. Detencion de las iteracionesEs imposible conocer todas las iteraciones, xn, por lo que se detiene suobtencion con una tolerancia admisible
‖en‖ = ‖xn − x‖ < tol (error absoluto) o‖en‖‖x‖ < tol (error relativo)
pero no es realista (x no es conocido). En su lugar, se usan los residuos rn = f − Axn = Aen ⇒ ‖rn‖ ≤ |||A||| · ‖en‖, ‖en‖ ≤ |||A−1||| · ‖rn‖,
‖f‖ ≤ |||A||| · ‖x‖, ‖x‖ ≤ |||A−1||| · ‖f‖
Lema
1
|||A||| · |||A−1|||‖rn‖‖f‖ ≤
‖en‖‖x‖ ≤ |||A||| · |||A
−1||| ‖rn‖‖f‖ .
Interesa que
condicion︷ ︸︸ ︷κ(A) = |||A||| · |||A−1||| ≥ 1 sea lo menor posible. Se mejora
con precondicionamientos BAx = Bf con 1 ≤ κ(BA) ≤ κ(A). Se tiene
κ2(A) =
√λmax(AtA)
λmin(AtA).
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 36 / 67

Esquemas estacionarios
El mas sencillo esta basado en el razonamiento de punto fijo
x = x+(f−Ax
)⇒ xn+1 = xn +
rn︷ ︸︸ ︷(f − Axn
)︸ ︷︷ ︸esquema de Richardson
o xn+1 =(I−A
)xn+f
y en general, para la matriz de iteracion o amplificacion, M,
x = Mx + c ⇒ xn+1 = Mxn + cen=xn−x︷︸︸︷ en+1 = Men
que da lugar a la iteracion
xn =
(n−1∑i=0
Mi
)c + Mnx0 en = Mne0
Notese que un razonamiento telescopico lleva a la equivalencia,
x = (I + . . .+ Mn + . . .+) (I−M)x ⇔ (I−M)−1 =
(serie de von Neumann)︷ ︸︸ ︷∑n≥0
Mn
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 37 / 67

Esquemas estacionarios
Lema
Si |||M||| < 1 entonces I−M es no singular y
|||(I−M
)−1||| ≤ |||I|||1− |||M|||
.
para cualquier norma matricial (subordinada o no)
Idea de la prueba
%(M) ≤ |||M||| < 1
1 6∈ σ(M)︷︸︸︷⇔ det (M− I) 6= 0.
De donde
(M−I)(M−I)−1 = I ⇔ M(M−I)−1−(M−I)−1 = I ⇔ (M−I)−1 = I−M(I−M)−1
Observacion
|||M||| < 1 ⇒ |||(I−M)−1||| ≤∑n≥0
|||M|||n =|||I|||
1− |||M||| .
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 38 / 67

Esquemas estacionarios
Teorema
Las siguientes afirmaciones son equivalentes
el esquema es convergente.
%(M) < 1.
|||M||| < 1, para alguna norma matricial, que se puede tomarsubordinada.
Idea de la prueba Para cualquier e0
lımn→0
en = 0
en = Mne0︷︸︸︷⇔ lım
n→0Mne0 = 0 ⇔ %(M) < 1.
• %(M) ≥ 1⇒ ∃λ ∈ σ(A), |λ| ≥ 1 lleva a
lımn→∞
‖Mnv‖ = lımn→∞
|λ|n‖v‖ 6= 0 (v autovector correspondiente).
• %(M) < 1⇒ |||M|||M,ε < 1, para < ε < 1− %(M) lleva a
|||Mn|||M,ε≤(|||M|||M,ε
)n→ 0, n→∞.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 39 / 67

Esquemas estacionarios
Observacion
Por tanto, para abordar el esquema iterativo
xn+1 = Mxn + cen=xn−x︷︸︸︷ en+1 = Men
interesa mostrar %(M) < 1 o, de una forma mas practica, |||M||| < 1 paraalguna norma matricial (subordinada o no). En ese caso, se satisface latasa de convergencia
lımn→∞ (|||Mn|||)1n = %(M)
⇓sup
‖e0‖ = 1‖en‖ = sup
‖e0‖ = 1‖Mne0‖ = |||Mn||| ∼ (%(M))n , n→∞.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 40 / 67

Esquemas estacionarios. Esquema de Richardson
• Precondicionamiento Regresemos al esquema
x = x +(f − Ax
)⇒ xn+1 = xn +
rn︷ ︸︸ ︷(f − Axn
)︸ ︷︷ ︸esquema de Richardson
que converge si y solo si %(I− A) < 1, o de una forma mas practica si|||I− A||| < 1 para alguna norma matricial (subordinada o no). Esto noslleva a considerar precondicionamiento
x = x +(Bf − BAx
)⇒ xn+1 = xn +
Brn︷ ︸︸ ︷(Bf − BAxn
)︸ ︷︷ ︸esquema de Richardson precondicionado
para alguna matriz no singular B (inversa aproximada de A) tal que,verificando %(I− BA) < 1 o |||I− BA||| < 1, mejore el metodo iterativo,para alguna norma matricial (subordinada o no).
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 41 / 67

Esquemas estacionarios. Esquema de Richardson
Teorema (Lema de Banach)
Si B es una inversa aproximada de A entonces A y B son no singularesy
|||A−1||| ≤ |||I||| · |||B|||1− |||I− BA||| , |||B−1||| ≤ |||I||| · |||A|||
1− |||I− BA||| ,
|||A−1 − B||| ≤ |||I||| · |||B||| · |||I− BA|||1− |||I− BA||| , |||B−1 − A||| ≤ |||I||| · |||A||| · |||I− BA|||
1− |||I− BA||| .
Idea de la prueba Definiendo M = I−BA las propiedades anterioresmuestran que I−M = BA es no singular y, por tanto, tambien B y A.Ademas, por analogıa, basta probar una pareja de desigualdades.
|||(BA)−1||| = |||A−1B−1||| ≤ |||I|||
1− |||I− BA|||⇓
|||A−1||| ≤ |||A−1B−1||| · |||B||| ≤ |||I||| · |||B|||1− |||I− BA||| ,
|||A−1 − B||| ≤ |||(I− BA
)A−1||| ≤ |||I||| · |||B||| · |||I− BA|||
1− |||I− BA|||
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 42 / 67

Metodos iterativos. Esquema de Richardson
• Relajacion xn+1 = (I− A)xn + f xn+1 = (I− ωA)xn + ωf .Entonces si A es simetrica y definida positiva se tiene σ(A) ⊂ R+ y
σ(I− ωA
)= 1− ωσ(A) =
1− ωλ : λ ∈ σ(A)
⊂ R,
con 1− ωλmax ≤ 1− ωλ ≤ 1− ωλmin < 1
%(I− ωA
)= max1− ωλmin,−1 + ωλmax.
La convergencia se verifica si ω ≤ ωcrit
.=
2
λmax
≥ 2
λmax + λmin
= ωopt
%(I− ωA
)< 1 ⇔ −1 < 1− ωλmax,
%(I− ωA
)=
−1 + ωλmax ≥ 1− ωλmin
o
1− ωλmin ≥ −1 + ωλmax
≥ %(I− ωoptA
),
ωopt =2
λmax + λmin
=1
1 +(κ2(A)
)−1ωcrit.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 43 / 67

Metodos estacionarios clasicos. Metodos splittings
Veamos algunos metodos splittings basados en la descomposicion
A = A1 + A2Ax = f⇒ x = A−1
1
(f − A2x
)con lo que interesa que A1 sea no singular y facil de factorizar. Demodo que todo consiste en probar %
(− A−1
1 A2
)< 1.
Notese la relacion
−A−11 A2V = λ−A−1
1 A2V ⇔ (A− A1)V = −λ−A−11 A2A1V
de dondeAV =
(1− λ−A−1
1 A2)A1V.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 44 / 67

Metodos estacionarios clasicos. Metodo de Jacobi
Metodo de Jacobi, aii 6= 0, 1 ≤ i ≤ M. Interesa
A =
diagonal de A︷︸︸︷D +
triangular inferior de A︷︸︸︷Tl +
triangular superior de A︷︸︸︷Tu
con J = −D−1(Tl + Tu
)(matriz de Jacobi). La implementacion
efectiva es
Dxn+1 = f −(Tl +Tu
)xn = f −
(A−D
)xn ⇒ xn+1 = D−1rn +xn.
Todo xn+1 ∈ RM se obtiene simultaneamente.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 45 / 67

Metodos estacionarios clasicos. Metodo de Jacobi
Teorema
Toda matriz diagonal estrictamente dominante
|aii| >∑j 6=i|aij |, i = 1, . . . ,M,
es no singular y determina un metodo de Jacobi convergente.
Idea de la Prueba La matriz de Jacobi correspondienteJ = −D−1
(Tl + Tu
)= mij , 1 ≤ i, j ≤ M verifica∑j 6=i|mij | =
∑j 6=i |aij ||aii|
< 1,
es decir, %(J ) ≤ |||J |||∞ < 1. Por tanto la iteracion converge a
x = J x+D−1f ⇒ x =(I−D−1A)x+D−1f ⇒
Ax = f ,I− J = D−1A es no singular,A es no singular.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 46 / 67

Metodos estacionarios clasicos. Metodo de Jacobi
Detallemos esas iteraciones para la expresion discreta del problema dePoisson con condiciones homogeneas de tipo Dirichlet
K1DUint = h2Fint en RM,
con
K1D =
2 −1−1 2 −1
−1 2 −1
−1 2 −1−1 2
∈M(R; M),
en la forma(2I + K1D
l + K1Du )Uint = h2Fint
siendo K1Dl y K1D
u las matrices triangulares estrictamente inferior ysuperior a la diagonal. Notese
λK1D
` = 2
(1− cos
`π
M + 1
), ` = 1, . . . ,M ⇒ %
(K1D) = 2
(1− cos
Mπ
M + 1
)> 1.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 47 / 67

Metodos estacionarios clasicos. Metodo de Jacobi
Consiste en tomar
K1D = A1 + A2, A1 = 2I, A2 = K1Dl + K1D
u ,
determinado la matriz de Jacobi
J = −I−1
(K2Dl + K2D
u
2
)= −K1D
l + K2Du
2
(= −A−1
1 A2
)y, escribiendo la iteracion como exponente,
Un+1int =
iteraciones simultaneas︷ ︸︸ ︷JUn
int + h2Fint
2⇒
convergencia︷ ︸︸ ︷%(J ) < 1
es decir,
Un+1j =
Unj+1 + Un
j−1
2+h2
2fj , 1 ≤ j ≤ M.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 48 / 67

Metodos estacionarios clasicos. Metodo de Jacobi
Los autovalores de J = −K1Dl + K2D
u
2vienen dados por
JVint = λJVint ⇔ Vj+1 + Vj−1 = 2λJVj
con
1 ≤ ` ≤ M︷ ︸︸ ︷2λJ` = 2 cos
`π
M + 1⇒ %(J ) = cos
π
M + 1≈ 1− 1
2
(π
M + 1
)2
.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 49 / 67

Metodos estacionarios clasicos. Metodo de Gauss–Seidel
Metodo de Gauss–Seidel, aii 6= 0, 1 ≤ i ≤ M. Hagamos
A =
diagonal de A︷︸︸︷D +
triangular inferior de A︷︸︸︷Tl +
triangular superior de A︷︸︸︷Tu
como D + Tl es inversible, ahora interesa
(D+Tl
)xn+1 = f −Tuxn
A = D + Tl + Tu︷︸︸︷⇒ xn+1 = D−1 (rn − Tl
(xn+1 − xn
))+ xn,
con L1 = −(D + Tl
)−1Tu)
(matriz de Gauss-Seidel). Aquı se vanobteniendo las componentes de xn+1 ∈ RM sin necesidad de conocertodas las de xn (solo las precedentes), por lo que debe ser mas rapido.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 50 / 67

Metodos estacionarios clasicos. Metodo de Gauss–Seidel
Regresemos al problema de Poisson con condiciones homogeneas detipo Dirichlet. Se trata de considerar la descomposicion
K1D = A1 + A2, A1 = 2I +
precedentes︷︸︸︷K1Dl , A2 = K1D
u ,
determinando la matriz de Gauss–Seidel L1 = −(2I + K1D
l
)−1K1Du y la
iteracion
2IUn+1int +
precedentes︷ ︸︸ ︷K1Dl Un+1
int = −K1Du Un
int + h2Fint,
escribiendo la iteracion como exponente, es decir,
Un+1j =
Unj+1 +
precedentes︷ ︸︸ ︷Un+1j−1
2+h2
2fj , 1 ≤ j ≤ M.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 51 / 67

Metodos iterativos. Metodo de Gauss–Seidel
Los autovalores de L1 = −(2I + K1D
l
)−1K1Du vienen dados por
L1Vint = λL1Vint ⇔ −(λL1K1D
l + K1Du
)Vint = 2λL1Vint
es decir,λL1Vj−1 − 2λL1Vj + Vj+1 = 0,
caracterizados por
0 = det
−2λL1 1λL1 −2λL1 1
λL1 −2λL1 1
λL1 −2λL1 1λL1 −2λL1
=∏`
λL1 − λL1 I
con lo que
0 =
M∏`=1
[−2λL1 + 2
√λL1 cos
`π
M + 1
]=(2√λL1
)M M∏`=1
[−√λL1 + λJ`
],
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 52 / 67

Metodos estacionarios clasicos. Metodo de Gauss–Seidel
que determina
√λL1 =
0, unico de orden M,
λJ` , ` = 1, . . . ,M.
La primera igualdad no es posible, pues implicarıa que 0 sea el unicoautovalor, con autovector Vint ∈ RM, Vj+1 = 0, j = 1, . . . ,M, comounico autovector que no puede generar RM. Tampoco pude ocurrir quesolo se anulen algunos factores, pues tampoco los correspondienteautovectores generarıan todo el espacio RM. De modo que se obtiene
λL1` =
(λJ`)2
= cos2 `π
M + 1≈ 1−
(π
M + 1
)2
, ` = 1, . . . ,M,
y por tanto,
%(L1) =(%(J )
)2= cos2 π
M + 1< cos
π
M + 1= %(J ).
La convergencia es mas rapida que en el metodo de Jacobi.G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 53 / 67

Metodos estacionarios clasicos. Metodo de relajacion
Metodo de relajacion, aii 6= 0, 1 ≤ i ≤ M. Tomemos
ωA =(D + ωTl
)−((1− ω)D− ωTu
)es decir,
A = A1 + A2, A1 =1
ωD + Tl, A2 = −
(1− ωω
D− Tu
),
determinado la matriz de relajacion
Lω =
(1
ωD + Tl
)−1(1− ωω
D− Tu
)y la implementacion efectiva
D
ω(xn+1 − xn) = f − Tlxn+1 − (D + Tu)xn
⇓xn+1 = D−1ω
(rn − Tl
(xn+1 − xn
))+ xn.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 54 / 67

Metodos estacionarios clasicos. Metodo de relajacion
Teorema (Kahan)
%(Lω)≥ |1− ω|, ω 6= 0.
Entonces%(Lω)< 1 ⇒ 0 < ω < 2.
Idea de la PruebaM∏`=1
λLω` = det Lω = det
(1
ωD + Tl
)−1(1− ωω
D− Tu
)
=det
1− ωω
D− Tu
det1
ωD + Tl
=det
1− ωω
D
det1
ωD
= (1− ω)M
de donde (%(Lω))M ≥ M∏
`=1
λLω` = (1− ω)M.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 55 / 67

Metodos estacionarios clasicos. Metodo de relajacion
Teorema (Kahan)
%(Lω)≥ |1− ω|, ω 6= 0.
Entonces%(Lω)< 1 ⇒ 0 < ω < 2.
Idea de una segunda Prueba
0 = det[Lω − λLω I
]= det
[(1
ωD + Tl
)−1(1− ωω
D− Tu
)− λLωI
]= ωMdet
[(1− ω)D− ωTu − λLω
(D + ωTl
)]= (−ω)Mdet
[(λLω + ω − 1
)I + ωD−1Tu + λLωωD−1Tl
)]= (−ω)M
[(λLω
)M+ . . .+ (ω − 1)M
]de donde (
%(Lω))M ≥ M∏
`=1
λLω` = (1− ω)M. G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 56 / 67

Metodos estacionarios clasicos. Metodo de relajacion
Una vez mas ilustramos con el problema de Poisson con condicioneshomogeneas de tipo Dirichlet, para el que se forma
ωK1D =(2I + ωK1D
l
)−(2(1− ω)I− ωK1D
u
)que determina la matriz de relajacion
Lω =
(2
ωI + K1D
l
)−1(2
1− ωω
I−K1Du
)y, escribiendo la iteracion como exponente,
Un+1j = (1− ω)Un
j + ωUnj+1 + Un+1
j−1
2+ ω
h2
2fj .
Los autovalores de Lω vienen dados por
LωVint = λLωVint ⇔ −(λLωK1D
l + K1Du
)Vint = 2
λLω + ω − 1
ωVint
es decir,
λLωVj−1 + Vj+1 = 2λLω + ω − 1
ωVj
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 57 / 67

Metodos estacionarios clasicos. Metodo de relajacion
Escribamos
λLωVj−1 − 2λLω + ω − 1
ωVj + Vj+1 = 0,
caracterizados por
0 = det
−2λLω + ω − 1
ω1
λLω −2λLω + ω − 1
ω1
λLω −2λLω + ω − 1
ω
=∏`
λLω − λLω I
=
M∏`=1
[−2
λLω + ω − 1
ω+ 2√λLω cos
`π
M + 1
]= 2M
M∏`=1
[−λLω + ω − 1
ω+√λLωλJ`
].
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 58 / 67

Metodos estacionarios clasicos. Metodo de relajacionComo en el metodo de Gauss–Seidel se requieren que todos los factoresse anulen, pues en caso contrario los correspondiente autovectores nopodrıan generar el espacio RM. Por tanto, para ` = 1, . . . ,M,
λLω` + ω − 1
ω︸ ︷︷ ︸recta de pendiente ω−1
=
√λLω` λJ` ⇔
√λLω` =
ωλJ` ±√ω2(λJ`)2 − 4(ω − 1)
2.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 59 / 67

Metodos estacionarios clasicos. Metodo de relajacion
A efectos de convergencia, el valor optimo de ω se corresponde con elvalor mınimo de %(Lωopt), que es determinado por la tangencia, es decir,
ω2opt
(%(J )
)2 − 4(ωopt − 1) = 0 ⇔ ωopt = 21±
√1−
(%(J )
)2(%(J )
)2y como los valores admisibles han de verificar 0 < ω < 2 se obtiene
ωopt = 21−
√1−
(%(J )
)2(%(J )
)2 =2
1 +√
1−(%(J )
)2 = 1 +
%(J )
1 +√
1−(%(J )
)22
,
%(Lωopt) =
(ωopt%(J )
)24
= ωopt − 1 =
%(J )
1 +√
1−(%(J )
)22
<(%(J )
)2︸ ︷︷ ︸%(L1)
< %(J ) < 1.
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 60 / 67

Metodo de Jacobi. Codigo para Ax = f
1 %%% Resolucion Ax=f mediante el metodo de Jacobi por puntos.2 %% A=D+Tl+Tu D*xn+1=f-(Tl+Tu)xn ANEDP 2010/20113 function x=JacobiG(A,f,maxit,e,x0)4 % x0=vector inicial;5 % maxit=numero maximo de iteracciones e=precision de error6 xn = x0;7 M = length(x0);8 for j = 1:maxit9 for i = 1:M
10 suma = 0;11 for j = [1:i-1 i+1:M]12 suma = suma+A(i,j)*xn(j);13 end14 xv(i) = (1/A(i,i))*(f(i)-suma);15 end16 if norm(xv-xn)≤e*norm(xn)17 disp('La solucion aproximada es: ')18 disp(xv')19 break20 else xn=xv;21 end22 endG. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 61 / 67

Metodo de Jacobi. Codigo para Ax = f (sobre el resto)
1 %%% Resolucion Ax=f mediante el metodo de Jacobi por puntos.2 %% A=D+Tl+Tu Dxn+1=(f-A*xn)+Dxn ANEDP 2010/20113 % maxit=numero maximo de iteracciones e=precision de error4 function x=JacobiGresto(A,f,maxit,e,x0) % x0=vector inicial5 xn=x0;6 M=length(x0);7 for j=1:maxit8 for i=1:M9 suma=0;
10 for j=1:M;11 suma=suma + A(i,j)*xn(j); % resto rn=f-A*xn12 end13 xv(i)=(1/A(i,i))*(f(i)-suma)+xn(i);14 end15 if norm(xv-xn)≤e*norm(xn)16 disp('La solucion aproximada es: ')17 disp(xv)18 break19 else xn=xv20 end21 end
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 62 / 67

Metodo de Gauss Seidel. Codigo para Ax = f (1)
1 %%% Resolucion Ax=f mediante el metodo de Gauss Seidel por puntos.2 %% A=D+Tl+Tu (D+Tl)x=f-Tu*x ANEDP 2010/20113 function [x] = GaussSeidelG2(A,f,tol)4 f=f';5 x=zeros(length(A),1);6 L=zeros(size(A));7 U=L;8 D=L;9 for j=1:length(A)
10 for k=1:length(A)11 if j>k12 U(j,k)=A(j,k);13 elseif j<k14 L(j,k)=A(j,k);15 else16 D(j,k)=A(j,k);17 end18 end19 end20 DL inv=inv(D+L);
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 63 / 67

Metodo de Gauss Seidel. Codigo para Ax = f (1)
1 while norm(f-A*x)>tol2 x=-DL inv*U*x+DL inv*f;3 end
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 64 / 67

Metodo de Gauss Seidel. Codigo para Ax = f (2)
1 %%% Resolucion Ax=f mediante el metodo de Gauss Seidel por puntos.2 %% A=D+Tl+Tu (D+Tl)x=f-Tu*x ANEDP 2010/20113 function [x,itns] = GaussSeidelG1(A,f,x,tol,maxit)4 f=f';5 x=x';6 itns = 0;7 r0 = norm(f-A*x);8 r = r0;9 n = length(x);
10 while (r/r0 > tol)11 for i=1:n,12 x(i) = (f(i)- A(i,:)*x + A(i,i)*x(i) ) / A(i,i);13 end14 r = norm(f-A*x);15 itns = itns + 1;16 if (itns > maxit)17 disp('Falla la convergencia.')18 break19 end20 end
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 65 / 67

Metodo de Gauss Seidel. Codigo para Ax = f (3)
1 %%% Resolucion Ax=f mediante el metodo de Gauss Seidel por puntos.2 %% A=D+Tl+Tu (D+Tl)x=f-Tu*x ANEDP 2010/20113 function [x, steps, relres] = GaussSeidelG3(A,f,tol,maxit,x0)4 f=f';5 x0=x0';6 n = length(x0);7 steps = 0;8 relres = 1;9 x = zeros(n,1);
10 while (relres > tol) && (steps ≤ maxit)11 steps = steps + 1;12 for i = 1:n13 x(i) = (f(i) - (sum(A(i,:)*x0) - A(i,i)*x0(i))) / A(i,i);14 x0(i) = x(i); % solo un poco distinto del metodo de Jacobi15 end16 relres = norm(f - A*x)/norm(f);17 x0=x;18 end
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 66 / 67

Metodo de Gauss Seidel. Codigo para Ax = f (3)
1 if steps > maxit2 relres,3 error('El metodo de Gauss-Seidel no converge en %d iteraciones', maxit);4 end
G. Dıaz (Matematica Aplicada UCM) 2. Metodos iterativos (ANEDP) Indice 67 / 67