Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ndice
Introduccin ............................................................................................................................................ 2
Objetivos ................................................................................................................................................. 2
Generalidades ......................................................................................................................................... 3
Marco terico.......................................................................................................................................... 3
1.
2.2
Conclusiones ......................................................................................................................................... 16
Bibliografa ............................................................................................................................................ 16
Introduccin
En este informe veremos procedimientos iterativos para resolver un sistema de ecuaciones lineales.
El primero de ellos conocido como el procedimiento de Richardson estacionario se basa en la idea de
un problema simtrico, un segundo procedimiento conocido como el mtodo de Richardson dinmico
donde se presenta un valor de aceleracin para que el mtodo converja en una solucin del sistema
lineal, un tercer procedimiento conocido como el mtodo del gradiente conjugado que implementa
la forma descendiente para su resolucin y otros dos mtodos conocidos como el mtodo del
gradiente conjugado precondicionado y el mtodo residual conjugado precondicionado, donde se
presenta una matriz de precondicionamiento cuadrada y fcil de invertir. Asimismo se comentara en
que situaciones los mtodos iterativos son ms convenientes que los mtodos directos.
Objetivos
Ser importante para el lector
o Mtodo iterativo,
o Parmetro de relajacin,
o Parmetro de relajacin dinmico o de aceleracin,
o Convergencia.
En trminos cualitativos
o Entender la diferencia entre un mtodo directo y uno iterativo.
o Entender la conveniencia de usar un mtodo iterativo y uno directo.
Entender y mecanizar los procedimientos de
o Mtodo de Richardson estacionario,
o Mtodo de Richardson dinmico,
o Mtodo del gradiente conjugado,
o Mtodo del gradiente conjugado precondicionado, y
o Mtodo residual conjugado precondicionado.
Generalidades
Un mtodo iterativo es un mtodo que progresivamente va calculando aproximaciones a la
solucin de un problema. En matemticas, en un mtodo iterativo se repite el mismo proceso de
mejora sobre una solucin aproximada; se espera que lo obtenido sea una solucin ms aproximada
que la inicial. El proceso se repite sobre esta nueva solucin hasta que el resultado ms creciente
satisfaga ciertos requisitos. A diferencia de los mtodos directos, en los cuales se debe terminar el
proceso para tener la respuesta, en los mtodos iterativos se puede suspender el proceso al trmino
de una iteracin y se obtiene una aproximacin a la solucin.
Marco terico.
1. Un enfoque suave de los mtodos iterativos
1.1 Mtodo de Richardson estacionario.
Un esquema iterativo especialmente sencillo es el mtodo de Richardson (1910). Teniendo en cuenta
una estimacin inicial v0 a u, las aproximaciones posteriores se obtienen a travs de
+1 = +
Dnde es un parmetro de relajacin y
=
(C.1.2)
(C.1.3)
(C.1.4)
(C.1.5)
Para todos los valores propios de L. El cumplimiento simultneo de estas desigualdades slo es
posible si todos los valores propios de L tienen partes reales distintos de cero de signo constante. Un
caso particularmente relevante es el de una matriz con todos los valores propios reales y
3
estrictamente positivos; las matrices simtricas y definidas positivas tienen esta propiedad, pero stas
no son condiciones necesarias.
La condicin de convergencia (C.1.5) se satisface para 0 < < donde
=
(C.1.6)
2
+
(C.1.8)
(C.1.9)
Se observa que la dependencia de los valores propios extremos esta solo en la combinacin
(C.1.10)
Esta relacin es conocida como el nmero de condicin interactivo de L, en trminos del radio espectral
esta relacin se presenta como
1
+1
(C.1.11)
(C.1.13)
2
El mtodo bsico de Richardson puede ser mejorado y ampliado de varias maneras, la discusin hasta
ahora solo se preocupa del estado estacionario de Richardson. En un estado no estacionario el
parmetro en (C.1.1) depender de n, es decir para cambiar el curso de iteraciones ya acelerar la
convergencia del mtodo.
Para un mtodo esttico no estacionario de Richardson se obtiene la siguiente expresin para los
parmetros ptimos usando la propiedad minimax de Chebyshev.
2/
(21)
+(+1)
2
(1) cos
= 1, , , (C.1.14)
1
+1 1/
[ (1)]
. (C.1.15)
()
()
En donde un elemento cualquiera del vector (1) vendr dado por la expresin:
(1)
(1)
=
=1
Implementacin Matlab:
Resolver el siguiente sistema de ecuaciones utilizando el mtodo de Richardson, hallas las soluciones
x que resuelven el ejercicio, utilizando el vector de aproximacin [0,0,0,0,0,0] en 100 iteraciones.
1 + 0.22 + 0.073 + 0.084 + 0.15 + 0.056 = 2.73
0.0871 + 2 + 0.33 + 0.054 + 0.0655 + 0.16 = 4.112
0.0321 + 0.312 + 3 + 0.244 + 0.035 + 0.126 = 5.482
0.0981 + 0.0342 + 0.0323 + 4 + 0.165 + 0.286 = 6.742
0.341 + 0.0132 + 0.0763 + 0.154 + 5 + 0.0356 = 6.404
{ 0.011 + 0.382 + 0.233 + 0.0454 + 0.0945 + 6 = 8.11 }
>> metodo_richardson
Ingrese la matriz de coeficientes
A:[1,0.2,0.07,0.08,0.1,0.05;0.087,1,0.3,0.05,0.065,0.1;0.032,0.31,1,0.24,0.03,0.12;0.098,0.034,0.032,
1,0.16,0.28;0.34,0.013,0.076,0.15,1,0.035;0.01,0.38,0.23,0.045,0.094,1]
A=
1.0000 0.2000 0.0700 0.0800 0.1000 0.0500
0.0870 1.0000 0.3000 0.0500 0.0650 0.1000
0.0320 0.3100 1.0000 0.2400 0.0300 0.1200
0.0980 0.0340 0.0320 1.0000 0.1600 0.2800
0.3400 0.0130 0.0760 0.1500 1.0000 0.0350
0.0100 0.3800 0.2300 0.0450 0.0940 1.0000
ans =
k
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
X
2.730000e+00 4.112000e+00
-6.140000e-02 6.655300e-01
1.685483e+00 2.896618e+00
5.572289e-01 1.455015e+00
1.281142e+00 2.362730e+00
8.177887e-01 1.771424e+00
1.116262e+00 2.148067e+00
9.251106e-01 1.905370e+00
1.047991e+00 2.060892e+00
9.691628e-01 1.960959e+00
1.019787e+00 2.025080e+00
9.872943e-01 1.983905e+00
1.008155e+00 2.010334e+00
9.947641e-01 1.993367e+00
1.003361e+00 2.004259e+00
9.978422e-01 1.997266e+00
1.001385e+00 2.001755e+00
9.991107e-01 1.998873e+00
1.000571e+00 2.000723e+00
9.996335e-01 1.999536e+00
1.000235e+00 2.000298e+00
9.998490e-01 1.999809e+00
1.000097e+00 2.000123e+00
9.999378e-01 1.999921e+00
1.000040e+00 2.000051e+00
9.999743e-01 1.999967e+00
5.482000e+00
1.336520e+00
3.956555e+00
2.340654e+00
3.409751e+00
2.733190e+00
3.170142e+00
2.890389e+00
3.070230e+00
2.954867e+00
3.028957e+00
2.981405e+00
3.011936e+00
2.992337e+00
3.004919e+00
2.996842e+00
3.002027e+00
2.998699e+00
3.000835e+00
2.999464e+00
3.000344e+00
2.999779e+00
3.000142e+00
2.999909e+00
3.000058e+00
2.999962e+00
6.742000e+00
2.863788e+00
4.869835e+00
3.454155e+00
4.349856e+00
3.775539e+00
4.144444e+00
3.907458e+00
4.059478e+00
3.961840e+00
4.024505e+00
3.984271e+00
4.010098e+00
3.993518e+00
4.004162e+00
3.997328e+00
4.001715e+00
3.998899e+00
4.000707e+00
3.999546e+00
4.000291e+00
3.999813e+00
4.000120e+00
3.999923e+00
4.000049e+00
3.999968e+00
6.404000e+00
3.710562e+00
5.732693e+00
4.514564e+00
5.313260e+00
4.800909e+00
5.128673e+00
4.917689e+00
5.052935e+00
4.966049e+00
5.021806e+00
4.986005e+00
5.008986e+00
4.994232e+00
5.003703e+00
4.997623e+00
5.001526e+00
4.999020e+00
5.000629e+00
4.999596e+00
5.000259e+00
4.999834e+00
5.000107e+00
4.999931e+00
5.000044e+00
4.999972e+00
8.110000e+00
4.353914e+00
7.072650e+00
5.324407e+00
6.433366e+00
5.719919e+00
6.178863e+00
5.884844e+00
6.073820e+00
5.952576e+00
6.030433e+00
5.980459e+00
6.012543e+00
5.991947e+00
6.005169e+00
5.996681e+00
6.002130e+00
5.998632e+00
6.000878e+00
5.999436e+00
6.000362e+00
5.999768e+00
6.000149e+00
5.999904e+00
6.000061e+00
5.999961e+00
>> hold on
>> plot(x)
Comprobacin: se realiza la operacin A/b como representa una divisin de matrices, en matlab se
puede realizar esta operacin de esta forma
>> A\b'
ans =
1.0000
2.0000
3.0000
4.0000
5.0000
6.0000
>>
As queda demostrado la solucin para el sistema de ecuaciones.
+1 = +
+1 = +
(C.2.2)
+1 = +1
Para las iteraciones no precondicionadas, entonces H=I y = , en la tabla 1 se observa que en
particular PMRR2 y PMRRH (preconditioned minimum residual Richardson method) coinciden si P=I;
Para las iteraciones PMRRH los valores estimados para la precondicin residual:
(
+1
0 , (C.2.3)
Donde aun se denota como el nmero de condicin iterativa de 1 , mientras que para las
iteraciones PSDR (preconditioned steepest descent Richardson method) se tiene:
1
+1
) 0
(C.2.4)
= (C.2.5)
2
Cuando los valores propios de la matriz precondicionada 1 son complejos, pero con partes reales
dominantes, un reemplazo para que an es representante del comportamiento de convergencia de
las iteraciones de Richardson como.
| |
| |
(C.2.6)
Es decir, tericamente, los mtodos basados en el clculo de direcciones conjugadas son mtodos
directos, aunque se usen como mtodos iterativos.
( , )
=
( , )
+1 = +
+1 =
(C.2.9)
(+1 , +1 )
( , )
+1 = +1 +
En las formulas anteriores el escalar resulta implementado por la necesidad de que el vector +1
minimice la norma de energa del error, y la frmula para el escalar adicional se utiliza como
requerimiento para (+1 , ) = 0 (C.2.8)
Las siguientes propiedades de ortogonalidad mantienen:
( , ) = 0,
( , ) = 0
(C.2.10)
La primera propiedad implica que = 0 par algn , donde nd es el orden de la matriz L. (nd
es la dimensin del sistema lineal).
La presencia del error de redondeo conduce a cierta contaminacin de los vectores residuales y
direccionales, la segunda propiedad de relacin indica que el mtodo GC hace mucho ms que en la
ecuacin (C.2.8), entonces se dice que las direcciones { } son L-conjugadas.
La propiedad de convergencia favorable para este mtodo se refleja por la estimacin de la energa
del error:
2 (
+1
(C.2.11)
=
2
(C.2.12)
Los errores inherentes a la implementacin en ordenador del mtodo hacen que se pierda la
ortogonalidad de los vectores residuo:
La propiedad de que el mtodo converge en un nmero finito de pasos no se cumple por ello en la
prctica estrictamente, por lo que este mtodo se considera como un mtodo iterativo.
10
beta=d; d=r'*r;
beta=d/beta;
p=r+beta*p;
end
end
Implementacin en Matlab.
Resolver el siguiente sistema de ecuaciones lineales utilizando el mtodo del gradiente conjugado.
101 2 + 23 = 6
1
+ 112 3 + 34 = 25}
{
21 2 + 103 4 = 11
32 3 + 84 = 15
-1 11 -1
2 -1 10 -1
0
3 -1
>> b=[6;25;-11;15]
b=
6
25
-11
15
>> [x k]=Cgr(A,b,zeros(4,1))
x=
1.0000
2.0000
11
-1.0000
1.0000
k=
4
>>
Donde k es el nmero de iteraciones y los valores obtenidos corresponden a:
X1=1; x2=2; x3=-1; x4=1
>> plot(A)
>> hold on
>> plot(x)
12
>>
0 = 0
Iterar
( , )
( , )
+1 = +
+1 =
(C.2.20)
+1 = +1
=
(+1 , +1 )
( , )
+1 = +1 +
En el caso de presentarse problemas no simtricos se utiliza las propiedades (C.2.20) que
corresponden a versiones abreviadas precondicionadas y se conoce como el mtodo gradiente
conjugado truncado perecondicionado.
En este mtodo precondicionado se sustituye la matriz con mejor nmero de condicin
haciendo un cambio de variable = , donde C es regular y fcil de invertir.
Por lo tanto utilizando el mtodo de gradientes conjugados el sistema, la solucin original se obtendra
sin ms que hacer = 1
Si A es simtrica, la mejor C posible es 1/2 , pues en ese caso:
13
Implementacin en Matlab.
En este caso generamos una matiz de 100x100 con el comando rand(100) con valor entre (0,1)
aleatorios.
Para resolver un sistema de ecuaciones de este tipo implementamos el mtodo del gradiente
conjugado precondicionado.
>> A=rand(100);
>> A=A+A';
>> B=A*A;
>> b=B*ones(100,1);
>> [k tol]=PCGr(B,b,zeros(100,1),eye(100))
k=
201
tol =
2.2637e-11
>>
Este es el resultado que contiene un gran nmero de iteraciones para converger sin precondicionado.
Ahora implementando un precondicionado perfecto A se tiene:
>> [k tol]=PCGr(B,b,zeros(100,1),A)
k=
2
tol =
2.2637e-11
>>
Vemos que se llega al mismo valor de tolerancia pero simplemente en dos pasos.
>> plot(A)
14
>> plot(x)
0 = 0
Iterar
( , )
=
( , )
+1 = +
+1 =
(C.2.21)
+1 = +1
=
(+1 , +1 )
( , )
+1 = +1 +
+1 = +1 +
En el caso de presentarse problemas no simtricos se utiliza las propiedades (C.2.21) que
corresponden a versiones abreviadas precondicionadas y se conoce como el mtodo residual
conjugado truncado precondicionado.
Todos los mtodos descendientes vistos anteriormente corresponden a problemas no simtricos.
15
Conclusiones
Un elemento en contra que tienen los mtodos iterativos sobre los mtodos exactos, es que
estos solo calculan aproximaciones a la solucin.
Estos mtodos iterativos se utilizan para matrices no simtricas y su solucin deber
converger en un nmero de iteraciones dado.
La causa primaria para la ineficiencia del mtodo de Richardson es que la convergencia
decrece de acuerdo al aumento del nmero de condicin iterativo.
Los errores inherentes a la implementacin del mtodo del gradiente conjugado en
computador hacen que se pierda la ortogonalidad de los vectores residuo.
Para el caso de los mtodos precondicionados, cuando el mtodo no contiene una
precondicin la solucin tiende a converger en un nmero de iteraciones grande, a
comparacin con las iteraciones mnimas que realiza el programa cuando se presenta una
precondicin.
Bibliografa
Canuto, C., Hussaini, M., Quarteroni, A. and Zang, T. (2007). Spectral Methods Fundamentals
in Single Domains. Berlin, Heidelberg: Springer Berlin Heidelberg.
16