métodos numéricos sistemas de equações...

37
Métodos Numéricos Sistemas de Equações Lineares Carlos J. Luz Departamento de Matemática Escola Superior de Tecnologia de Setúbal Ano Lectivo 2003/2004

Upload: lediep

Post on 12-Dec-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Métodos NuméricosSistemas de Equações Lineares

Carlos J. LuzDepartamento de Matemática

Escola Superior de Tecnologia de Setúbal

Ano Lectivo 2003/2004

Os sistemas de equações lineares constituem um instrumento indispensável ao estudo denumerosos problemas oriundos das mais variadas áreas do conhecimento. Se desde há muitoencontram incontáveis aplicações em Ciências Exactas e Engenharia, actualmente as CiênciasHumanas fazem um uso extensivo dos sistemas de equações lineares através, por exemplo, dostratamentos estatísticos.

Desde o Ensino Secundário que os sistemas de equações lineares são estudados, sendo aíaprendidos alguns métodos de resolução. Posteriormente, na disciplina de Álgebra Linear,é introduzido o método de eliminação de Gauss e utilizam-se os conceitos de dependência eindependência lineares para proceder à classificação dos sistemas de equações lineares quantoà existência de solução.

Numa disciplina de Métodos Numéricos tem-se em vista a descrição de métodos eficientespara a resolução de sistemas de equações de qualquer dimensão. Estes métodos destinam-se a ser implementados num computador, pelo que é necessário atender a algumas técnicasadequadas ao controlo de erros introduzidos pela realização de operações em ponto flutuante.

Os métodos de resolução de sistemas de equações lineares podem ser classificados em mé-todos directos e métodos iterativos. Nos métodos directos a solução é obtida após arealização de um número finito de operações aritméticas. Nos métodos iterativos, a partirde uma aproximação inicial, vão-se calculando sucessivamente novas aproximações da soluçãoexacta do sistema. Cada iteração consiste em obter uma nova aproximação (ou iterada) a partirdas anteriores, baseando-se a efectividade dum método iterativo na garantia da convergênciadas sucessivas iteradas para a solução exacta do sistema.

No que se segue, preocupar-nos-emos somente com a resolução de sistemas de equaçõeslineares em que a matriz dos coeficientes é quadrada e não singular1. Tratam-se de sistemascom uma única solução, constituídos por n equações lineares e n incógnitas x1, x2, . . . , xn, osquais podem ser representados na forma⎧⎪⎪⎪⎨⎪⎪⎪⎩

a11x1 + a12x2 + · · ·+ a1nxn = b1a21x1 + a22x2 + · · ·+ a2nxn = b2

...an1x1 + an2x2 + · · ·+ annxn = bn

, (1)

onde aij e bi (i, j = 1, . . . , n) são números reais conhecidos. O elemento aij é o coeficiente daincógnita xj na equação de ordem i e bi é o termo independente da mesma equação.

Matricialmente, o sistema anterior pode representar-se por

AX = B,

em que

A =

⎡⎢⎢⎢⎣a11 a12 · · · a1na21 a22 · · · a2n...

......

...an1 an2 · · · ann

⎤⎥⎥⎥⎦ , X =

⎡⎢⎢⎢⎣x1x2...xn

⎤⎥⎥⎥⎦ e B =

⎡⎢⎢⎢⎣b1b2...bm

⎤⎥⎥⎥⎦ ,são, respectivamente, a matriz dos coeficientes, a matriz das incógnitas e a matriz dostermos independentes. Utilizaremos as igualdades A = [aij ] e X = [xi] para indicar os

1Recorde-se que uma matriz é não singular se é invertível, o que equivale a dizer que o seu determinante édiferente de zero. Caso contrário, a matriz diz-se singular.

1

elementos genéricos duma matriz quadrada A de ordem n e duma matriz coluna X, respecti-vamente. Faremos também uso da notação vectorial x = (x1, x2, . . . , xn) para representar umamatriz coluna X = [xi] com n elementos. Para efeitos de representação, assumiremos pois queX = x.

Veremos seguidamente alguns métodos directos, nomeadamente o método de eliminaçãode Gauss e os métodos compactos de Doolitle e Cholesky. Depois, estudaremos os métodositerativos de Jacobi e de Gauss-Seidel.

1 Método de Eliminação de Gauss

Como dissemos, o método de eliminação de Gauss é habitualmente estudado na disciplinaintrodutória de Álgebra Linear. Baseia-se na transformação do sistema dado AX = B numsistema equivalente UX = Y, em que U é uma matriz triangular superior. Sendo [A|B] a matrizampliada de AX = B, a referida transformação é efectuada através da execução repetida deoperações elementares sobre as linhas de [A|B]. Recordam-se estas operações:

OE1 Troca entre si de 2 linhas da matriz.

OE2 Multiplicação dos elementos de uma linha por um escalar diferente de zero.

OE3 Subtracção a uma linha de outra linha multiplicada por uma constante.

Qualquer destas operações sobre [A|B] substitui o sistema inicial por outro equivalente,isto é, com as mesmas soluções. Realizando estas operações de forma sistemática, é possível,a partir do sistema inicial, determinar um sistema equivalente UX = Y, com U triangularsuperior, cujas soluções são facilmente obtidas.

De notar que, durante a resolução do sistema, poderemos, se tal for conveniente, trocar ascolunas da matriz ampliada que contêm os coeficientes das incógnitas. Contudo, essa trocaimplica a troca das correspondentes variáveis na solução X.

Para ilustrar o método de eliminação de Gauss vejamos um exemplo.

Exemplo 1.1 Consideremos o sistema⎧⎨⎩2x1 − 6x2 + 4x3 = −2x1 − 2x2 + x3 = 52x1 − 4x2 + 6x3 = 6

.

Tem-se então que

A =

⎡⎣ 2 −6 41 −2 12 −4 6

⎤⎦ , X =

⎡⎣ x1x2x3

⎤⎦ e B =

⎡⎣ −256

⎤⎦ ,sendo ⎡⎣ 2 −6 4 | −2

1 −2 1 | 52 −4 6 | 6

⎤⎦a respectiva matriz ampliada. Para transformar esta matriz efectuam-se, sucessivamente, asseguintes operações sobre linhas:

2

1. Dado que a11 = 2 6= 0, podemos usar este elemento para anular os restantes elementosda 1a coluna (a21 = 1 e a31 = 2). Para tal, subtraímos aos elementos das 2a e 3a linhas oproduto da linha 1 pelos multiplicadores

m21 =a21a11

=1

2e m31 =

a31a11

= 1,

respectivamente. Este procedimento equivale à execução da operação OE3, podendo serrepresentado como segue:⎡⎣ 2 −6 4 | −2

1 −2 1 | 52 −4 6 | 6

⎤⎦ OE3−→L2 − 1

2L1¡m21 =

12

¢L3 − L1 (m31 = 1)

⎡⎣ 2 −6 4 | −20 1 −1 | 60 2 2 | 8

⎤⎦O elemento a11 = 2 que se encontra assinalado por um quadrado, designa-se por redutor(em inglês, pivot).

2. Continuando a designar por aij os elementos da matriz ampliada obtida, tomando a22 =1 6= 0 como redutor, podemos anular o elemento abaixo (a32 = 2) utilizando de novo aoperação OE3. Bastará, assim, efectuar a subtracção entre a 3a linha e o produto da 2a

linha pelo multiplicador

m32 =a32a22

=2

1= 2,

a qual se representa por⎡⎣ 2 −6 4 | −20 1 −1 | 60 2 2 | 8

⎤⎦ OE3−→L3 − 2L2 (m32 = 2)

⎡⎣ 2 −6 4 | −20 1 −1 | 60 0 4 | −4

⎤⎦ .Designando a matriz ampliada obtida por [U |Y ] verifica-se que

U =

⎡⎣ 2 −6 40 1 −10 0 4

⎤⎦é triangular superior, pelo que o sistema correspondente UX = Y , isto é,⎧⎨⎩

2x1 − 6x2 + 4x3 = −2x2 − x3 = 64x3 = −4,

pode ser facilmente resolvido por rectrosubstituição ou substituição ascendente. De facto,começando pela resolução da 3a equação e prosseguindo de forma ascendente, obtém-se⎧⎨⎩

x3 = −4/4 = −1x2 = 6 + x3 = 5x1 =

12 (−2 + 6x2 − 4x3) = 16.

3

Com vista a descrever no caso geral o método de eliminação de Gauss, designemos por

hA(1)|B(1)

i=

⎡⎢⎢⎢⎢⎣a(1)11 a

(1)12 · · · a

(1)1n | b

(1)1

a(1)21 a

(1)22 · · · a

(1)2n | b

(1)2

......

...... | ...

a(1)n1 a

(1)n2 · · · a

(1)nn | b

(1)n

⎤⎥⎥⎥⎥⎦ (2)

a matriz ampliada de um sistema AX = B com n equações lineares e n incógnitas. Podemosentão sintetizar aquele método como segue.

Mediante a troca de linhas, suponha-se que é possível colocar um elemento não nulo naposição (1, 1) (se isto não for possível, terminamos o processo e concluímos que a matriz A ésingular visto que a 1a coluna é nula). Continuando a usar a representação (2) para a matrizresultante da eventual troca de linhas, podemos tomar o elemento não nulo a(1)11 como redutorpara anular todos os restantes elementos da 1a coluna. Para tal, basta subtrair da linha i(i = 2, . . . , n) a 1a linha multiplicada por mi1 = ai1/a11, de forma a obter a seguinte matriz:

hA(2)|B(2)

i=

⎡⎢⎢⎢⎢⎣a(1)11 a

(1)12 · · · a

(1)1n | b

(1)1

0 a(2)22 · · · a

(2)2n | b

(2)2

......

...... | ...

0 a(2)n2 · · · a

(2)nn | b

(2)n

⎤⎥⎥⎥⎥⎦ .Tem-se, assim, que

a(2)ij = a

(1)ij −mi1a

(1)ij , i = 2, . . . , n, j = 1, . . . n (3)

b(2)i = b

(1)i −mi1b

(1)1 , i = 2, . . . , n. (4)

A obtenção da matriz£A(2)|B(2)¤ culmina o 1o passo do método de eliminação de Gauss.

Seguidamente, se o elemento a(2)22 é não nulo, subtraimos de cada linha i (i = 3, . . . , n) de

A(2) o produto da segunda linha por mi2 = a(2)i2 /a

(2)22 , anulando desta forma os elementos da

segunda coluna de A(2) por baixo do redutor a(2)22 . Obtemos, assim, a matriz

hA(3)|B(3)

i=

⎡⎢⎢⎢⎢⎢⎢⎣a(1)11 a

(1)12 a

(1)13 · · · a

(1)1n | b

(1)1

0 a(2)22 a

(2)23 · · · a

(2)2n | b

(2)2

0 0 a(3)33 · · · a

(3)3n | b

(3)3

......

......

... | ...

0 0 a(3)n3 · · · a

(3)nn | b

(3)n

⎤⎥⎥⎥⎥⎥⎥⎦ ,

em que a(3)ij e b(3)i se obtêm mediante fórmulas análogas a (3) e (4). Caso o elemento a(2)22 sejanulo, por troca de linhas colocamos um elemento não nulo na posição (2, 2), o qual pode serutilizado para anular os elementos que estão abaixo (se não for possível colocar em (2, 2) umelemento não nulo, paramos o processo concluindo que A é singular). A obtenção da matriz£A(3)|B(3)¤ finaliza o 2o passo do método de eliminação de Gauss.O procedimento realizado em cada um dos passos anteriores é seguidamente repetido a

partir da posição (3,3) e termina quando a matriz dos coeficientes do sistema transformado for

4

triangular superior. Após n− 1 passos obtém-se a matriz

hA(n)|B(n)

i=

⎡⎢⎢⎢⎢⎢⎢⎣a(1)11 a

(1)12 a

(1)13 · · · a

(1)1n | b

(1)1

0 a(2)22 a

(2)23 · · · a

(2)2n | b

(2)2

0 0 a(3)33 · · · a

(3)3n | b

(3)3

......

.... . .

... | ...

0 0 0 · · · a(n)nn | b

(n)n

⎤⎥⎥⎥⎥⎥⎥⎦ ,

em que a(i)ii 6= 0, i = 1, . . . , n. Considerando U = [uij ] = A(n) e Y = [yi] = B(n), tem-se

que a matriz ampliada£A(n)|B(n)¤ corresponde ao sistema UX = Y, que se encontra na forma

triangular. Por rectrosubstituição pode-se facilmente resolver este sistema usando as fórmulas

xn = yn/unn

xi =1

uii

⎛⎝yi −nX

j=i+1

uijxj

⎞⎠ , i = n− 1, n− 2, . . . , 1.

2 Factorização LU

Ao longo da resolução de um sistema AX = B pelo método de eliminação de Gauss sãocalculados os multiplicadores mij . Por diversos motivos, é de toda a conveniência guardaraqueles multiplicadores. Numa implementação computacional do método de eliminação deGauss, os locais apropriados para guardar os mij são precisamente as entradas da matriz Aque vão sendo sucessivamente anuladas. Assim, admitindo que não há troca de linhas, osmultiplicadores mi1, i = 2, . . . , n, devem ser guardados nas posições inicialmente ocupadaspelos elementos ai1 da matriz A. Seguidamente, mi2, i = 3, . . . , n, devem ser guardados nasposições inicialmente ocupadas pelos elementos ai2 de A e, assim, sucessivamente. Por fim, omultiplicador mn,n−1 ocupará a posição do elemento an,n−1 de A.

Passamos a explicitar as razões que justificam a conservação dos multiplicadores mij . Comefeito, consideremos a matriz triangular inferior,

L =

⎡⎢⎢⎢⎢⎢⎣1 0 0 · · · 0

m21 1 0 · · · 0m31 m32 1 · · · 0...

......

. . ....

mn1 mn2 mn3 · · · 1

⎤⎥⎥⎥⎥⎥⎦ , (5)

cujos elementos da diagonal principal são todos iguais a 1 e que, abaixo desta diagonal, apre-senta os multiplicadoresmij . Seja A a matriz dos coeficientes de um sistema de equações linearesao qual se aplicou o método de eliminação de Gauss. Admitindo que A é não singular, tem-seo seguinte resultado cuja demonstração pode ser vista em [1, 2].

Teorema 2.1 Suponhamos que ao longo do processo de eliminação de Gauss não houve trocade linhas. Então a matriz A admite a factorização

A = LU

em que L é a matriz triangular inferior de diagonal unitária e U é a matriz triangular superiorA(n) obtida no final daquele processo.

5

Exemplo 2.1 Para o sistema do exemplo (1.1) tem-se,

L =

⎡⎣ 1 0 01/2 1 01 2 1

⎤⎦ e U =

⎡⎣ 2 −6 40 1 −10 0 4

⎤⎦ .Facilmente se conclui que

LU =

⎡⎣ 2 −6 41 −2 12 −4 6

⎤⎦ = A.

O teorema 2.1 permite escrever o sistema AX = B na forma

(LU)X = B ⇔ L (UX) = B.

Considerando UX = Y, conclui-se que o método de eliminação de Gauss equivale à factorizaçãoA = LU seguida da resolução de dois sistemas: primeiro, LY = B para obter Y e depois,UX = Y para obter X. As soluções Y e X calculam-se facilmente visto que L e U são matrizestriangulares.

Por outro lado, uma vez determinada a factorização A = LU, havendo necessidade dedeterminar a solução X do sistema AX = B0, em que B0 é diferente de B, bastará resolverLY = B0 e seguidamente UX = Y. Trata-se, com efeito, de uma vantagem significativa dafactorização LU visto que, uma vez realizada, pode ser empregue para resolver sistemas quetenham em comum a mesma matriz de coeficientes. Justifica-se, assim, que se guardem osmultiplicadores mij tal como foi mencionado acima até porque, como veremos, a factorizaçãoA = LU é a fase mais dispendiosa do método de Gauss, em termos computacionais (isto é, emtermos de número de operações aritméticas a realizar).

Outra vantagem proporcionada pela factorização LU é a possibilidade de calcular de umaforma muito simples o determinante de A. Efectivamente, se A = LU, resulta das propriedadesdo determinante que

detA = detL× detU.Como o determinante de uma matriz triangular é o produto dos elementos da diagonal principal,tem-se detL = 1 e detU = u11u22 · · ·unn, pelo que

detA = detU = u11u22 · · ·unn.

Exemplo 2.2 Aproveitando a factorização LU da matriz A obtida no exemplo 2.1, pretende-secalcular detA e resolver o sistema AX = B0, em que

B0 =

⎡⎣ 241

⎤⎦ .Em primeiro lugar, tem-se detA = detU = 2× 1× 4 = 8.Para resolver AX = B0 vamos determinar sucessivamente as soluções dos sistemas LY = B0

e UX = Y. A matriz ampliada de LY = B0 é⎡⎣ 1 0 0 | 21/2 1 0 | 41 2 1 | 1

⎤⎦ ,6

pelo que, designando por y1, y2 e y3 as componentes de Y, obtém-se por substituição descendente⎧⎨⎩y1 = 2y2 = 4− 1

2y1 = 3y3 = 1− y1 − 2y2 = 1− 2− 6 = −7

.

Por outro lado, a matriz ampliada de UX = Y é⎡⎣ 2 −6 4 | 20 1 −1 | 30 0 4 | −7

⎤⎦pelo que, designando por x1, x2 e x3 as componentes deX, obtém-se por substituição ascendente⎧⎨⎩

x1 =12 (2 + 6x2 − 4x3) = 33/4

x2 = 3 + x3 = 5/4x3 = −7/4

.

Como hipótese necessária à validade do teorema 2.1 admitiu-se que, ao longo do métodode eliminação de Gauss, não houve troca de linhas. Veremos seguidamente que, no caso emque se efectuam trocas de linhas, o teorema continua válido desde que enunciado de formaligeiramente diferente.

A troca de linhas na matriz A equivale à premultiplicação de A por uma matriz P, habi-tualmente designada por matriz de permutação. Por exemplo, considerando a matriz

A =

⎡⎣ a11 a12 a13a21 a22 a23a31 a32 a33

⎤⎦ , (6)

a troca das 1a e 2a linhas desta matriz equivale à premultiplicação de A por

P12 =

⎡⎣ 0 1 01 0 00 0 1

⎤⎦ . (7)

Com efeito,

P12A =

⎡⎣ 0 1 01 0 00 0 1

⎤⎦⎡⎣ a11 a12 a13a21 a22 a23a31 a32 a33

⎤⎦ =⎡⎣ a21 a22 a23

a11 a12 a13a31 a32 a33

⎤⎦é a matriz que resulta de A pela permutação das referidas linhas.

Uma matriz P que resulta da troca de duas linhas da matriz identidade diz-se uma matrizde permutação elementar. A matriz P12 vista acima é uma matriz de permutação elementar(o índice 12 indica as linhas movimentadas).

Imaginemos mais geralmente que se efectuam na matriz A dada em (6) duas trocas sucessi-vas de linhas, a saber: primeiro, trocam-se as 1a e 2a linhas e, seguidamente, trocam-se as 2a e3a linhas da matriz P12A. A realização destas trocas sucessivas é equivalente à premultiplicaçãode A pela matriz P = P23P12, onde

P23 =

⎡⎣ 1 0 00 0 10 1 0

⎤⎦ .7

De facto,

PA = P23P12A

=

⎡⎣ 1 0 00 0 10 1 0

⎤⎦⎡⎣ 0 1 01 0 00 0 1

⎤⎦⎡⎣ a11 a12 a13a21 a22 a23a31 a32 a33

⎤⎦=

⎡⎣ 0 1 00 0 11 0 0

⎤⎦⎡⎣ a11 a12 a13a21 a22 a23a31 a32 a33

⎤⎦=

⎡⎣ a21 a22 a23a31 a32 a33a11 a12 a13

⎤⎦é a matriz que resulta de A após a realização das trocas mencionadas. A matriz P = P23P12é uma matriz de permutação obtida a partir do produto de duas matrizes de permutaçãoelementar. Generalizando o raciocínio efectuado, conclui-se que uma sucessão de trocas delinhas efectuadas numa matriz A equivale à premultiplicação desta matriz por uma matriz depermutação P, a qual resulta do produto das matrizes de permutação elementar associadas acada uma das trocas.

Suponha-se agora que se aplica o método de eliminação de Gauss à matriz ampliada [A|B] deum sistema de equações lineares. Efectuar a totalidade das trocas de linhas ao longo do processode eliminação é equivalente a realizar todas essas trocas na matriz [A|B] antes de proceder àeliminação. A realização destas trocas é, como vimos, equivalente à premultiplicação de [A|B]por uma matriz de permutação P . Então, aplicando o processo de eliminação de Gauss à matrizampliada [PA|PB] não teríamos necessidade de efectuar trocas de linhas, pelo que o teorema2.1 garante que

LU = PA.

Tem-se, assim, que nesta igualdade, U é a matriz triangular superior obtida no final do processode eliminação e L é a matriz triangular inferior formada a partir dos multiplicadores utilizadosao longo do mesmo processo. Deste modo, deixando cair a hipótese da ausência de trocas delinhas, o teorema 2.1 mantém-se válido desde que se substitua no seu enunciado a matriz Apelo produto PA.

Exemplo 2.3 Resolver pelo método de eliminação de Gauss o sistema AX = B em que

A =

⎡⎣ 0 −1 41 −2 11 −4 6

⎤⎦ , X =

⎡⎣ x1x2x3

⎤⎦ e B =

⎡⎣ −256

⎤⎦ .Obter, em seguida, a factorização LU da matriz PA, sendo P a matriz de permutação corres-pondente às trocas efectuadas.

Representando a troca de duas linhas i e j por Li ↔ Lj , tem-se sucessivamente:⎡⎣ 0 −1 4 | −21 −2 1 | 51 −4 6 | 6

⎤⎦ OE1−→L1 ↔ L2

⎡⎣ 1 −2 1 | 50 −1 4 | −21 −4 6 | 6

⎤⎦

8

OE3−→(m21 = 0)

L3 − L1(m31 = 1)

⎡⎣ 1 −2 1 | 50 −1 4 | −20 −2 5 | 1

⎤⎦OE3−→

L3 − 2L2(m32 = 2)

⎡⎣ 1 −2 1 | 50 −1 4 | −20 0 −3 | 5

⎤⎦ .Por substituição ascendente, obtém-se então⎧⎨⎩

x3 = −5/3x2 = 2 + 4x3 = −14/3x1 = 5 + 2x2 − x3 = −8/3

.

Conclui-se assim que

L =

⎡⎣ 1 0 00 1 01 2 1

⎤⎦ e U =

⎡⎣ 1 −2 10 −1 40 0 −3

⎤⎦ .Uma vez que só houve a troca das linhas 1 e 2, o produto LU coincide com P12A, em que P12é a matriz dada em (7). Como se pode verificar,

LU =

⎡⎣ 1 0 00 1 01 2 1

⎤⎦⎡⎣ 1 −2 10 −1 40 0 −3

⎤⎦ =⎡⎣ 1 −2 10 −1 41 −4 6

⎤⎦ = P12A.

Exercício 2.1 Utilizando o método de eliminação de Gauss resolva os seguinte sistema deequações: ⎧⎪⎪⎨⎪⎪⎩

3x1 + 2x2 + 4x3 + x4 = 42x1 + x2 + x3 − x4 = 72x1 + x3 + 2x4 = −4x1 + 2x2 + 4x4 = −7

.

(a) Obtenha a factorização LU da matriz dos coeficientes do sistema e aproveite-a para obtero determinante dessa matriz.(b) Utilize a alínea anterior para resolver o sistema tomando para 2o membro o vector (−1, 6, 1, 0).Resolução: (a) Neste caso tem-se

A =

⎡⎢⎢⎣3 2 4 12 1 1 −12 0 1 21 2 0 4

⎤⎥⎥⎦ , X =

⎡⎢⎢⎣x1x2x3x4

⎤⎥⎥⎦ e B =

⎡⎢⎢⎣47−4−7

⎤⎥⎥⎦ ,pelo que ⎡⎢⎢⎣

3 2 4 1 | 42 1 1 −1 | 72 0 1 2 | −41 2 0 4 | −7

⎤⎥⎥⎦

9

é a matriz ampliada do sistema. Aplicando o método de eliminação de Gauss a esta matrizvem: ⎡⎢⎢⎣

3 2 4 1 | 42 1 1 −1 | 72 0 1 2 | −41 2 0 4 | −7

⎤⎥⎥⎦OE1−→

L1 ↔ L4

⎡⎢⎢⎣1 2 0 4 | −72 1 1 −1 | 72 0 1 2 | −43 2 4 1 | 4

⎤⎥⎥⎦OE3−→

m21 = 2m31 = 2m41 = 3

⎡⎢⎢⎣1 2 0 4 | −70 −3 1 −9 | 21

0 −4 1 −6 | 100 −4 4 −11 | 25

⎤⎥⎥⎦ OE3−→m32 = 4/3m42 = 4/3

⎡⎢⎢⎢⎣1 2 0 4 | −70 −3 1 −9 | 21

0 0 −1/3 6 | −180 0 8/3 1 | −3

⎤⎥⎥⎥⎦

OE3−→m43 = −8

⎡⎢⎢⎣1 2 0 4 | −70 −3 1 −9 | 210 0 −1/3 6 | −180 0 0 49 | −147

⎤⎥⎥⎦ .Por substituição ascendente obtém-se finalmente⎧⎪⎪⎨⎪⎪⎩

x4 = −147/49 = −3x3 = −3(−18− 6x4) = 0x2 = −13 (21− x3 + 9x4) = 2x1 = −7− 2x2 − 4x4 = 1.

(b) Atendendo aos multiplicadores utilizados no processo de eliminação de Gauss temos que

L =

⎡⎢⎢⎣1 0 0 0

m21 1 0 0m31 m32 1 0m41 m42 0 1

⎤⎥⎥⎦ =⎡⎢⎢⎣1 0 0 02 1 0 02 4/3 1 03 4/3 −8 1

⎤⎥⎥⎦ ;por outro lado,

U =

⎡⎢⎢⎣1 2 0 40 −3 1 −90 0 −1/3 60 0 0 49

⎤⎥⎥⎦ .Uma vez que só houve a troca das linhas 1 e 4, o produto LU coincide com P14A, em que

P14 é a matriz

P14 =

⎡⎢⎢⎣0 0 0 10 1 0 00 0 1 01 0 0 0

⎤⎥⎥⎦ .De facto, como se pode verificar, tem-se

LU =

⎡⎢⎢⎣1 0 0 02 1 0 02 4/3 1 03 4/3 −8 1

⎤⎥⎥⎦⎡⎢⎢⎣1 2 0 40 −3 1 −90 0 −1/3 60 0 0 49

⎤⎥⎥⎦ =⎡⎢⎢⎣1 2 0 42 1 1 −12 0 1 23 2 4 1

⎤⎥⎥⎦10

e

P14A =

⎡⎢⎢⎣0 0 0 10 1 0 00 0 1 01 0 0 0

⎤⎥⎥⎦⎡⎢⎢⎣3 2 4 12 1 1 −12 0 1 21 2 0 4

⎤⎥⎥⎦ =⎡⎢⎢⎣1 2 0 42 1 1 −12 0 1 23 2 4 1

⎤⎥⎥⎦ .Para obter o determinante de A observe-se que a igualdade P14A = LU implica que

detP14A = detLU ⇔ detP14 × detA = detL× detU⇔ detP14 × detA = 1× [1 · (−3) · (−1/3) · 49]

⇔ detP14 × detA = 49.

Como detP14 = −1 (recorde-se que a troca de duas linhas ou colunas de uma matriz obriga atrocar o sinal ao determinante) conclui-se que detA = −49.(c) Para resolver

AX = B0 =

⎡⎢⎢⎣−1610

⎤⎥⎥⎦utilizando a factorização LU de P14A teremos primeiro que premultiplicar B0 por P14 comoforma de efectuarmos em B0 a troca de linhas realizada em A. Este procedimento conduz àresolução do sistema equivalente P14AX = P14B

0, para o que é suficiente determinar sucessi-vamente as soluções dos sistemas LY = P14B

0 e UX = Y. A matriz ampliada de LY = P14B0

é ⎡⎢⎢⎣1 0 0 0 | 02 1 0 0 | 62 4/3 1 0 | 13 4/3 −8 1 | −1

⎤⎥⎥⎦ ,pelo que, designando por y1, y2, y3 e y4 as componentes de Y, obtém-se por substituição des-cendente ⎧⎪⎪⎨⎪⎪⎩

y1 = 0y2 = 6− 2y1 = 6y3 = 1− 2y1 − 4

3y2 = −7y4 = −1− 3y1 − 4

3y2 + 8y3 = −65.

Por outro lado, a matriz ampliada de UX = Y é⎡⎢⎢⎣1 2 0 4 | 00 −3 1 −9 | 60 0 −1/3 6 | −70 0 0 49 | −65

⎤⎥⎥⎦pelo que, designando por x1, x2, x3 e x4 as componentes de X, obtém-se por substituição as-cendente ⎧⎪⎪⎨⎪⎪⎩

x4 = −65/49x3 = −3 · (−7− 6x4) = −141/49x2 = −13(6− x3 + 9x4) = 50/49x3 = 0− 2x2 − 4x4 = 160/49

.

11

2.1 Avaliação do esforço computacional

O esforço computacional realizado por um algoritmo é habitualmente medido pelo número deoperações aritméticas elementares (adições, subtracções, multiplicações ou divisões) efectuadas.Neste contexto, é costume usar-se a terminologia inglesa pelo que a locução “número de ope-rações aritméticas efectuadas"é vulgarmente substituída por “numero de flops efectuados"(otermo flops abrevia a expressão inglesa floating point operations).

O objectivo que temos agora em vista é a contagem do número de flops necessários pararesolver um sistema AX = B pelo método de eliminação de Gauss. Vamos considerar separa-damente a criação das matrizes L e U a partir de A, depois a transformação de B no vector Ye finalmente a resolução de UX = Y utilizando a substituição ascendente.

1. Cálculo de L e U

Considerando a descrição do método de eliminação de Gauss feita na secção 1, paraobter a matriz A(2) são necessárias n − 1 divisões para calcular os multiplicadores mi1,

i = 2, . . . , n. A obtenção dos elementos a(2)ij requer, por outro lado, a realização de (n− 1)2multiplicações e (n− 1)2 subtracções. Utilizando o mesmo raciocínio podemos procederà contagem das operações realizadas na obtenção de cada matriz A(i), i = 1, . . . , n; atabela seguinte resume estas contagens.

Obtenção de A(i) Adições/Subtracções Multiplicações DivisõesA(2) (n− 1)2 (n− 1)2 n− 1A(3) (n− 2)2 (n− 2)2 n− 2...

......

...A(n) = U 1 1 1

Total n(n−1)(2n−1)6

n(n−1)(2n−1)6

n(n−1)2

O valor total em cada coluna foi obtido usando as igualdades

pXj=1

j =p(p− 1)2

epX

j=1

j2 =p(p+ 1)(2p+ 1)

6, p ≥ 1.

Para a factorização LU, temos assim que o número total de flops é

n(n− 1)(2n− 1)6

+n(n− 1)(2n− 1)

6+

n(n− 1)2

=2n3

3− n2

2− n

6

2. Transformação de B no vector Y

Neste caso temos o seguinte quadro:

Obtenção de B(i) Adições/Subtracções MultiplicaçõesB(2) n− 1 n− 1B(3) n− 2 n− 2...

......

B(n) = Y 1 1

Total n(n−1)2

n(n−1)2

12

O número total de flops é

n(n− 1)2

+n(n− 1)

2= n2 − n.

3. Resolução de UX = Y

Neste caso tem-se

Obtenção de xi Adições/Subtracções Multiplicações Divisõesxn 0 0 1xn−1 1 1 1...

......

...x1 n− 1 n− 1 1

Total n(n−1)2

n(n−1)2 n

Assim, o número total de flops é

n(n− 1)2

+n(n− 1)

2+ n = n2.

Dos pontos 1., 2. e 3. conclui-se que o número total de flops necessários para resolverAX = B é µ

2n3

3− n2

2− n

6

¶+¡n2 − n

¢+ n2 =

2

3n3 +

3

2n2 − 7

6n ≈ 2

3n3.

A estimativa de 2n3/3 apontada para o número total de flops é válida para grandes valoresde n. De notar que a potência n3 só aparece no cálculo do número de flops da factorizaçãoLU . Deste modo, o cálculo de L e U constitui o maior esforço computacional do processo deeliminação de Gauss. Uma vez obtidas estas matrizes, são somente necessários 2n2 − n ≈ 2n2flops para resolver AX = B. Conclui-se, portanto, que é relativamente económico resolveroutros sistemas com a mesma matriz dos coeficientes, desde que a factorização LU tenha sidoguardada.

Convém referir que, do ponto de vista computacional, o processo de eliminação de Gaussé radicalmente mais económico do que a regra de Cramer. Efectivamente, se nesta regra osdeterminantes forem calculados através da regra de Laplace, o número de flops efectuados éde (n+ 1)! para um sistema com n equações e n incógnitas. Assim, para n = 10, o métodode eliminação de Gauss efectua cerca de 700 flops enquanto a regra de Cramer realiza 11! =39 916 800 flops. Por esta razão não é recomendável a utilização da regra de Cramer na resoluçãode sistemas de equações lineares de grandes ou mesmo moderadas dimensões.

3 Pesquisa de redutor

Por definição, os redutores a(i)ii , i = 1, . . . , n, utilizados no método de eliminação de Gauss sãonão nulos. Contudo, numa implementação computacional do método, não é suficiente que osredutores sejam diferentes de zero. Na realidade, os erros de arredondamento das operaçõesem vírgula flutuante, podem tornar não nulo um redutor que seria nulo caso os cálculos fossemrealizados em aritmética exacta. Compreensivelmente, a utilização deste redutor pode intro-duzir erros grosseiros nos cálculos seguintes, os quais se podem repercurtir indesejavelmente

13

na solução final do sistema. Para minorar este tipo de problemas, recorre-se a determinadosmétodos que visam estabelecer critérios a usar na escolha dos redutores. Veremos seguidamenteos métodos designados por pesquisa parcial de redutor e pesquisa total de redutor.

Pesquisa parcial de redutor. Seja

hA(k)|B(k)

i=

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

a(k)11 a

(k)12 · · · a

(k)1k · · · a

(k)1n | b

(k)1

0 a(k)22 · · · a

(k)2k · · · a

(k)2n | b

(k)2

......

. . ....

...... | ...

0 0 · · · a(k)kk · · · a

(k)kn | ...

......

...... · · · ... | ...

0 0 · · · a(k)nk · · · a

(k)nn | b

(1)n

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦a matriz ampliada no início do passo k ∈ {1, . . . , n − 1} do método de eliminação deGauss. Considere-se

ck = maxk≤i≤n

|a(k)ik |, (8)

isto é, maior dos valores absolutos dos elementos a(k)kk , . . . , a(k)nk da coluna k abaixo e sobre

a diagonal principal de A(k). Suponhamos que este máximo é atingido para o elementoa(k)rk que se encontra na linha r ∈ {k, . . . , n}, isto é, ck = |a(k)rk |. Então, se r > k, trocam-se as linhas r e k da matriz

£A(k)|B(k)¤ e prossegue-se com o passo k do processo de

eliminação de Gauss. De notar que este procedimento garante que os multiplicadoresmik, i = k + 1, . . . n, verificam |mik| ≤ 1 o que evita uma grande variação dos elementosde£A(k)|B(k)¤ e, possivelmente, erros propagados de grande magnitude.

Exemplo 3.1 Arredondando os resultados dos cálculos para 4 dígitos, vamos resolver o sistema½0.005x+ 0.81y = 0.78422.333x+ 1.52y = 1.225

sem pesquisa de redutor e com pesquisa parcial de redutor. A solução do sistema com 4algarismos exactos é

x1 = −0.1061 e x2 = 0.9688.

1. Resolução sem pesquisa de redutor

A transformação da matriz ampliada numa matriz triangular representa-se por∙0.005 0.81 | 0.78422.333 1.52 | 1.225

¸↓ m21 =

2.333

0.005= 466∙

0.005 0.81 | 0.78420 −375.9 | −364.2

¸Logo, a solução obtida por substituição ascendente é½

x2 =−364.2−375.9 = 0.9689

x1 =0.7842−0.81∗0.9689

0.005 = −0.1218 (9)

14

2. Resolução com pesquisa de redutor

Neste caso teremos de começar por trocar as 1a e 2a linhas da matriz ampliada visto que

c1 = max {|0.005| , |2.333|} = 2.333.A transformação da matriz ampliada numa matriz triangular representa-se por∙

0.005 0.81 | 0.78422.333 1.52 | 1.225

¸↓ L1 ↔ L2∙

2.333 1.52 | 1.2250.005 0.81 | 0.7842

¸↓ m21 =

0.005

2.333= 0.0021∙

2.333 1.52 | 1.2250 0.8068 | 0.7816

¸Logo, a solução obtida por substituição ascendente é⎧⎨⎩

x2 =0.78160.8068 = 0.9688

x1 =1.225−1.52∗0.9688

2.333 = −0.1061(10)

Vê-se assim que, em (9), a percentagem de erro de x2 é de cerca de 0.01%mas a percentagemde erro de x1 é de cerca de 14.8%. Por outro lado, em (10), foi obtida a solução do sistema com4 algarismos exactos. Isto ilustra o efeito positivo da pesquisa parcial de redutor no método deeliminação de Gauss.

Pesquisa total de redutor. Este procedimento consiste em calcular, no passo k da elimi-nação de Gauss, a quantidade

ck = maxi≤i,j≤n

|a(k)ij |.Trata-se do maior dos valores absolutos dos elementos da submatriz⎡⎢⎣ a

(k)kk · · · a

(k)kn

... · · · ...

a(k)nk · · · a

(k)nn

⎤⎥⎦de A(k). Uma vez calculado ck procede-se à troca das linhas de

£A(k)|B(k)¤ e das colunas

de A(k) de modo a trazer para a posição do redutor o elemento para o qual se obteve ovalor de ck. De notar que a troca de colunas deve levar a que se troquem igualmente ascorrespondentes variáveis na matriz das incógnitas.

A pesquisa total de redutor é o procedimento que em geral melhor permite minorar osefeitos decorrentes da propagação dos erros de arredondamento. Ao mesmo tempo, o númerode flops que requer é muito superior ao número exigido pela pesquisa parcial de redutor. Acresceainda que, na generalidade dos casos, a precisão permitida pela pesquisa parcial de redutor ésemelhante à fornecida pela pesquisa total. Por estes motivos, a pesquisa parcial de redutor éo procedimento mais utilizado no método de eliminação de Gauss para controlar os erros dearredondamento.

15

4 Métodos Compactos

Vimos na secção 2 que o método de eliminação de Gauss permite obter a factorização LU damatriz dos coeficientes dum sistema AX = B. E, tal como aí foi referido, uma vez obtidas asmatrizes L e U , a solução do sistema AX = B pode ser determinada resolvendo sucessivamenteos sistemas triangulares LY = B e UX = Y . Acontece, no entanto, que as matrizes L e U po-dem ser calculadas directamente sem recorrer ao método de eliminação de Gauss. Somos entãoconduzidos aos chamadosmétodos compactos, designação que se deve a que os elementos deL e U são agora calculados de uma só vez através de fórmulas explícitas, ao contrário do queacontece na eliminação de Gauss onde aqueles elementos são obtidos por etapas à medida queo processo avança. Veremos seguidamente o método de Doolitle que procede à factorizaçãoLU da matriz A de uma forma compacta. Apresentaremos ainda nesta secção um outro métodocompacto — o método de Cholesky —, que se baseia numa factorização da matriz A distintada factorização LU .

4.1 Método de Doolitle

Este método não é mais do que a expressão do método de eliminação de Gauss na formamatricial. Consiste no cálculo directo da factorização LU da matriz A, sendo L a matriz (5) eU a matriz A(n) obtida no final da eliminação de Gauss. Antes da apresentação das fórmulaspara o cálculo directo de L e U , vejamos um exemplo.

Exemplo 4.1 Vamos resolver pelo método de Doolitle o sistema do exemplo 1.1. A factori-zação LU da matriz A pode obter-se a partir de

A = [aij ] = LU ⇔⎡⎣ 2 −6 41 −2 12 −4 6

⎤⎦ =⎡⎣ 1 0 0

m21 1 0m31 m32 1

⎤⎦⎡⎣ u11 u12 u130 u22 u230 0 u33

⎤⎦ .Multiplicando as matrizes que se encontram à direita da última igualdade obtém-se⎡⎣ 2 −6 4

1 −2 12 −4 6

⎤⎦ =⎡⎣ u11 u12 u13

m21u11 u22 +m21u12 u23 +m21u13m31u11 m31u12 +m32u22 u33 +m31u13 +m32u23

⎤⎦ .Igualando os elementos homólogos da 1a coluna e da 1a linha das duas matrizes, vem:

1a coluna →⎧⎨⎩

u11 = a11 = 2m21u11 = a21 = 1⇒ m21 =

12

m31u11 = a31 = 2⇒ m31 =22 = 1

1a linha →½

u12 = a12 = −6u13 = a13 = 4

Prosseguindo com os elementos que restam da 2a coluna e da 2a linha das duas matrizes,obtém-se

2a coluna →½

u22 +m21u12 = a22 = −2⇒ u22 = −2− 12(−6) = 1

m31u12 +m32u22 = a32 = −4⇒ m32 =−4−1(−6)

1 = 2

2a linha →½u23 +m21u13 = a23 = 1⇒ u23 = 1− 1

2· 4 = −1

16

Finalmente, os elementos da 3a coluna e da 3a linha das duas matrizes conduzem a

3a coluna3a linha

¾→ {u33 +m31u13 +m32u23 = a33 = 6⇒ u33 = 6− 1 · 4− 2(−1) = 4 .

A factorização A = LU é então⎡⎣ 2 −6 41 −2 12 −4 6

⎤⎦ =⎡⎣ 1 0 01/2 1 01 2 1

⎤⎦⎡⎣ 2 −6 40 1 −10 0 4

⎤⎦ ,como já se tinha visto no exemplo 2.1. A partir daqui resolve-se LY = B, isto é,⎡⎣ 1 0 0

1/2 1 01 2 1

⎤⎦⎡⎣ y1y2y3

⎤⎦ =⎡⎣ −25

6

⎤⎦⇔⎡⎣ y1

y2y3

⎤⎦ =⎡⎣ −26−4

⎤⎦e, finalmente, determina-se a solução de UX = Y :⎡⎣ 2 −6 4

0 1 −10 0 4

⎤⎦⎡⎣ x1x2x3

⎤⎦ =⎡⎣ −26−4

⎤⎦⇔⎡⎣ x1

x2x3

⎤⎦ =⎡⎣ 16

5−1

⎤⎦ .Observando a determinação das matrizes L e U no exemplo anterior, constata-se que o

procedimento efectuado é equivalente ao cálculo dos elementos da matriz

L+ U − I =

⎡⎣ u11 u12 u13m21 u22 u23m31 m32 u33

⎤⎦ ,onde I representa a matriz identidade. A ordem pela qual os elementos desta matriz podemser calculados (outras sequências de cálculos existem) também é sugerida no exemplo: primeirosão calculados os elementos da 1a coluna e da 1a linha de L+ U − I; depois são calculados osrestantes elementos da 2a coluna e da 2a linha de L+ U − I; finalmente, é obtido o elementorestante que se encontra na 3a coluna e 3a linha de L+ U − I.

A extensão deste procedimento ao caso geral não apresenta apresenta dificuldades. SendoA uma matriz não singular de ordem de ordem n, o cálculo dos elementos mij e uij da matrizL+U−I pode fazer-se mediante as seguintes fórmulas, as quais podem ser facilmente deduzidasusando a técnica apresentada no exemplo anterior:⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

u1j = a1j j = 1, . . . , n

uij = aij −i−1Xs=1

misusj j = i, . . . , n; i ≥ 2mi1 =

ai1u11

i = 2, . . . , n

mij =1ujj

Ãaij −

j−1Xs=1

misusj

!i = j + 1, . . . , n; j ≥ 2

. (11)

17

A ordem pela qual os elementos de L+U−I devem ser calculados está esquematizada a seguir:

1

2

3

4

56

etc.

L U − I 1

2

3

4

56

etc.

1

2

3

4

56

etc.

L U − I . (12)

De notar que os elementos ujj intervenientes em (11) têm de ser não nulos, o que podesempre ser conseguido por troca de linhas, caso a matriz A seja não singular.

Tem-se, portanto, que a aplicação do método de Doolitle à resolução de um sistema AX = Bconsiste na factorização de A mediante (11), seguida da determinação das soluções dos sistemastriangulares LY = B e UX = Y por substituição descendente e ascendente, respectivamente.

Exercício 4.1 Resolver pelo método de Doolitle o sistema⎧⎨⎩2x1 + x2 + 3x3 = 13x1 + 2x2 + 4x3 = 22x1 + 2x2 + x3 = 3

.

Vamos aplicar à matriz dos coeficientes

A =

⎡⎣ 2 1 33 2 42 2 1

⎤⎦as fórmulas (11) e a ordem de cálculo esquematizada em (12). Temos então:

1m→⎧⎨⎩

u11 = a11 = 2m21 =

a21u11

= 32

m31 =a31u11

= 22 = 1

2m→½

u12 = a12 = 1u13 = a13 = 3

3m→

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩u22 = a22 −

1Xs=1

m2sus2 = a22 −m21u12 = 2− 32 · 1 = 1

2

m32 =1u22

Ãa32 −

1Xs=1

m3sus2

!= a32−m31u12

u22= 2−1·1

1/2 = 2

4m→(u23 = a23 −

1Xs=1

m2sus3 = a23 −m21u13 = 4− 32· 3 = −1

2

5m→(u33 = a33 −

2Xs=1

m3sus3 = a33 −m31u13 −m32u23 = 1− 3 + 1 = −1 .

Assim, tem-se que

L =

⎡⎣ 1 0 03/2 1 01 2 1

⎤⎦ e U =

⎡⎣ 2 1 30 1/2 −1/20 0 −1

⎤⎦ .18

Resolve-se agora LY = B, em que B é o 2o membro do sistema dado, isto é,⎡⎣ 1 0 03/2 1 01 2 1

⎤⎦⎡⎣ y1y2y3

⎤⎦ =⎡⎣ 123

⎤⎦ ,pelo que ⎧⎨⎩

y1 = 1y2 = 2− 3

2y1 = 2− 32 =

12

y3 = 3− y1 − 2y2 = 3− 1− 1 = 1.

Finalmente, determina-se a solução de UX = Y , isto é,⎡⎣ 2 1 30 1/2 −1/20 0 −1

⎤⎦⎡⎣ x1x2x3

⎤⎦ =⎡⎣ 11/21

⎤⎦ ,donde sai que ⎧⎨⎩

x3 = −112x2 =

12 +

12x3 ⇒ x2 = 1 + x3 = 0

2x1 = 1− x2 − 3x3 ⇒ 2x1 = 1 + 3⇒ x1 = 2.

Portanto, a solução do sistema dado é x1 = 2, x2 = 0 e x3 = −1.

Tal como no método de eliminação de Gauss, é possível implementar no método de Doolitlea pesquisa parcial de redutor. No entanto, existe um outro método compacto — o método deCrout — em que a implementação da pesquisa parcial de redutor se torna mais eficiente. Esteprocedimento realiza igualmente uma factorização LU da matriz A, mas agora os elementosda diagonal principal da matriz triangular superior U são todos iguais a um, enquanto nadiagonal principal da matriz triangular inferior L podem figurar quaisquer valores. A descriçãodetalhada deste método pode ser vista em [2].

4.2 Método de Cholesky

O método de Cholesky é aplicável a sistemas cuja matriz dos coeficientes é simétrica edefinida positiva. Uma matriz A = [aij ] de ordem n diz-se definida positiva se

XTAX =nXi=1

nXj=1

aijxixj > 0,

para toda a matriz coluna não nula X = [xi] com n elementos. Faremos uso adiante da seguintecaracterização das matrizes simétricas definidas positivas cuja demonstração pode ser vista em[5, 6].

Teorema 4.1 Seja A uma matriz de ordem n simétrica. Então A é definida positiva se e sóse todas as submatrizes Ai formadas pelos elementos das primeiras i linhas e i colunas de Atêm determinante positivo, isto é, detAi > 0, para i = 1, . . . , n.

19

Exemplo 4.2 A matriz simétrica A =

⎡⎣ 2 0 20 1 22 2 10

⎤⎦ é definida positiva poisdetA1 = det [2] = 2 > 0 detA2 =

∙2 00 1

¸= 2 > 0 e

detA3 = detA = det

⎡⎣ 2 0 20 1 22 2 10

⎤⎦ = 8 > 0.Na resolução de sistemas AX = B pelo método de Cholesky, a matriz A é factorizada em

duas matrizes L e LT , tais que A = LLT . A matriz L é triangular inferior (não necessariamentede diagonal unitária) sendo LT a sua matriz transposta, logo triangular superior. Assim, osistema original AX = B pode escrever-se na forma

¡LLT

¢X = B ou, equivalentemente,

L¡LTX

¢= B. Portanto, à semelhança do que foi visto para a decomposição LU , a solução de

AX = B obtém-se resolvendo sucessivamente os sistemas triangulares

LY = B e LTX = Y . (13)

Vejamos como realizar a factorização LLT de uma matriz A de ordem n, suposta simétricae definida positiva:

A =

⎡⎢⎢⎢⎣a11 a12 · · · a1na21 a22 · · · a2n...

......

...an1 an2 · · · ann

⎤⎥⎥⎥⎦ .Pretendemos que LLT = A, isto é,⎡⎢⎢⎢⎣

l11 0 · · · 0l21 l22 · · · 0...

.... . .

...ln1 ln2 · · · lnn

⎤⎥⎥⎥⎦⎡⎢⎢⎢⎣

l11 l21 · · · ln10 l22 · · · ln2...

.... . .

...0 0 · · · lnn

⎤⎥⎥⎥⎦ =⎡⎢⎢⎢⎣

a11 a12 · · · a1na21 a22 · · · a2n...

......

...an1 an2 · · · ann

⎤⎥⎥⎥⎦ .Efectuando o produto da 1a linha de L pela 1a coluna de LT obtém-se

l211 = a11 ⇒ l11 =√a11.

De notar que l11 > 0 pois, como A definida positiva, vem pelo teorema 4.1, det(A1) = a11 > 0.Multiplicando seguidamente a 2a linha de L pelas 1a e 2a colunas de LT obtém-se, respec-

tivamente,l21l11 = a21 e l221 + l222 = a22,

pelo que

l21 =a21l11

e l22 =qa22 − l221.

Tem-se igualmente que l22 > 0 pois, detA2 = l211¡a22 − l221

¢e este determinante é positivo,

atendendo a que A é definida positiva.

20

Efectuando sucessivamente o procedimento anterior chegaríamos à etapa final que consisteem multiplicar a última linha de L por todas as colunas de LT . Obter-se-ia então

ln1l11 = an1, ln1l21 + ln2l22 = an2, . . . , l2n1 + l2n2 + · · ·+ l2nn = ann,

pelo que

ln1 =an1l11

, ln2 =1

l22

Ãan2 −

1Xk=1

lnkl2k

!, . . . , lnn =

vuutann −n−1Xk=1

l2nk.

O facto de A ser definida positiva garante que lii > 0, i = 1, 2, . . . , n.As fórmulas anteriores sugerem que os elementos lij da matriz triagular inferior L podem

ser obtidos, para cada i = 1, 2, . . . , n, mediante as igualdades⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩lij =

1ljj

Ãaij −

j−1Pk=1

likljk

!j = 1, . . . , i− 1

lii =

saii −

i−1Pk=1

l2ik

. (14)

A ordem pela qual os elementos de L = [lij ] (com lij = 0 se i < j) devem ser calculadosestá esquematizada a seguir:

1

4

3

5

etc.

2

6 7L

1

4

3

5

etc.

2

6 7L

.

Exemplo 4.3 Vamos resolver pelo método de Cholesky o sistema de equações lineares AX =B, onde

A =

⎡⎣ 2 0 20 1 22 2 10

⎤⎦ e B =

⎡⎣ 61442

⎤⎦ .Vimos no exemplo anterior que A é definida positiva. Para obter a factorização LLT da

matriz A, apliquemos as fórmulas (14):

l11 =√a11 =

√2,

l21 =a21l11

=0√2= 0,

l22 =

vuuta22 −1X

k=1

l22k =qa22 − l221 =

√1− 0 = 1

21

l31 =a31l11

=2√2=√2,

l32 =

a32 −1P

k=1

l3kl2k

l22=

a32 − l31l21l22

=2−√2× 0

1= 2

l33 =

vuutÃa33 − 2Xk=1

l23k

!=qa33 − l231 − l232 =

√10− 2− 4 = 2.

A factorização A = LLT é então⎡⎣ 2 0 20 1 22 2 10

⎤⎦ =⎡⎣ √2 0 0

0 1 0√2 2 2

⎤⎦⎡⎣ √2 0√2

0 1 20 0 2

⎤⎦ .A partir daqui resolve-se LY = B, isto é,⎡⎣ √2 0 0

0 1 0√2 2 2

⎤⎦⎡⎣ y1y2y3

⎤⎦ =⎡⎣ 61442

⎤⎦⇓⎡⎣ y1

y2y3

⎤⎦ =⎡⎣ 3√214

4

⎤⎦e, finalmente, obtém-se a solução de LTX = Y :⎡⎣ √2 0

√2

0 1 20 0 2

⎤⎦⎡⎣ x1x2x3

⎤⎦ =⎡⎣ 3√214

4

⎤⎦⇓⎡⎣ x1

x2x3

⎤⎦ =⎡⎣ 1102

⎤⎦ .5 Métodos Iterativos

Faremos seguidamente um estudo sumário dos métodos iterativos para a resolução de umsistema de equações lineares. Concretamente, apresentaremos os métodos de Jacobi e Gauss-Seidel, cada um dos quais pode ser visto como um conjunto de procedimentos que permite obteruma solução aproximada do sistema a partir de outra solução aproximada, procedimentos essesque podem ser indefinidamente repetidos.

Ao aplicar um método directo para resolver um sistema de equações lineares o utilizadorconhece com antecedência o esforço computacional que vai ser dispendido. Pelo contrário,num método iterativo, não se pode à partida prever o número de soluções aproximadas quedevem ser calculadas para se obter uma dada precisão, visto que esse número pode variar desistema de equações para sistema de equações. Porquê então usar métodos iterativos? De

22

facto, em muitas situações reais é necessário resolver sistemas de grande dimensão (isto é, com1000 ou mais equações e variáveis) cuja matriz dos coeficientes é esparsa (isto é, o número deelementos não nulos é relativamente pequeno). Torna-se então impraticável utilizar um métododirecto para resolver estes sistemas, atendendo ao espaço de memória necessário para guardartodos coeficientes nulos. Por isso, a utilização de métodos iterativos nestes casos tem todo ocabimento, sendo mesmo em muitos deles a única possibilidade que existe para obter a soluçãodo sistema.

Para a resolver iterativamente AX = B podemos começar por decompor a matriz A (quecontinuaremos a supor não singular) na soma de duas matrizes M e N , isto é,

A =M +N. (15)

O sistema original escreve-se então na forma

(M +N)X = B

ou, equivalentemente,MX = B −NX.

Esta expressão sugere o processo iterativo

MX(k+1) = B −N X(k), k = 0, 1, . . . , (16)

em que X(k) = (x(k)1 , x

(k)2 , . . . , x

(k)n ) designa a solução aproximada da solução do sistema AX =

B obtida ao fim de k iterações. Escolhendo paraM uma matriz invertível, a igualdade anteriorescreve-se na forma

X(k+1) =M−1B −M−1N X(k), k = 0, 1, . . . .

Assim, a partir de uma solução aproximada inicial X(0), é formada a sucessão de iteradas

X(1) = M−1B −M−1N X(0)

X(2) = M−1B −M−1N X(1)

...

X(k+1) = M−1B −M−1N X(k)

...

que desejavelmente deve convergir para a solução de AX = B. Veremos adiante condições quegarantem a convergência desta sucessão. Antes, porém, vamos descrever os métodos de Jacobie Gauss-Seidel que correspondem precisamente a duas diferentes escolhas da matriz M .

5.1 Método de Jacobi

Começemos por considerar a seguinte decomposição da matriz A = [aij ] (i, j = 1, . . . , n) doscoeficientes do sistema AX = B:

A = L+D + U, (17)

23

onde

L =

⎡⎢⎢⎢⎢⎢⎣0 0 · · · · · · 0a21 0 · · · · · · 0...

.... . .

......

an−1,1 · · · an−1,n−2 0an1 · · · · · · an,n−1 0

⎤⎥⎥⎥⎥⎥⎦

D =

⎡⎢⎢⎢⎢⎢⎣a11 0 · · · · · · 00 a22 · · · · · · 0...

.... . .

......

0 0 · · · an−1,n−1 00 0 · · · 0 ann

⎤⎥⎥⎥⎥⎥⎦e

U =

⎡⎢⎢⎢⎢⎢⎢⎣0 a12 · · · · · · a1n0 0 a23 · · · a2n...

.... . .

......

......

... 0 an−1,n0 0 · · · 0 0

⎤⎥⎥⎥⎥⎥⎥⎦são, respectivamente, as matrizes estritamente diagonal inferior, diagonal e estritamente dia-gonal superior em que podemos decompor a matriz A.

O método de Jacobi baseia-se na seguinte escolha das matrizes M e N da decomposiçãoA =M +N :

M = D e N = L+ U.

O processo iterativo (16) assume então a forma

DX(k+1) = B − (L+ U) X(k), k = 0, 1, . . . .

Admitindo que todos os aii 6= 0 (o que é sempre possível por meio de trocas de linhas e colunasdesde que a matriz A seja não singular), esta igualdade é equivalente a

X(k+1) = D−1B −D−1 (L+ U) X(k), k = 0, 1, . . . (18)

ou ainda a

x(k+1)i =

1

aii

⎛⎝bi −nX

j=1,j 6=iaijx

(k)j

⎞⎠ , i = 1, 2, . . . , n; k = 0, 1, . . . ,

considerando X(k) = (x(k)1 , x

(k)2 , . . . , x

(k)n ).

Exemplo 5.1 Vamos aplicar o método de Jacobi à resolução do sistema AX = B, com

A =

⎡⎣ 5 1 13 10 21 −1 3

⎤⎦ , X =

⎡⎣ x1x2x3

⎤⎦ e B =

⎡⎣ 012

⎤⎦ .Começamos por deduzir a fórmula iterativa do método de Jacobi e, tomando X(0) = (0, 0, 0),calcularemos três iteradas.

24

Tendo em conta (18), uma vez que

M = D =

⎡⎣ 5 0 00 10 00 0 3

⎤⎦ , N = L+ U =

⎡⎣ 0 1 13 0 21 −1 0

⎤⎦e

M−1 = D−1 =

⎡⎣ 15 0 00 1

10 00 0 1

3

⎤⎦ ,vem

X(k+1) = D−1B −D−1(L+ U)X(k)

=

⎡⎣ 01/102/3

⎤⎦−⎡⎣ 0 1/5 1/53/10 0 1/51/3 −1/3 0

⎤⎦ X(k), k = 0, 1, . . . .

Considerando agora X(0) = (0, 0, 0), obtém-se

X(1) =

⎡⎣ 01/102/3

⎤⎦−⎡⎣ 0 1/5 1/53/10 0 1/51/3 −1/3 0

⎤⎦ ⎡⎣ 000

⎤⎦ =⎡⎣ 0

11023

⎤⎦X(2) =

⎡⎣ 01/102/3

⎤⎦−⎡⎣ 0 1/5 1/53/10 0 1/51/3 −1/3 0

⎤⎦ ⎡⎣ 011023

⎤⎦ =⎡⎣ − 23

150− 130710

⎤⎦ e

X(3) =

⎡⎣ 01/102/3

⎤⎦−⎡⎣ 0 1/5 1/53/10 0 1/51/3 −1/3 0

⎤⎦⎡⎣ − 23150− 130710

⎤⎦ =⎡⎣ − 2

1535005375

⎤⎦isto é,

X(3) ≈⎡⎣ −0.13330.006

0.7067

⎤⎦ .De notar que a solução do sistema com quatro algarismos exactos é X = (−0.1429, 0, 0.7143) .

5.2 Método de Gauss-Seidel

Considerando de novo a igualdade (17), o método de Gauss-Seidel baseia-se na seguinte escolha:

M = L+D e N = U.

O processo iterativo (16) escreve-se então na forma

(L+D)X(k+1) = B − U X(k), k = 0, 1, . . . , (19)

ou, admitindo que M = L+D é invertível (condição equivalente a aii 6= 0, ∀i),

X(k+1) = (L+D)−1B − (L+D)−1 U X(k), k = 0, 1, . . . . (20)

25

Exemplo 5.2 Vamos deduzir a fórmula iterativa do método de Gauss-Seidel quando aplicadoà resolução do sistema de equações do exemplo 5.1. Calcularemos seguidamente três iteradastomando X(0) = (0, 0, 0).

Tendo em conta (20), uma vez que

M = L+D =

⎡⎣ 5 0 03 10 01 −1 3

⎤⎦ , N = U =

⎡⎣ 0 1 10 0 20 0 0

⎤⎦e

M−1 = (L+D)−1 =

⎡⎣ 15 0 0− 350

110 0

− 13150

130

13

⎤⎦vem

X(k+1) = (L+D)−1B − (L+D)−1 U X(k)

=

⎡⎣ 0110710

⎤⎦−⎡⎣ 0 1

515

0 − 350

750

0 − 13150 − 1

50

⎤⎦X(k+1), k = 0, 1, . . . .

Considerando agora X(0) = (0, 0, 0), obtém-se

X(1) =

⎡⎣ 0110710

⎤⎦−⎡⎣ 0 1

515

0 − 350

750

0 − 13150 − 1

50

⎤⎦ ⎡⎣ 000

⎤⎦ =⎡⎣ 0

110710

⎤⎦X(2) =

⎡⎣ 0110710

⎤⎦−⎡⎣ 0 1

515

0 − 350

750

0 − 13150 − 1

50

⎤⎦⎡⎣ 0110710

⎤⎦ =⎡⎣ − 4

251125271375

⎤⎦ e

X(3) =

⎡⎣ 0110710

⎤⎦−⎡⎣ 0 1

515

0 − 350

750

0 − 13150 − 1

50

⎤⎦⎡⎣ − 4251125271375

⎤⎦ =⎡⎣ − 274

1875− 1318 75013 40918 750

⎤⎦ ,ou seja,

X(3) '⎡⎣ −0.1461−0.0007

0.7152

⎤⎦ .Vê-se assim que X(3) = (−0.1461,−0.0007, 0.7152) está mais próxima da solução do sistemaX = (−0.1429, 0, 0.7143) do que a solução aproximada X(3) = (−0.1333, 0.006, 0.7067) obtidapelo método de Jacobi.

De (19) resulta também que

DX(k+1) = B − LX(k+1) − U X(k), k = 0, 1, . . . .

Supondo que aii 6= 0, deduz-se que a fórmula iterativa do método de Gauss-Seidel pode serescrita na forma

X(k+1) = D−1(B − LX(k+1) − U X(k)), k = 0, 1, . . . . (21)

26

Alternativamente, considerando X(k) = (x(k)1 , x

(k)2 , . . . , x

(k)n ), (21) exprime-se na forma

x(k+1)i =

1

aii

⎛⎝bi −i−1Xj=1

aijx(k+1)j −

nXj=i+1

aijx(k)j

⎞⎠ , i = 1, 2, . . . , n; k = 0, 1, . . . ,

a qual evidencia uma importante característica do método de Gauss-Seidel: cada componentex(k+1)i da aproximação X(k+1) é calculada recorrendo às componentes x(k+1)1 , x

(k+1)2 , . . . , x

(k+1)i−1

obtidas anteriormente na mesma iterada. Este facto não ocorre no método de Jacobi em que ocálculo da componentes de X(k+1) é feito unicamente com base nas componentes de X(k). Poresta razão o método de Jacobi é por vezes designado por método das substituições simultâneasenquanto o método de Gauss-Seidel é conhecido por método das substituições sucessivas.

O aproveitamento imediato da última componente calculada de X(k+1) no cálculo da com-ponente seguinte, propicia, como ilustra o exemplo anterior, uma convergência mais rápida dométodo de Gauss-Seidel quando comparado com o método de Jacobi.

5.3 Normas vectoriais e matriciais

Dissemos no exemplo anterior que a 3a iterada obtida pelo método de Gauss-Seidel está maispróxima da solução do sistema do que a 3a iterada obtida pelo método de Jacobi. A mediçãodesta proximidade e mais geralmente dos erros das iteradas de um qualquer método itera-tivo requer o uso de normas. Apresentaremos seguidamente algumas das normas vectoriais ematriciais mais utilizadas no actual contexto bem como as suas principais propriedades.

Geometricamente, a norma de um vector de R2 ou R3 pode ser interpretada como o com-primento desse vector. Em geral, uma norma vectorial definida em Rn é uma aplicação desteespaço em R que verifica determinado conjunto de propriedades. Mais precisamente:

Definição 5.1 Uma norma de Rn é uma aplicação que a cada vector x ∈ Rn faz correspondero número real ||x|| e que verifica os seguintes axiomas:

1. ||x|| > 0 se x 6= 0 e ||0|| = 0. (Positividade)

2. ||x+ y|| ≤ ||x||+ ||y|| , para x, y ∈ Rn. (Desigualdade triangular)

3. ||λx|| = |λ| ||x|| , para x ∈ Rn e λ ∈ R. (Homogeneidade)

O espaço vectorial Rn munido de uma norma diz-se um espaço vectorial normado. Umvector de Rn diz-se unitário ou normalizado quando tem norma igual a 1.

Em Rn podem definir-se diversas normas. Entre estas contam-se as normas lp (p ≥ 1)definidas, para x = (x1, . . . , xn) ∈ Rn, por

||x||p =Ã

nXi=1

|xi|p! 1

p

= (|x1|p + |x2|p + · · ·+ |xn|p)1p .

Para p = 1 obtém-se a norma da soma (ou norma l1) em Rn, dada por

||x||1 =nXi=1

|xi| = |x1|+ |x2|+ · · ·+ |xn| .

27

Para p = 2 obtém-se a norma euclidiana (ou norma l2) em Rn definida por

||x||2 =qx21 + x22 + · · ·+ x2n.

Em particular, se n = 1 vem x = x1 e a norma deste vector coincide com o módulo ou valorabsoluto de x1 pois

||x||2 =qx21 = |x1| .

Caso x = (x1, x2) ∈ R2 ou x = (x1, x2, x3) ∈ R3 tem-se

||x||2 =qx21 + x22 ou ||x||2 =

qx21 + x22 + x23.

Finalmente, define-se também em Rn a norma do máximo (ou norma l∞) por

||x||∞ = max {|x1| , |x2| , . . . , |xn|} .

Cada matriz quadrada de ordem n de elementos reais tem n2 elementos pelo que podeser vista como um vector de Rn2 . Deste modo, a norma de uma matriz quadrada poderá serdefinida através de uma norma vectorial definida em Rn2 . Contudo, o conjunto das matrizesde ordem n tem uma estrutura mas rica que a do espaço Rn2 , dado que aí está definido umaoperação de multiplicação; acontece que é muitas vezes necessário relacionar o “tamanho” doproduto matricial AB com os “tamanhos"das matrizes A e B. Justifica-se, assim, a seguintedefinição de norma matricial:

Definição 5.2 Uma norma no conjunto das matrizes quadradas de ordem n de elementosreais é uma aplicação que a cada matriz A de ordem n faz corresponder o número real ||A|| queverifica os seguintes axiomas:

1. ||A|| > 0 se A 6= O e ||O|| = 0 (O é a matriz nula de ordem n). (Positividade)

2. ||A+B|| ≤ ||A|| + ||B|| , para quaisquer matrizes A e B de ordem n. (Desigualdadetriangular)

3. ||λA|| = |λ| ||A|| , para toda a matriz A de ordem n e λ ∈ R. (Homogeneidade)

4. ||AB|| ≤ ||A|| ||B|| , para quaisquer matrizes A e B de ordem n. (Submultiplicatividade)

Observa-se que a definição de norma de uma matriz é análoga à de norma de um vectorsó que é obrigatória a verificação da condição 4., a qual garante que a norma matricial ésubmultiplicativa.

Vejamos alguns exemplos de normas matriciais. Uma das normas mais frequentementeusadas é a norma de Frobenius definida, para uma matriz A = [aij ] de ordem n por

||A||F =vuut nX

i=1

nXj=1

|aij |2.

Cada norma vectorial definida em Rn “induz"uma norma matricial no conjunto das matrizesreais de ordem n.

28

Teorema 5.1 Consideremos uma norma vectorial definida em Rn e seja A uma matriz realde ordem n. Então,

||A|| = max {||Ax|| : ||x|| = 1}é uma norma matricial, que se diz induzida pela norma vectorial de Rn. Além disto, verifica-sea desigualdade

||Ax|| ≤ ||A|| ||x|| , (22)

para qualquer x ∈ Rn.

A demonstração deste teorema pode ver-se em [6]. De notar que desigualdade (22) com-patibiliza a utilização da norma vectorial com a norma matricial induzida. Por outro lado, anorma induzida pode ser alternativamente definida por

||A|| = max½ ||Ax||||x|| : x 6= 0

¾.

Com efeito,

||A|| = maxx6=0

||Ax||||x|| = maxx6=0

¯̄̄̄¯̄̄̄1

||x||Ax¯̄̄̄¯̄̄̄= max

x6=0

¯̄̄̄¯̄̄̄A

x

||x||¯̄̄̄¯̄̄̄= sup||y||=1

||Ay|| ,

onde y = x/ ||x|| é um vector unitário. De referir ainda que da definição de norma induzidaresulta imediatamente que ||I|| = 1, onde I representa a matriz identidade.

As normas matriciais induzidas pelas normas vectoriais lp (p ≥ 1) definidas em Rn são aschamadas normas matriciais-p, as quais se costumam representar por

||A||p = maxn||Ax||p : ||x||p = 1

o.

Sendo A = [aij ] uma matriz de ordem n obtêm-se as seguintes concretizações da norma-p (verdemonstração em [6]):

Se p = 1⇒ ||A||1 = max1≤j≤n

nXi=1

|aij | (norma do máximo das somas por coluna) (23)

Se p =∞⇒ ||A||∞ = max1≤i≤n

nXj=1

|aij | (norma do máximo das somas por linha) (24)

Tem-se assim que ||A||1 é a maior das somas dos valores absolutos dos elementos de cada colunade A, enquanto ||A||∞ é a maior das somas dos valores absolutos dos elementos de cada linhade A.

Exemplo 5.3 Calcular as normas ||A||1 e ||A||∞ da matriz

A =

⎡⎣ a11 a12 a13a21 a22 a23a31 a32 a33

⎤⎦ .De (23) e (24) deduz-se que

||A||1 = max (|a11|+ |a21|+ |a31| , |a12|+ |a22|+ |a32| , |a13|+ |a23|+ |a33|)

29

e||A||∞ = max (|a11|+ |a12|+ |a13| , |a21|+ |a22|+ |a23| , |a31|+ |a32|+ |a33|) ,

respectivamente.Por outro lado, sendo

A =

⎡⎢⎢⎣−2 −1 2 −21 2 1 −22 −1 2 10 2 0 1

⎤⎥⎥⎦tem-se

||A||1 = max (2 + 1 + 2 + 0, 1 + 2 + 1 + 2, 2 + 1 + 2 + 0, 2 + 2 + 1 + 1)

= max (5, 6, 5, 6) = 6

e

||A||∞ = max (2 + 1 + 2 + 2, 1 + 2 + 1 + 2, 2 + 1 + 2 + 1, 0 + 2 + 0 + 1)

= max(7, 6, 6, 3) = 7.

5.4 Convergência dos métodos iterativos

Consideremos de novo a forma geral dos métodos iterativos dada em (16),

MX(k+1) = B −N X(k), k = 0, 1, . . . ,

ouX(k+1) =M−1B −M−1N X(k), k = 0, 1, . . . ,

supondo a invertibilidade de M. Assim, considerando G = −M−1N e C = M−1B, o processoiterativo anterior pode escrever-se na forma

X(k+1) = GX(k) + C, k = 0, 1, . . . . (25)

A matriz G diz-se a matriz de iteração do processo iterativo.Enunciamos seguidamente uma condição suficiente de convergência do processo iterativo

(25) bem como uma estimativa da norma do erro de cada iterada.

Teorema 5.2 Suponhamos que ||G|| < 1 para alguma norma matricial induzida por umanorma vectorial de Rn. Então, qualquer que seja a aproximação inicial X(0), o método ite-rativo (25) converge para a solução X do sistema AX = B.

Além disto, para k = 0, 1, . . ., é válida a seguinte estimativa da norma do erro da iteradaX(k+1) : ¯̄̄¯̄̄

X −X(k+1)¯̄̄¯̄̄≤ ||G||1− ||G||

¯̄̄¯̄̄X(k+1) −X(k)

¯̄̄¯̄̄.

Demonstração: Visto que, X(k+1) = GX(k) + C para k = 0, 1, . . . , tem-se

X(k+1) −X(k) = GX(k) + C −³GX(k−1) +C

´= G(X(k) −X(k−1)).

Por indução facilmente se conclui que, para k = 1, 2, . . . ,

X(k+1) −X(k) = Gk(X(1) −X(0))

30

pelo que, para qualquer inteiro m > 0,

X(k+m) −X(k) =³X(k+m) −X(k+m−1)

´+ · · ·+

³X(k+1) −X(k)

´=

³Gk+m−1 + · · ·+Gk

´³X(1) −X(0)

´.

Considerando uma norma vectorial de Rn e a respectiva norma matricial induzida, tem-seentão ¯̄̄¯̄̄

X(k+m) −X(k)¯̄̄¯̄̄≤

³||G||k+m−1 + · · ·+ ||G||k

´ ¯̄̄¯̄̄X(1) −X(0)

¯̄̄¯̄̄≤ ||G||k

1− ||G||¯̄̄¯̄̄X(1) −X(0)

¯̄̄¯̄̄(26)

atendendo a quePm−1

t=0 ||G||t ≤ 11−||G|| , pois ||G|| < 1. Esta última desigualdade e (26) garantem

que, para qualquer δ > 0, ¯̄̄¯̄̄X(k+m) −X(k)

¯̄̄¯̄̄< δ

para k suficientemente grande, pelo que a sucessão X(k), k ≥ 0, é de Cauchy e, portanto,convergente. Sendo X = limk→∞X(k), tem-se

GX(k) + C = G limk→∞

X(k) + C,

ou seja,X = GX +C. (27)

Fica pois provado que processo iterativo converge para a solução de AX = B dado que estesistema e (27) são equivalentes.

Finalmente, subtraindo a (27) a equação (25) obtém-se

X −X(k+1) = G³X −X(k)

´, k = 0, 1, . . . ,

donde sai, considerando uma norma vectorial e a respectiva norma matricial induzida,¯̄̄¯̄̄X −X(k+1)

¯̄̄¯̄̄≤ ||G||

¯̄̄¯̄̄X −X(k)

¯̄̄¯̄̄= ||G||

¯̄̄¯̄̄X −X(k+1) +X(k+1) −X(k)

¯̄̄¯̄̄≤ ||G||

¯̄̄¯̄̄X −X(k+1)

¯̄̄¯̄̄+ ||G||

¯̄̄¯̄̄X(k+1) −X(k)

¯̄̄¯̄̄,

ou seja, ¯̄̄¯̄̄X −X(k+1)

¯̄̄¯̄̄≤ ||G||1− ||G||

¯̄̄¯̄̄X(k+1) −X(k)

¯̄̄¯̄̄,

o que prova o pretendido.

5.4.1 Aplicação ao método de Jacobi

No método de Jacobi considera-se M = D, pelo que atendendo a (??) e a (25) resulta que amatriz de iteração e o vector C (designados agora respectivamente por GJ e CJ) são dados por

GJ = −M−1N = D−1(L+ U) e CJ =M−1B = D−1B.

31

Portanto, se ||GJ || < 1 para alguma norma matricial induzida por uma norma vectorial, ométodo é convergente.

Visto que

GJ =

⎡⎢⎢⎢⎢⎢⎢⎣

0 −a21a11

· · · · · · −an1a11−a21

a220 −a23

a22· · · −a2n

a22...

.... . .

......

......

... 0 − an−1,nan−1,n−1

− an1ann

− an2ann

· · · −an,n−1ann

0

⎤⎥⎥⎥⎥⎥⎥⎦ ,

conclui-se que a norma ||GJ ||∞ induzida pela norma do máximo vem dada por

||GJ ||∞ = max1≤i≤n

⎛⎝ nXj=1,j 6=i

¯̄̄̄aijaii

¯̄̄̄⎞⎠ .

Assim, ter-se-á ||GJ ||∞ < 1 desde que

nXj=1,j 6=i

¯̄̄̄aijaii

¯̄̄̄< 1, ∀i = 1, . . . , n,

o que equivale anX

j=1,j 6=i|aij | < |aii| , ∀i = 1, . . . , n,

isto é, os elementos da diagonal principal são, em valor absoluto, superiores à soma dos valoresabsolutos dos elementos da respectiva linha. Uma matriz A = [aij ] que satisfaça estas condiçõesdiz-se de diagonal estritamente dominante por linhas. Podemos pois enunciar:

Teorema 5.3 Se A for de diagonal estritamente dominante por linhas, o método de Jacobiconverge, independentemente da aproximação inicial X(0) escolhida.

Exemplo 5.4 Mostremos que o método de Jacobi aplicado ao sistema do exemplo 5.1 (pág.24) converge e calculemos uma estimativa da norma do erro da iterada X(3) aí obtida.

Verifiquemos que a matriz

A =

⎡⎣ 5 1 13 10 21 −1 3

⎤⎦é de diagonal estritamente dominante por linhas. Com efeito, tem-se

i = 1⇒3X

j=1,j 6=1|a1j | = |1|+ |1| = 2 < |5| = a11,

i = 2⇒3X

j=1,j 6=2|a2j | = |3|+ |2| = 5 < |10| = a22 e

i = 3⇒3X

j=1,j 6=3|a3j | = |1|+ |−1| = 2 < |3| = a33,

32

pelo que

||GJ ||∞ = max

½2

5,5

10,2

3

¾=2

3< 1.

Portanto, o método de Jacobi converge.Para calcular uma estimativa da norma do erro de X(3) vamos usar a fórmula dada no

teorema 5.2 com a norma vectorial do máximo. Assim, tem-se¯̄̄¯̄̄X −X(3)

¯̄̄¯̄̄∞≤ ||GJ ||∞

1− ||GJ ||∞¯̄̄¯̄̄X(3) −X(2)

¯̄̄¯̄̄∞

=2/3

1− 2/3 max½¯̄̄̄1

50

¯̄̄̄,

¯̄̄̄59

1500

¯̄̄̄,

¯̄̄̄1

150

¯̄̄̄¾≈ 0.0787.

5.4.2 Aplicação ao método de Gauss-Seidel

No método de Gauss-Seidel a matriz de iteração (que designaremos por GGS) é dada por

GGS = −M−1N = − (L+D)−1 U.

Não é imediato indicar a forma dos elementos da matriz de iteração com vista a calcular||GGS ||∞ . No entanto, prova-se um resultado análogo ao do teorema 5.3, podendo a demons-tração ser vista em [1, 8].

Teorema 5.4 Se A for de diagonal estritamente dominante por linhas, o método de Gauss-Seidel converge, independentemente da aproximação inicial X(0) escolhida.

Exemplo 5.5 Voltando ao sistema do exemplo 5.4, temos que o método de Gauss-Seidel éigualmente convergente pois, como aí vimos, a matriz A é de diagonal estitamente dominantepor linhas. Calculemos agora uma estimativa da norma do erro da iterada X(3) obtida noexemplo 5.2 (pág. 26) por aplicação do método de Gauss-Seidel ao mesmo sistema.

Com efeito, tem-se

GSD = −M−1N =

⎡⎣ 0 −15 −150 3

50 − 750

0 13150

150

⎤⎦pelo que

||GGS||∞ = max

½2

5,1

5,8

75

¾=2

5< 1

e ¯̄̄¯̄̄X −X(3)

¯̄̄¯̄̄∞≤ ||GGS ||∞

1− ||GGS||∞¯̄̄¯̄̄X(3) −X(2)

¯̄̄¯̄̄∞

. 2/5

1− 2/5 max {|0.0139| , |−0.0087| , |−0.0075|} ≈ 0.0092.

Verifica-se assim que a estimativa da norma do erro da iterada X(3) obtida pelo método deGauss-Seidel é cerca de oito vezes e meia inferior à estimativa homóloga calculada no método deJacobi. Isto ilustra a maior velocidade de convergência que em geral o método de Gauss-Seidelrevela quando comparado com o método de Jacobi.

33

Exercício 5.1 Considere o sistema de equações lineares AX = B com

A =

⎡⎣ 1 1/2 1/31/2 a 1/41/3 1/4 a

⎤⎦ X =

⎡⎣ x1x2x3

⎤⎦ e B =

⎡⎣ 101

⎤⎦ ,em que a é um parâmetro real.

1. (a) Enuncie, justificando, uma condição sobre os elementos de A que garanta a convergên-cia dos métodos iterativos de Jacobi e Gauss-Seidel;

(b) Para a = 1, determine duas iterações do método de Gauss-Seidel tomando X(0) =M−1B para aproximação inicial. Indique uma estimativa da norma do erro da últimaiterada obtida.

Resolução: (a) Para assegurar a convergência dos métodos iterativos indicados basta que amatriz A seja de diagonal estritamente dominante por linhas, isto é,

3Xj=1,j 6=i

|aij | < |aii| , i = 1, . . . , 3.

Então, dado que a primeira linha já satisfaz este critério pois,

3Xj=1,j 6=1

|a1j | =¯̄̄̄1

2

¯̄̄̄+

¯̄̄̄1

3

¯̄̄̄=5

6< 1 = |a11| ,

deverá ter-se adicionalmente

|a22| = |a| > 1

2+1

4=3

4e

|a33| = |a| > 1

3+1

4=7

12.

Assim, aquele critério fica satisfeito desde que

|a| > 3

4.

(b) Comecemos por determinar as matrizes necessárias à implementação do método deGauss-Seidel. Sucessivamente, tem-se

M = L+D =

⎡⎣ 1 0 01/2 1 01/3 1/4 1

⎤⎦ , N = U =

⎡⎣ 0 1/2 1/30 0 1/40 0 0

⎤⎦e

M−1 =

⎡⎣ 1 0 0−1/2 1 0−5/24 −1/4 1

⎤⎦ .

34

Assim,

X(k+1) = M−1B −M−1NX(k)

=

⎡⎣ 1 0 0−1/2 1 0−5/24 −1/4 1

⎤⎦⎡⎣ 101

⎤⎦−⎡⎣ 1 0 0−1/2 1 0−5/24 −1/4 1

⎤⎦⎡⎣ 0 1/2 1/30 0 1/40 0 0

⎤⎦X(k)

=

⎡⎣ 1−1/219/24

⎤⎦−⎡⎣ 0 1/2 1/30 −1/4 1/120 −5/48 −19/144

⎤⎦X(k).

Calculemos agora duas iterações supondo X(0) =M−1B =

⎡⎣ 1−1/219/24

⎤⎦ :

X(1) =

⎡⎣ 1−1/219/24

⎤⎦−⎡⎣ 0 1/2 1/30 −1/4 1/120 −5/48 −19/144

⎤⎦⎡⎣ 1−1/219/24

⎤⎦=

⎡⎣ 71/72−199/2882917/3456

⎤⎦e

X(2) =

⎡⎣ 1−1/219/24

⎤⎦−⎡⎣ 0 1/2 1/30 −1/4 1/120 −5/48 −19/144

⎤⎦⎡⎣ 71/72−199/2882917/3456

⎤⎦

=

⎡⎢⎢⎢⎣11 03310 368

−30 81741 472

413 587497 664

⎤⎥⎥⎥⎦ ,ou seja, X(2) ≈ (1.0641,−0.7431, 0.8311) .

Para calcular uma estimativa da norma do erro da iterada X(2), como

GGS = −M−1N =

⎡⎣ 0 −1/2 −1/30 1/4 −1/120 5/48 19/144

⎤⎦ ,a norma do máximo das somas por linhas de GGS é dada por

||GGS||∞ = max

½1

2+1

3,1

4+1

12,5

48+19

144

¾=5

6< 1.

Assim, utilizando a fórmula do teorema 5.2,¯̄̄¯̄̄X −X(2)

¯̄̄¯̄̄∞≤ ||GGS ||∞

1− ||GGS||∞¯̄̄¯̄̄X(2) −X(1)

¯̄̄¯̄̄∞

=5/6

1− 5/6 max {|0.0780| , |−0.0521| , |−0.0130|} ≈ 0.39.

35

Referências

[1] Atkinson, K. E., An Introduction to Numerical Analysis, John Wiley and Sons, 1978.

[2] Carpentier, M. P. J., Análise Numérica - Teoria, Associação dos Estudantes do IST, 1993.

[3] Conte, S. D. e De Boor, C., Elementary Numerical Analysis, McGraw-Hill, 1983.

[4] Dahlquist e Bjork, Numerical Methods, Prentice Hall, 1974.

[5] Dias Agudo, F. R., Introdução à Álgebra Linear e Geometria Analítica, 4a edição, EscolarEditora, 1996,

[6] Horn, R. A. e Johnson, C. R., Matrix Analysis, Cambridge University Press, 1985

[7] Kreyzig, E., Advanced Engineering Mathematics (Caps. 17 e 18), Wiley, 1999.

[8] Pina, H., Métodos Numéricos, McGraw-Hill, 1995.

[9] Valença, M. R., Métodos Numéricos, 3a edição, Livraria Minho, 1993.

36