You are on page 1of 7

Sistemas Lineares com Mltiplos Lados Direitos e Operadores de Projeo

Valria S. Motta
Departamento Bsico, Instituto Militar de Engenharia - IME, Praa General Tibrcio, 80, Praia Vermelha, 22290-270, Rio de Janeiro, RJ. E-mail: valeria@ime.eb.br.

Luiz M. Carvalho
Departamento de Matemtica Aplicada, Instituto de Matemtica e Estatstica, Universidade do Estado do Rio de Janeiro - UERJ, Rua So Francisco de Xavier, 524, sala 6026, bloco D, Maracan, 20550-013, Rio de Janeiro, RJ. E-mail: luizmc@ime.uerj.br.

Nelson Maculan
Programa de Engenharia de Sistemas e Computao - COPPE, Universidade Federal do Rio de Janeiro - UFRJ, C. P. 68511, 21945-970, Rio de Janeiro - RJ. E-mail: maculan@cos.ufrj.br.

Introduo

A resoluo de sistemas lineares com grande nmero de incgnitas uma rea de muito interesse na Cincia da Computao. Vrios mtodos foram desenvolvidos nessa busca, podemos citar alguns deles: Lanczos [?], [?], Gradiente Conjugado (CG) [?], [?], Mnimo Resduo Generalizado (GMRES) [?], Gradiente Bi-Conjugado (Bi-CG) [?], Gradiente Conjugado Quadrado (CGS) [?], Gradiente Bi-Conjugado Estabilizado (Bi-CGSTAB) [?], Gradiente Bi-Conjugado Estabilizado em Bloco (Bi-CGSTAB em Bloco) [?]. A escolha do melhor mtodo para se resolver um determinado sistema depende de algumas caractersticas da matriz principal do sistema, se ela simtrica, positiva-denida, nosimtrica, semi-denida, esparsa, entre outras. Esses mtodos iterativos so baseados em projees em subespaos de Krylov e precisam
Aluna de doutorado do Programa de Engenharia de Sistemas e Computao - COPPE - UFRJ. Email:mvaleria@cos.ufrj.br

construir bases para esses espaos. Tais bases devem ser numericamente estveis, ento, devem ser ortogonalizadas. A ortogonalizao de uma base de um subespao de Krylov pode ser conseguida atravs de, principalmente, dois mtodos bsicos, o de Arnoldi [?], [?] e o da Bi-Ortogonalizao de Lanczos [?], [?]. Alguns dos algoritmos acima apresentam sua verso em Bloco, a saber: o algoritmo de Lanczos em Bloco [?], o Gradiente Conjugado em Bloco (BCG) (em mais de uma verso)[?], [?], o Gradiente Bi-Conjugado em bloco (BBi-CG) [?] . Neste trabalho, as letras maisculas denotaro matrizes; o ndice superior em uma matriz, vetor ou em um escalar denota o nmero da iterao considerada; colunas de uma matriz so indicadas pelo ndice baixo; elementos de uma matriz tm indicado no ndice baixo o nmero (k) de sua linha e coluna. Assim, por exemplo xi,j o elemento da matriz X (k) da i-sima linha e j-sima coluna. As letras , , , , , , e denotam matrizes de ordem s s. A letra i

denota os valores singulares, enquanto que i denota os autovalores. Em relao aos teoremas enunciados, no decorrer do trabalho, sero indicadas referncias para cada uma de suas demonstraes. Esse trabalho baseado principalmente em [?], analisando os mtodos a partir de operadores de projeo, como contribuio algumas proposies novas so propostas e demonstradas. Sero chamados de Teoremas os resultados que se encontram em [?] e Proposies os resultados que obtivemos. Na segunda seo, faremos uma reviso sobre operadores de projeo, nessa seo apresentamos a primeira proposio. Na terceira seo denimos um subespao de Krylov e o mtodo e algoritmo de Arnoldi [?], [?], a segunda proposio apresentada e sob seu enfoque o algoritmo reescrito. Na quarta seo abordamos os algoritmos de Lanczos [?], [?], teoremas e conceitos relacionados, segue da a terceira proposio e o algoritmo de Lanczos Bi-Ortogonal [?], [?], [?] reescrito. Na quinta seo, o algoritmo do Gradiente BiConjugado Estabilizado em Bloco [?], [?], [?] o exemplo de algoritmo para resoluo de sistemas com mltiplos lados direitos. Esse algoritmo estudado e a partir dele temos a quarta proposio.

Px K

x P xL

Px

Figura 1: Projeo de x sobre M e ortogonal a L

bespaos resulta em Cn , ento, existe uma nica projeo P onde Im(P ) = M e N (P ) = S. Prova [?]. Essa transformao linear P dita projeo sobre M , ao longo ou paralela ao subespao linear S. O espao vetorial Cn se expressa como a soma direta da Im(P ) = M e N (P ) = S, sabemos que N (P ) = Im(I P ). Se dim(Im(P )) = m ento, dim(N (P )) = dim(Im(I P )) = n m. Portanto, podemos denir S a partir de seu complemento ortogonal L = S , onde dim(L) = dim(S ) = m. P (x) M x P (x)L. (3)

As equaes dadas em (??) denem uma projeo sobre M e ortogonal ao subespao L. Uma Denio 1 Considere P uma transformao projeo genrica ilustrada na Figura (1). linear, P dita uma projeo, P : Cn Cn se P 2 = P , P chamado tambm idempotente. 2.0.1 Mtodos Gerais de Projeo Todo elemento de Cn (espao vetorial complexo Sejam A uma matriz real de ordem n n e, n-dimensional) pode ser escrito na forma, ainda, K e L dois subespaos m-dimensionais n x = P (x) + (I P )(x) (1) de R . Uma tcnica de projeo sobre o subespao K e ortogonal a L um processo de portanto, pode-se provar que, o espao Cn pode encontrar a soluo aproximada x de Ax = b ser decomposto na seguinte soma direta: tendo condies para que x pertena a K e a de que o novo vetor resduo seja ortogonal a L. Cn = N (P ) Im(P ), (2) Determine x K tal que b AL. x onde N (P ) = {x Cn |P (x) = 0} o ncleo de P e Im(P ) = {y Cn |x Cn ; P (x) = y}, a Se desejarmos utilizar uma soluo inicial x0 , imagem de P . ento a soluo aproximada deve ser procurada A recproca dada no teorema a seguir. no espao am x0 + K ao invs de no espao vetorial K. O problema pode ser redenido por: Teorema 1 Para todo par de subespaos M e S de Cn , tais que, a soma direta desses dois su- Determine x x0 + K tal que b AL. x

Operadores de Projeo

Observe que, se x escrito na forma x = x0 + e e o vetor resduo inicial r0 denido como r0 = b Ax0 , (4)

= V (W H AV )1 W H Ae.

(10)

Considere P = V (W H AV )1 W H A, podemos 2 ento a equao acima dada por b A(x0 + vericar que P = P , ou seja, P a projeo dada na Proposio 1. )L ou Da equao (??) segue que = P e, por hipr0 AL. (5) tese temos que K, ento podemos concluir que a projeo do erro e sobre o subespao Em outras palavras, a soluo aproximada pode K. Para que o Algoritmo 2.1 funcione, devemos ter ser denida como: que a matriz W H AV invertvel. x = x0 + , K (6) (r0 A, w) = 0, w L. (7) Teorema 2 Sejam A, K e L satisfazendo s condies abaixo: Esse o passo bsico da projeo, na sua forma mais geral. A maioria das tcnicas usam uma sucesso de projees. Normalmente, cada novo passo da projeo usa um novo par de subespaos K e L e uma nova soluo inicial x0 , essa, igual a mais recente aproximao obtida no passo anterior da projeo. Mtodos projetivos formam uma estrutura para os principais mtodos iterativos utilizados na resoluo se sistemas lineares. Um prottipo da tcnica de projeo representada no algoritmo a seguir.
Algoritmo 2.1. Prottipo do Mtodo de Projeo 1. Sejam a matriz A e os vetores x0 e b, Do 2. Selecione um par de subespaos K e L 3. Escolha bases V = [v1 , . . . , vm ] e W = [w1 , . . . , wm ] para K e L 4. r := b Ax 5. y := (W H AV )1 W H r 6. x := x + V y 7. EndDo

(i) A positiva denida e K = L ou (ii) A no-singular e L = AK. Ento a matriz W H AV no-singular para quaisquer bases de V e W de K e L, respectivamente. Prova: [?].

3
3.1

Mtodo de Arnoldi
Subespao de Krylov

Denio 2 O espao m-dimensional gerado pelo vetor v e pelas potncias de A multiplicadas por v at o expoente (m1), chamado subespao de Krylov m-dimensional [?], [?], [?], notamos tal subespao por Km (A, v).

Os mtodos iterativos que sero abordados buscam a soluo aproximada do sistema Ax = b em um subespao de Krylov conveniente. Considerando x0 = 0 a soluo inicial, xi a soluo aproximada e ri = b Axi o resduo, ambos na Proposio 1 Seja o Algoritmo 2.1. Ento, iterao i, sabemos que: existe um operador de projeo P , que projeta ri = pi (A)r0 . (11) o erro e sobre o subespao K. A matriz que representa tal operador dada por: onde pi (A) um polinmio de grau i. Segue H 1 H P = V (W AV ) W A (8) que:
i

Prova: (I A)j r0 [r0 , Ar0 , . . . , Ai r0 ] xi+1 = O passo (6) do algoritmo semelhante equaj=0 o (??), tomemos = V y. Ki+1 (A, r0 ). (12) No passo (7) temos y = (W H AV )1 W H r, sabendo que r = Ae, onde e o erro, temos que: Nessa abordagem o subespao de Krylov o conjunto ao qual pertencem as solues aproxiH 1 H y = (W AV ) W Ae, (9) madas de um sistema linear da forma, Ax = b.

Vamos obter uma base para esse subespao. Prova: Uma base que deve ser obviamente considerada Consideremos V uma base para o subespao de : Krylov, Km (A, v1 ). Considerando do passo (2) ao passo (7), teremos: {r0 , Ar0 , . . . , Ai1 r0 } Ki (A, r0 ) (13)
j

mas essa base pode no ser muito atrativa sob o ponto de vista numrico. Os vetores Aj r0 apontam mais e mais para a direo do autovetor associado ao maior autovalor, quando j cresce. Com isso, a base dos vetores pode ir se tornando linearmente dependente em aritmtica nita. Na prxima seo veremos como construir uma base adequada para um subespao de Krylov.

w = Av
i=1

hi,j vi

(16)

j Faamos Av = x e P (x) = i=1 hi,j vi , mas P (x) pode ser escrita como P (x) = V y. Queremos provar que P uma projeo, ou seja, P 2 = P . Temos que:

w = xVy V w = V xV Vy
H H H

(17)

Mas , por hiptese, as colunas de V so ortogonais a w, assim V H w = 0 e temos tambm que O processo de Arnoldi um mtodo para se V H V = I, ento: computar uma base ortonormal {v1 , v2 , . . . , vj } do subespao de Krylov, Kj (A, v1 ). A ortonory = V H x, como P (x) = V y, malizao admite diferentes procedimentos, um temos P = V V H , deles o Gram-Schmidt modicado. observe que P 2 = P , logo P a projeo dada na Proposio 2. Algoritmo 2.2. Algoritmo de Arnoldi Podemos concluir que a projeo P = V V H 1. v1 = rr00 2 projeta o vetor Avi sobre o subespao de 2. f or j = 1, . . . , m 1 Krylov, Ki (A, v1 ), com i = 1, . . . , m. 3. wj+1 = Avj ;

3.2

Mtodo de Arnoldi

O algoritmo simtrico de Lanczos [?], [?], [?], pode ser visto como uma simplicao do mtodo de Arnoldi para o caso particular em que Em termos matriciais, os passos (2) a (7) do a matriz considerada simtrica. Quando A simtrica, ento a matriz de Hessenberg Hm Algoritmo 2.2 podem ser escritos como: uma tridiagonal simtrica.
H Vm AVm = Hm

4. f or i = 1, . . . , j T 5. hi,j = vi wj+1 ; 6. wj+1 = wj+1 hi,j vi ; 7. end; 8. hj+1,j = wj+1 2 ; wj+1 9. vj+1 = hj+1,j ; 10. end.

Mtodos de Lanczos

(14)
Algoritmo 2.3. Algoritmo de Lanczos 1. Escolha um vetor v1 tal que v1 2 = 1. Seja 1 0, v0 0. 2. Para j = 1, 2, . . . , m, Do 3. wj = Avj j vj1 4. j = (wj , vj ) 5. wj = wj j vj 6. j+1 = wj 2 . Se j+1 = 0 ento Stop wj 7. vj+1 = j+1 8. EndDo

onde Hm uma matriz de Hessenberg superior, ou seja, so nulos todos os elementos abaixo da primeira subdiagonal (diagonal logo abaixo da diagonal principal).

Proposio 2 Seja o Algoritmo 2.2. Ento, existe um operador de projeo P , que projeta o vetor Avi sobre o subespao de Krylov Ki (A, v1 ), onde i = 1, . . . , m . A matriz que representa tal operador dada por: Relacionando o mtodo de Lanczos com a projeo, os resultados so anlogos ao mtodo de P =VVH (15) Arnoldi, sua projeo dada por P = V V H e

projeta o vetor Avi sobre o subespao de Krylov dado por Ki (A, v1 ), com i = 1, . . . , m. A particularidade que a matriz H tridiagonal, como j vimos anteriormente. Em aritmtica exata, o ponto central do algoritmo de Lanczos a relao da forma: j+1 vj+1 = Avj j vj j vj1 .

Nessa formulao cada vetor das duas bases, V e W , tm norma unitria e (vj , wj ) = 1, mas os vetores podem ser tambm escolhidos de tal forma que (vj , wj ) = dj .

Teorema 3 Se no ocorre falha no Algoritmo (18) (2.4) antes de m passos, ento:

Nessa recorrncia temos trs vetores envolvidos, 1, se i = j, vj1 , vj e vj+1 , por isso chamada recorrncia (vi , wj ) = , 1 i, j m. (19) 0, se i = j. de trs termos [?], [?], [?]. Temos que guardar trs vetores a cada iterao no Algoritmo de Lanczos, enquanto que no Algoritmo de Ar- Prova: [?]. noldi guardamos todos os vetores da base do A condio de bi-ortogonalidade implica que: subespao de Krylov calculados at a iterao V HW = I (20) corrente. Vamos considerar agora a matriz A noProposio 3 Seja o Algoritmo 2.4. Ento, simtrica. existe um operador de projeo P , que projeta o vetor Avi sobre o subespao de Krylov Denio 3 Dois conjuntos de vetores U = {u1 , . . . , um } e V = {v1 , . . . , vm } so ditos bi- Ki (A, v1 ), onde i = 1, . . . , m . A matriz que representa tal operador dada por: ortogonais se: (ui , vj ) = ij , deltaij = onde i = j, i = j. P = V WH (21)

1, se 0, se

Na forma matricial temos V H U = I.

Temos tambm, o operador de projeo Q = P H , que projeta o vetor AH wi sobre o subespao de Krylov Ki (AH , w1 ), onde i = 1, . . . , m . A matriz que representa tal operador dada por:

No poderemos resolver o sistema Ax = b Q = WV H (22) com uma nica recorrncia de trs termos, mas podemos obter uma base adequada, noProva: ortogonal, com uma recorrncia de trs termos, Partindo do passo (5) e fazendo x = Avj e desde que essa base seja bi-ortogonal em relaj j vj j vj1 = P (x) = V y, temos: o a alguma outra base dada anteriormente. Vamos construir os conjuntos de vetores, x=xVy (23) {v1 , . . . , vi } Ki (A, r0 ) e {w1 , . . . , wi } Ki (AH , r0 ), partindo de um dos algoritmos de faamos: Lanczos(pag. 34 [?]). W Hx = W Hx W HV y (24)
Algoritmo 2.4. Algoritmo da Bi-Ortogonalizao de Lanczos 1. Escolha dois vetores v1 , w1 tais que (v1 , w1 ) = 1 2. Sejam 1 1 0, w0 v0 0 3. Para j = 1, 2, . . . , m. Do 4. j = (Avj , wj ) 5. vj+1 = Avj j vj j vj1 6. wj+1 = AH wj j wj j wj1 7. j+1 = |(j+1 , wj+1 )|1/2 . If j+1 = 0 Stop v 8. i+1 = (j+1 , wj+1 )/j+1 v 9. wj+1 = wj+1 /j+1 10. vj+1 = vj+1 /j+1 11. EndDo

como as colunas de W so ortogonais a x e H V = I, segue que: W y = W H x assim P (x) = V W H x. (25)

Observe que P 2 = P , assim P uma projeo e sua matriz associada V W H projeta o vetor Avj sobre o subespao de Krylov Kj = K(A, v1 ), com, j = 1, . . . , m. Analogamente podemos mostrar que Q = W V H .

Gradiente Bi-Conjugado Estabilizado em Bloco

Prova: Observando os passos (6) e (7), podemos reescrev-los como:

Um dos objetivos dos algoritmos em bloco [?], X = X + (28) [?], [?] o de resolver sistemas com mltiplos = R A, R (29) lados direitos de forma mais eciente do que os algoritmos que no so em bloco. Nem sempre isso possvel, mas quando a matriz A com K(A, R0 ), tomamos = V Y . densa, ou quando trabalhamos com um pr- Por hiptese o resduo ortogonal ao subespao condicionador o mtodo pode ser bem atrativo de Krylov, L = (AH , R0 ), assim: [?]. W H R = W H R W H AV Y (30) Vamos considerar o seguinte sistema: AX = B, (26) Mas W H R = 0, assim:

Y = (W H AV )1 W H R (31) onde A uma matriz real de ordem n n , nosingular e no-simtrica, B e X so matrizes de sabemos que o resduo R dado por R = AE, ordem n s. O mtodo iterativo toma uma soluo X0 e o onde E o erro, temos que: resduo inicial R0 = B AX0 , com X0 , R0 Y = (W H AV )1 W H AE, (32) Rns . No passo k teremos Xk = X0 + k uma aproximao da soluo do sistema (??), onde k Kk (A, R0 ) = [R0 , AR0 , . . . , Ak1 R0 ] que e um subespao de Krylov em Bloco. Vejamos = V (W H AV )1 W H AE. (33) o algoritmo do Gradiente Bi-Conjugado Estabilizado em Bloco [?]: Considere Q = V (W H AV )1 W H A, podemos vericar que Q2 = Q, ou seja, Q uma projeAlgoritmo 2.5. Algoritmo do Gradiente o que projeta o erro sobre o subespao de Bi-Conjugado Estabilizado em Bloco Krylov K = K(A, R0 ).
1. Sejam X0 uma soluo inicial e R0 = B AX0 o resduo, ambas matrizes n s e R0 de posto s. 2. Seja R0 uma matrix n s arbitrria de posto s. 3. P0 = R0 , P0 = R0 . 4. Para j = 0, 1, . . . Do H 5. j = (PjH APj )1 Rj Rj 6. Xj+1 = Xj + Pj j 7. Rj+1 = Rj APj j H 8. j = (PjH AH Pj )1 Rj Rj H 9. Rj+1 = Rj A Pj j H H 10. j = (Rj Rj )1 Rj+1 Rj+1 H H 11. j = (Rj Rj )1 Rj+1 Rj+1 12. Pj+1 = Rj+1 + Pj j 13. Pj+1 = Rj+1 + Pj j 14. EndDo

Concluses

Nesse trabalho apresentamos uma diferenciao entre os mtodos iterativos baseados no mtodo de Arnoldi e os que so baseados no mtodo de Lanczos Bi-Ortogonal. Para tal, estudamos os algoritmos clssicos sob o enfoque de projees. Assim, alguns algoritmos foram apresentados de uma nova forma, usando os operadores de projeo implcitos em cada mtodo abordado. Temos como objetivos futuros implementar alguns mtodos em bloco, na resoluo de sistemas com mltiplos lados direitos e compar-los.

Proposio 4 Seja o Algoritmo 2.5. Ento, existe um operador de projeo Q, que projeta o erro E sobre o subespao de Krylov, K = K(A, R0 ). A matriz que representa tal operador dada por: Q = V (W H AV )1 W H A (27)

Referncias
[1] H. Dai. Block Bidiagonalization Methods For Solving Nonsymmetric Linear Systems With Multiple Right-Hand Sides. Technical report, 1998.

[2] R. Fletcher. Conjugate Gradient Methods [13] J. Rice, editor. The block Lanczos method for Indenite Systems. In G. Watson, edifor computing elgenvalues, New York, tor, Proc. of the Dundee Biennial Confe1977. Academic Press. rence on Numerical Analysis (1975), volume 506 of Lecture Notes in Mathematics, [14] Y. Saad. Iterative Methods for Sparse Linear Systems. SIAM, 2nd ed. edition, 2003. pages 7389. Springer Verlag Berlin, Heidelberg, New York, 1975. [15] Y. Saad and M. H. Schultz. GMRES: A generalized minimal residual algorithm [3] G. H. Golub and D. P. OLeary. Some Hisfor solving nonsymmetric linear systems. tory of the Conjugate Gradient and LancSIAM Journal on Scientic and Statistical zos Algorithms: 19481976. SIAM Review, Computing, 7(3):856869, 1986. 31(1):50102, 1989. [16] J. R. Shewchuk. An Introduction to the Conjugate Gradient Method Without the Agonizing Pain. Technical report, Pittsburgh, PA, USA, 1994. [5] A. E. Guennouni and K. Jbilou. A Block Version of BICGSTAB for Linear Systems [17] P. Sonneveld. CGS, A Fast Lanczos-Type with Multiple Rigth -Hand Sides. ETNA, Solver for Nonsymmetric Linear Systems. 16:129142, 2002. SIAM Journal on Scientic and Statistical [4] A. Greenbaum. Iterative Methods for Solving Linear Systems. SIAM, 1997. Computing, 10(1):3652, 1989. [6] A. E. Guennouni, K. Jbilou, and H. Sadok. The block Lanczos method for [18] H. A. van der Vorst. BI-CGSTAB: A Fast linear systems with multiple right-hand and Smoothly Converging Variant of BIsides. Applied Numerical Mathematics, CG for the solution of Nonsymmetric Li51(2-3):243256, 2004. near Systems. SIAM Journal on Scientic and Statistical Computing, 13(2):631644, [7] M. R. Hestenes and E. Stiefel. Methods 1992. of Conjugate Gradients for Solving Linear Systems. Journal of Research os the Nati- [19] H. A. van der Vorst. Iterative Krylov onal Bureau of Standards, 49(6):409436, Methods for a Large Systems. Cambridge December 1952. University Press, 2003. [8] I. C. F. Ipsen and C. D. Meyer. The Idea Behind Krylov Methods. American Mathematical Monthly, 105(10):889899, 1998. [9] C. Lanczos. An iterarion method for the solution of the eigenvalue problem of linear dierential and integral operators. J. Res. Nat. Bur. Standards, (45):255282, 1950. [10] Lanczos.C. Solution of systems of linear equations by minimized iterations. J. Res. Natl. Bur. Stand, 49:pp. 3353, 1952. [11] D. OLeary. The block conjugate gradient algorithm and related methods. Linear Algebra and Its Applications, 29:293322, 1980. [12] C. C. Paige and M. A. Saunders. Solution of sparse indenite systems of linear equations. SIAM J. Numer. Anal., 12:617629, 1975.

You might also like