Está en la página 1de 4

Método de Arnoldi para sistemas lineales (FOM)

Alfredo Flores

September 24, 2022


2

Método de ortogonalización completa


Dado un punto inicial x0 del sistema lineal original Ax = B, ahora consideremos un método de
proyección ortogonal definido en los capı́tulos anteriores el cual toma L = K = Km (A, r0 ) con
Km (A, r0 ) = span{r0 , Ar0 , A2 r0 , . . . , Am−1 r0 } (1)
en el cual r0 = b − Ax0 . Este método busca una solución aproximada xm del subespacio afin x0 + Km
de dimensión m imponiendo la condición de Galerkin
b − Axm ⊥ Km (2)
Si v1 = r0 /||r0 ||2 en el método de Arnoldi y ponemos β = ||r0 ||2 , entonces
VmT AVm = Hm
luego se obtiene
VmT r0 = VmT (β v1 ) = β e1
Como resultado, la solución aproximada utilizando los subespacios m-dimensionales anteriores viene
dada por
xm = x0 +Vm ym (3)
ym = Hm−1 (β e1 ) (4)
A continuación se describe un método basado en este enfoque y denominado Método de ortogonal-
ización completa (FOM). El proceso de Gram-Schmidt modificado se utiliza en el procedimiento de
Arnoldi.

Algoritmo 10: Método de ortogonalización completa (FOM)

Calcular r0 = b − Ax0 , β = ||r0 ||2 y v1 = r0 /β


Definir la matriz m × m como Hm = {hi j }. Colocar Hm = 0
For j = 1, 2, . . . , m Do:
Calcular w j = Av j
For i = 1, . . . , j Do:
hi j = (w j , vi )
w j = w j − hi j v j
End Do
Calcular h j+1, j = ||w j ||2 . Si h j+1, j = 0, ponemos m = j y GoTo 12
Calcular v j+1 = w j /h j+1, j
End Do
Calcular ym = Hm−1 (β e1 ) y xm = x0 +Vm ym

El algoritmo anterior depende de un parámetro m que es la dimensión del subespacio de Krylov.


En la práctica, es deseable seleccionar m de forma dinámica. Esto serı́a posible si la norma residual
de la solución xm estuviera disponible a bajo costo (sin tener que calcular xm ). Luego, el algoritmo
se puede detener en el paso apropiado utilizando esta información. La siguiente proposición da un
resultado en esta dirección.

Proposición 1: El vector residual de la solución aproximada xm calculada por el algoritmo FOM


es tal que
b − Axm = −hm+1,m eTm ym vm+1
3

y por tanto
||b − Axm ||2 = hm+1,m |eTm ym | (5)

Prueba: Tenemos las relaciones

b − Axm = b − A(x0 +Vm ym )


= r0 − AVm ym
= β v1 −Vm Hm ym − hm+1,m eTm ym vm+1

Por definición de ym , Hm ym = β e1 , y asi β v1 −Vm Hm ym = 0 de donde se obtiene el resultado.

Una estimación aproximada del costo de cada paso del algoritmo se determina de la siguiente manera.
Si Nz(A) es el número de elementos distintos de cero de A, entonces m pasos del procedimiento de
Arnoldi requerirán m productos matriz-vector a un costo de 2m × Nz(A). Cada uno de los pasos de
Gram-Schmidt cuesta aproximadamente 4 × j × n operaciones, lo que eleva el total de los m pasos a
aproximadamente 2m2n. Ası́, en promedio, un paso de FOM cuesta aproximadamente

En cuanto al almacenamiento, se requieren m vectores de longitud n para guardar la base Vm. Se


deben usar vectores adicionales para mantener la solución actual y el lado derecho, y un vector de
cero para el producto matriz-vector. Además, se debe guardar la matriz de Hessenberg Hm. Por lo
tanto, el total es aproximadamente

En la mayorı́a de situaciones, m es pequeño en relación con n, por lo que este costo está dominado
por el primer término.

Variación 1: FOM reiniciado


Considere ahora el algoritmo desde un punto de vista práctico. A medida que aumenta m, el costo
computacional aumenta al menos como O(m2n) debido a la ortogonalización de Gram-Schmidt. El
costo de la memoria aumenta como O(mn). Para n grande, esto limita el valor más grande de m que
se puede usar. Hay dos remedios. El primero es reiniciar el algoritmo periódicamente y el segundo
es “truncar” la ortogonalización en el algoritmo de Arnoldi. En esta sección consideramos la primera
de estas dos opciones, que se describe a continuación

Algoritmo 11: FOM reiniciado

Calcular r0 = b − Ax0 , β = ||r0 ||2 y v1 = r0 /β


Generar la base de Arnoldi y la matriz Hm usando el algoritmo de Arnoldi empezando con v1
Calcular ym = Hm−1 β e1 y xm = x0 +Vm ym . Si se satisface entonces se detiene.
Colocar x0 = xm e ir a la lı́nea 1

Hay muchas variaciones posibles a este esquema básico. Uno que generalmente es más económico en
la práctica se basa en la observación de que a veces una m pequeña es suficiente para la convergencia
y otras veces es necesaria la m más grande posible. Por lo tanto, la idea de promediar diferentes val-
ores de m. Comience el algoritmo con m = 1 e incremente m en uno en la lı́nea 5 hasta que se alcance
un cierto mmax, después de lo cual m se restablece a uno o se mantiene igual. Estas variaciones no
serán consideradas aquı́.
4

Variación 2: IOM y DIOM


Una segunda alternativa a FOM es truncar la recurrencia de Arnoldi. Especı́ficamente, se selecciona
un número entero k y se realiza la siguiente ortogonalización ”incompleta”.

Algoritmo 12: Proceso de ortogonalización incompleta

For j = 1, 2, . . . , m Do:
Calcular w j = Av j
For i = max{1, j − k + 1} Do: hi, j = (w j , vi )
w j = w j − hi j vi
EndDo
Calcular h j+1, j = ||w j ||2 y v j+1 = w j /h j+1, j
EndDo

El número de direcciones k frente a las cuales ortogonalizar puede estar dictado por limitaciones
de memoria. El método de ortogonalización incompleta (IOM) consiste en realizar el procedimiento
de ortogonalización incompleta anterior y calcular una solución aproximada utilizando las mismas
fórmulas (6.16) y (6.17).

Algoritmo 13: Método de ortogonalización incompleta (IOM)

Calcular r0 = b − Ax0 , β = ||r0 ||2 y v1 = r0 /β


Definir la matriz m × m como Hm = {hi j }. Colocar Hm = 0
For j = 1, 2, . . . , m Do:
Calcular w j = Av j
For i = max{1, j − k + 1} Do: hi, j = (w j , vi )
w j = w j − hi j vi
EndDo
Calcular h j+1, j = ||w j ||2 y v j+1 = w j /h j+1, j
EndDo
Calcular ym = Hm−1 (β e1 ) y xm = x0 +Vm ym

If W = (W 1 ,W 2 , . . . ,W n ) ∈ Rn is a vector of independent standard Brownian motion defined on a


certain probability space (Ω, F , (Ft )t≥0 P) and A ∈ Mm×n (R) is a matrix with real entries, then the
vector B = (B1 , B2 , . . . , Bm ) defined by:
B = AW
satisfies: ! !
j
E(Bti Bt ) = E ∑ aikWtk ∑ a jlWtl =E ∑ aik a jk (Wtk )2 = t ∑ aik a jk
k l k k

and now it is apparent that the covariance matrix of the random vector B (which is usually called cor-
related Brownian motion) is given by AAt . Question: Sample path continuity follows from Wt being
a linear combination of Brownian motions, and therefore Wt itself is a standard Brownian motion.

También podría gustarte