Você está na página 1de 126

ANÁLISE NUMÉRICA

0. INTRODUÇÃO

A disciplina de Análise e Computação Numérica procura criar métodos para aproximar, de


uma maneira eficiente, as soluções de problemas matematicamente expressos. A eficiência do
método depende tanto da precisão requerida para o método, como da facilidade com que o
mesmo pode ser implementado.

Numa situação prática, o problema matemático deriva de um fenómeno físico, onde algumas
suposições já foram feitas para permitir o desenvolvimento da representação matemática.
Geralmente um relaxamento das suposições físicas conduz a um modelo matemático mais
apropriado, mas ao mesmo tempo mais difícil ou impossível de resolver explicitamente.

Como o problema matemático geralmente não resolve em caso algum o problema físico com
exactidão, frequentemente é mais apropriado encontrar uma solução aproximada para um
modelo matemático mais complicado de um problema físico, do que encontrar uma solução
exacta de um modelo simplificado.

1
1. Cálculo e números aproximados

Este capítulo contém uma breve revisão daqueles conceitos do cálculo elementar, isto é, com
uma variável, que servem de base de raciocínio nos capítulos seguintes, juntamente com uma
introdução da terminologia usada na representação de números com ajuda de máquinas,
análise de erros e discussão de convergência.

1.1. Revisão do cálculo elementar

Definição 1.1 (Limite de uma função):

Seja f uma função definida num conjunto X de números reais. f tem limite L em x0,
se, dado qualquer número real ε > 0, existe sempre um número real δ > 0, tal que,
sempre que x∈X e 0 < |x – x0| < δ então |f(x) – L| < ε. (Simbolicamente tem-se:

lim f(x) = L ⇔ ∀ε∈ℜ+, ∃δ∈ℜ+:|x – x0| < δ⇒|f(x) – L| < ε),


x→ x0

Definição 1.2 (Continuidade de uma função):

Seja f uma função definida num conjunto X de números reais. f é contínua em x0, se
lim f(x) = f(x0).
x→ x0

Fig. 1.1

2
Nota: A função f é contínua num conjunto X, se o for em todos os valores de X. C(X)
representa o conjunto de todas as funções que são contínuas em X. Quando X é um intervalo
da linha real, os parêntesis podem ser omitidos. Por exemplo, o conjunto de todas as funções
contínuas no intervalo fechado [a,b] é representado por C[a,b] em vez de C([a,b]).

Definição 1.3 (Limite de uma sequência – convergência):

Seja (xn), com n = 1,...,∞ uma sequência infinita de números reais (ou complexos).
Diz-se que a sequência converge para um número x (chamado limite) se, para cada
ε > 0, existe um número inteiro positivo N(ε), tal que n > N(ε) ⇒ |xn – x| < ε. A

anotação lim xn = x, ou xn → x quando n → ∞, significa que a sequência ( xn )n=1



n→∞

converge para x.

Teorema 1.4 (Relação entre o comportamento de uma função e o de uma sequência


funcional correspondente):

Se f é uma função definida num conjunto X de números reais e x0∈X, então as


seguintes proposições são equivalentes:

a) f é contínua em x0.

b) Se {xn }∞n=1 é qualquer sequência em X convergente para x0, então

lim f ( xn ) = f ( x0 ) .
n →∞

Definição 1.5 (Diferenciabilidade de uma função – Derivabilidade):

Se f é uma função definida num intervalo aberto contendo x0, então f é diferenciável

em x0 se f ' ( x ) = lim f ( x ) − f ( x0 ) existe.


x → x0 x − x0

Nota: O número f ′( x 0 ) chama-se derivada de f em x0 (fig. 1.2). A função que tem derivadas
em todos os números dum conjunto X diz-se diferenciável em X. A derivada de f em x0 é a
inclinação da recta tangente ao gráfico de f em (x0,f(x0)).

3
Fig. 1.2

Teorema 1.6 (Relação Diferenciabilidade – Continuidade duma função):

Se f é diferenciável em x0, então f é contínua em x0.

Nota: O conjunto de todas as funções que têm n derivadas contínuas em X é representado por
Cn(X) e o conjunto de funções que têm derivadas de todas as ordens em X é representado por
C∞(X). Funções polinomiais, racionais, trigonométricas, exponenciais e logarítmicas estão em
C∞(X), onde X é constituído por todos valores em que as funções estão definidas.

Teorema 1.7 ( de Rolle):

Suponhamos que f∈C[a,b] e f é diferenciável em (a,b). Se f(a) = f(b), então existe um


número c em (a,b), tal que f’(c) = 0.

4
Fig. 1.3

Teorema 1.8 (do valor médio):

Se f∈C[a,b] e f é diferenciável em (a,b), então existe um número c em (a,b), tal que


f (b) − f (a )
f ' (c ) = .
b−a

Fig. 1.4

5
Teorema 1.9 (do valor extremo):

Se f∈C[a,b], então existem c1,c2∈[a,b], tais que f(c1) ≤ f(x) ≤ f(c2), ∀x∈[a,b]. Se,
adicionalmente, f é diferenciável em (a,b), então c1 e c2 ocorrem, ou nos extremos do
intervalo [a,b], ou onde f’(x) = 0.

Fig 1.5

Definição 1.10 (generalizado de Rolle):

Suponhamos que f∈C[a,b] é n vezes diferenciável em (a,b). Se f(x) é igual a zero em


n+1 números distintos x0, x1, ..., xn de [a,b], então existe um número c em (a,b), tal

que f
(n)
(c ) = 0 .

Teorema 1.11 (do valor intermédio):

Se f∈C[a,b] e k é qualquer número entre f(a) e f(b), então existe um número c em


(a,b), tal que f(c) = k.

Teorema 1.12 (de Taylor):

Suponhamos que f∈Cn[a,b], que existe f(n+1) em (a,b) e x0∈[a,b]. ∀x∈[a,b] existe um
número ξ(x) entre x0 e x, tal que f(x) = Pn(x) + Rn(x), onde

6
n
Pn ( x) = ∑ k1! f ( k ) ( x 0 )( x − x 0 ) k = f ( x 0 ) + f ' ( x 0 )( x − x 0 ) + 1
2!
f ' ' ( x 0 )( x − x 0 ) 2 + ... + 1
n!
f ( n ) ( x0 )( x − x0 ) n
k =0

e Rn ( x ) = 1
( n +1)!
f ( n+1) (ξ ( x ))( x − x0 ) n+1 .

Fig. 1.6

Nota: Aqui Pn(x) é designado n-ésimo polinómio de Taylor ou polinómio de Taylor de


grau n de f em ordem a x0 e Rn(x) é designado resto, termo remanescente ou erro de
truncatura associado a Pn(x). A série infinita obtida através do limite de Pn(x) quando n→∞
designa-se série de Taylor de f em ordem a x0. No caso em que x0 = 0, o polinómio de Taylor
é mais frequente designado polinómio de Maclaurin e a série de Taylor, série de Maclaurin.
O termo erro de truncatura refere-se ao erro envolvido no uso de uma soma finita para
aproximar uma soma infinita.

Exercícios (1.1):

1. Mostre que as seguintes equações têm pelo menos uma solução nos intervalos dados:
Resolvido:

a) x − (ln x ) = 0,
x
[4;5]

(1) Continuidade: f ( x ) = x − (ln x ) é contínua em ℜ + porque Df = ℜ + , logo, f é contínua


x

em [4,5] ⊂ ℜ + .
(2) f (4) = 4 − (ln 4 ) ≈ 0.3066 > 0 ; f (5) = 5 − (ln 5) ≈ −5.79869 < 0 , logo, há-de existir
4 5

entre 4 e 5 um valor c, tal que f(c) = 0, uma vez que f ( x ) = x − (ln x ) é contínua em
x

[4,5].
Não resolvidos:

b) x cos x − 2 x 2 + 3 x − 1 = 0, [0.2;0.3] e [1.2;1.3]

7
c) ( x − 2 ) − ln x = 0,
2
[1;2] e [e;4]

d) 2 x cos(2 x ) − ( x − 2 ) = 0,
2
[2;3] e [3;4]
2. Ache intervalos contendo soluções das seguintes equações:
Resolvido:

a) 4 x 2 − e x = 0
(1) Continuidade: f ( x) = 4 x 2 − e x é contínua em ℜ porque Df = ℜ .
(2) Começando aleatoriamente pelos valores mais fáceis (mais próximos de zero) tem-se:
f (0) = 4 * 0 2 − e 0 = −1 < 0 ; f (1) = 4 * 12 − e1 ≈ 1.28 > 0 . Logo, há-de existir em [0,1]
um valor c, tal que f(c) = 0, uma vez que f ( x) = 4 x 2 − e x é contínua em [0,1].
Não resolvidos:

b) x − 3− x = 0
c) x 3 − 2 x 2 − 4 x + 3 = 0
d) x 3 + 4.001x 2 + 4.002 x + 1.101 = 0
3. Mostre que as primeiras derivadas das seguintes funções são iguais a zero, pelo menos
uma vez, nos intervalos dados:
Resolvido:
a) f ( x ) = ( x − 2 )sin x ln ( x + 2 ), [–1;3]
′ ′ ′
(1) f ′( x) = ( x − 2 ) sin x ln( x + 2) + ( x − 2)(sin x ) ln( x + 2) + ( x − 2) sin x(ln( x + 2) )
( x − 2) sin x
f ′( x) = sin x ln( x + 2) + ( x − 2) cos x ln( x + 2) +
x+2
( x − 2) sin x
(2) Continuidade: f ′( x) = sin x ln( x + 2) + ( x − 2) cos x ln( x + 2) + é contínua
x+2
em ]− 2 ; + ∞ [ porque Df = ]− 2 ; + ∞ [ . Logo, f ′(x ) é contínua em [− 1; 3] ⊂ ]− 2 ; + ∞ [ .
(−1 − 2) sin(−1)
(3) f ′(−1) = sin(−1) ln(−1 + 2) + (−1 − 2) cos(−1) ln(−1 + 2) + ≈ 2.52 > 0 ;
−1+ 2
(3 − 2) sin(3)
f ′(3) = sin(3) ln(3 + 2) + (3 − 2) cos(3) ln(3 + 2) + ≈ −1.33798 < 0 . Logo,
3+ 2
há-de existir em ]-1,3[ um valor c, tal que f’(c) = 0, uma vez que
( x − 2) sin x
f ′( x) = sin x ln( x + 2) + ( x − 2) cos x ln( x + 2) + é contínua em ]-1,3[.
x+2
Não resolvidos:

8
⎛π x ⎞
b) f ( x ) = 1 − e x + (e − 1)sin ⎜ ⎟ , [0;1]
⎝ 2 ⎠
c) f ( x ) = ( x − 1) tan x + x sin (π x ), [0;1]

d) f ( x ) = x sin (π x ) − ( x − 2 )ln ( x + 2 ), [0.5;1]

4. Ache max f ( x ) para as seguintes funções nos intervalos dados:


a≤ x≤b

Resolvido:

a) f ( x ) = 1 + e − cos ( x −1) , [1;2]

(1) Continuidade: f ( x ) = 1 + e − cos ( x −1) é contínua em ℜ porque Df = ℜ . Logo, f(x) é


contínua em [1;2] ⊂ ℜ .

(2) f ′( x ) = e −cos( x −1) [− cos( x − 1)] = e −cos( x −1) sin( x − 1) . f ′( x ) = 0 ⇒ sin( x − 1) = 0 ⇔
x = kπ + 1 , k ∈ Z . Dos zeros das derivadas, apenas x = 1 se encontra na extremidade
do intervalo [1;2], estando todos os restantes fora dele.
(3) f (1) = 1 + e − cos(1−1) = 1 + e −1 ≈ 1.367879 ;
f (2) = 1 + e − cos(2−1) ≈ 1 + e −0.54 ≈ 1.582572. Em
condições normais teríamos pelo menos três valores para comparar (as imagens
absolutas dos dois limites do intervalo e as imagens absolutas dos extremos da função
dentro do intervalo). Como f (1) é simultaneamente extremo local e imagem de 1, que
é limite inferior do intervalo [1;2], acabaremos comparando apenas os dois extremos
disponíveis, f (1) e f (2) , para concluir que, para f ( x) = 1 + e − cos ( x −1) ,
max f ( x) = f (2) ≈ 1.582572 .
1≤ x≤ 2

Não resolvidos:

a) f (x ) =
1
3
(
2 − e x + 2x , ) [0;1]

f ( x ) = 2 x cos(2 x ) − ( x − 2 ) ,
2
b) [2;4]

4x − 3
c) f (x ) = , [0.5;1]
x2 − 2x
5. Determine se o teorema do valor médio se aplica nas seguintes situações. Se sim, dê um
número c que satisfaz o teorema; e se não, mostre que tal número não existe.
Resolvidos:
a) f(x) = | x |, [a, b] = [-1,1]
(1) f(x) contínua em ℜ. Logo, f(x) contínua em [-1;1] ⊂ ℜ.

9
(2) f(x) diferenciável em ℜ– e em ℜ+. Logo, f(x) não diferenciável em ]-1;1[, uma
vez que f(x) não é diferenciável para x = 0.
(3) Dado que a diferenciabilidade é violada em ]-1;2[ como se mostra em (2), então o
teorema do valor médio não se aplica.
b) f(x) = | x |, [a, b] = [0, 1]
(1) f(x) contínua em ℜ. Logo, f(x) contínua em [0;1] ⊂ ℜ.
(2) f(x) diferenciável em ℜ– e em ℜ+. Logo, f(x) diferenciável em ]0;1[ ⊂ ℜ+.
(3) Então o teorema do valor médio aplica-se. Portanto, existe c ∈]0;1[, tal que
= 1 . Aplicando este resultado “1” em f(x) = | x | tem-se f ' ( x) = 1 ⇒
f (1) − f (0)
f ' (c ) =
1− 0
f ' (c ) = 1 , significando isso que c pode ser qualquer valor do intervalo ]0;1[.
Não resolvidos:
c) f(x) = x2/3, [a, b] = [-1, 8]
d) f(x) = x2/3, [a, b] = [0, 8]

6. Desenvolva o polinómio de Taylor P3(x) para f ( x ) = x + 1 , em ordem a x0 = 0, use o


polinómio para aproximar 0 .5 , 0.75 , 1.25 e 1.5 e determine os respectivos
erros.

10
Resolução:
1 1 3
(1) f ( x) = x + 1 ; f ′( x) = ; f ′′( x) = − ; f ′′′( x) = .
2 x +1 4 ( x + 1) 3 8 ( x + 1) 5
1 1 1 1 3 3
(2) f (0) = 0 + 1 = 1 ; f ′(0) = = ; f ′′(0) = − = − ; f ′′′(0) = = .
2 1 2 4 13 4 8 1 5 8
1 1
(3) P3 ( x ) = f ( x 0 ) + f ′( x 0 )( x − x 0 ) + f ′′( x 0 )( x − x 0 ) 2 + f ′′′( x 0 )( x − x 0 ) 3
2! 3!

1 1 x x2 x3
P3 ( x) = f (0) + f ′(0)( x − 0) + f ′′(0)( x − 0) 2 + f ′′′(0)( x − 0) 3 = 1 + − + .
2! 3! 2 8 16

x x2 x3
(4) f ( x) = x + 1 ; P3 ( x) = 1 + − +
2 8 16

x f(x) P3 ( x) Erro: E = f(x) – P3 ( x)

0.5 1.5 ≈ 1.224744871 1.313150478 -0.088405607

0.75 1.75 ≈ 1.322875656 1.379857643 -0.056981987

1.25 2.25 = 1.5 1.4901134 0.0098866

1.5 2.5 ≈ 1.58113883 1.539692267 0.041446562

7. Desenvolva o polinómio de Taylor P2(x) para f, em ordem a x0 = 0 sabendo que


f ( x) = e x cos x . Use este polinómio para aproximar f(π/6) e determine a margem de erro
nesta aproximação.
Resolução:
(1) f ( x) = e x cos x ; f ′( x) = e x (cos x − sin x) ; f ′′( x) = −2e x sin x ;
f ′′′( x) = −2e x (sin x + cos x) .

(2) f (0) = e 0 cos 0 = 1 ; f ′(0) = e 0 (cos 0 − sin 0) = 1 ; f ′′(0) = −2e 0 sin 0 = 0 ;


f ′′′(0) = −2e 0 (sin 0 + cos 0) = −2 .
1
(3) P2 ( x) = f ( x 0 ) + f ′( x 0 )( x − x 0 ) + f ′′( x0 )( x − x0 ) 2 = 1 + x .
2!

f ′′′(ξ ( x ) )( x − x0 ) 3 = − x 3 e ξ ( x ) (sin ξ ( x) + cos ξ ( x) ) .


1 1
(4) R2 ( x) =
3! 3
π π
(5) f ( π6 ) ≈ P2 ( π6 ) = 1 + ≈ 1.523598776 . Com 0 < ξ ( x) < tem-se:
6 6

11
1
R2− ( x) = − * 0.143547577* e 0.523598775(sin 0.523598775+ cos 0.523598775) ≈ −0.110339102
3
R2+ ( x) = − * 0.143547577 * e 0 (sin 0 + cos 0 ) ≈ −0.047849 .
1
3
− 0.110339102 < R2 ( x) < −0.047849192
8. Desenvolva o polinómio de Taylor de grau 4 para f desenvolvido em ordem a x0 = 1,
x2
sabendo que f(x) = e . Use este polinómio para aproximar f(1.1), e determine a margem
de erro desta aproximação.
9. Seja f(x) = e–x dê o polinómio de Taylor de 3º grau para f desenvolvido em ordem a x0 =
1 e aproxime e–99 usando esse polinómio.
10. Usando o teorema de Taylor, com n = 2 e x0 = 0, dê uma aproximação de sin 0.001 . Acha
que a exactidão para este problema pode ser a mesma do cos 0.001?

12
1.2. – Erros de Aproximação e Aritmética de Computação
1.2.1. Sistemas numéricos e números de máquina

1.2.1.1. Representação de números inteiros

Sistema decimal: N = (dndn–1⋅⋅⋅d1d0)10 = dn * 10n + dn–1 * 10n–1 + ⋅⋅⋅ + d1 * 101 + d0 * 100,


com 0 ≤ di ≤ 9 e i = 0, 1, ⋅⋅⋅, n.

Sistema de qualquer base: N = (dndn–1⋅⋅⋅d1d0)b = dn*bn + dn–1*bn–1 + ⋅⋅⋅ + d1*b1 + d0*b0,


com 0 ≤ di ≤ b – 1 e i = 0, 1, ⋅⋅⋅, n.

Exemplo: (12345) 6 = 5 × 6 0 + 4 × 61 + 3 × 6 2 + 2 × 6 3 + 1× 6 4 = 5 + 24 + 108 + 432 + 1296 = 1865

(Mais exemplos de operações elementares e conversões dos sistemas de uma base para
outra).

1.2.1.2. Representação de números reais em máquinas de calcular ou computadores

Tomemos o seguinte exemplo:

Aritmética real Aritmética de máquina

2+3=5 2+3=5

4 × 4 = 16 4 × 4 = 16

( 3) 2
=3 ( 3) 2
≈3

Isto acontece porque no mundo da computação cada número representável tem só um


número fixo e finito de dígitos. Isto significa que só alguns números racionais podem ser
representados com exactidão. Não sendo 3 um número racional, o que é dado é uma
aproximação, cujo quadrado não será precisamente 3, embora seja suficientemente próximo
de 3 para ser aceitável na maioria das situações.

Erros de aproximação são gerados quando uma máquina de calcular ou um computador são
usados para fazer cálculos com números reais (irracionais ou mesmo racionais), porque as
máquinas só usam uma representação de números com um número finito de dígitos.

13
Num computador típico é usado apenas um subconjunto relativamente pequeno do sistema
numérico para a representação de todos os números reais. Este subconjunto contém só
números racionais, positivos e negativos e guarda a parte fraccionária juntamente com uma
parte exponencial, naquilo a que se chama de notação científica: x = ±mbt, (com m ∈ R:
mantissa, b ≥ 2: base e t ∈ [l,u] ⊂ Z: expoente).

Exemplo 1: Com b = 10, m = 3 e t∈[-5,5], o menor número, em valor absoluto é xm = 0.100


× 10–5 = 10–6 e o maior é xM = 0.999 × 105 = 99900.

Em 1985, a IEEE (Institute for Electrical and Electronic Engineers) publicou um relatório
chamado Binary Floating Point Arithmetic Standard 754 – 1985, no qual foram
especificados formatos com precisão simples, dupla e múltipla e esses padrões são
geralmente usados por todos os fabricantes de microprocessadores que usam máquinas de
pontos flutuantes.

Por exemplo, os co-processadores numéricos dos PC da série IBM 3000 usavam, para
números com precisão simples, uma representação de 32-bit (1-7-24) dos números
x = ±mbt, com b = 16, − 64 ≤ t ≤ 63 e m = mantissa (resultante da adição de potências de
base 2 e expoentes negativos). Com base nesta representação, o número x tem o seguinte
formato: x = (–1)smbc, sendo s = regulador do sinal (0 = “+” ou 1 = “–“) e c = t =
c − 64
característica do número, isto é, x = (−1) 16
s
m . Usando a normalização imposta para

números em ponto flutuante, a representação de 64-bit (1-11-52) é usada para números em


precisão dupla, com a qual o número x passa a ter o seguinte formato:
x = (−1) s 2 c −1023 (1 + f ) com s ∈ {0,1}, c = característica (resultante da adição de potências

de base 2 e expoentes inteiros positivos) e f = m = fracção binária numa representação de


52-bit, isto é, mantissa (resultante da adição de potências de base 2 e expoentes negativos).
A título de exemplo, um número decimal de precisão simples, em ponto flutuante, usado
nas séries de máquinas IBM 3000, consiste num indicador de sinal de 1 dígito binário, um
expoente de 7 dígitos binários com a base 16 e uma mantissa de 24 dígitos binários. Uma
vez que 24 dígitos binários correspondem entre 6 e 7 dígitos decimais, podemos assumir
que este número tem pelo menos 6 casas decimais de precisão para o sistema numérico
decimal. O expoente 7 dá uma margem de oscilação de 0 a 127, mas por causa da

14
prevenção exponencial de casas decimais, a margem varia de –64 a +63, isto é, subtrai-se
64 da anterior margem de oscilação. Procedimento análogo é aplicado nos casos de
números decimais de precisão dupla.

Exemplos:

a) O número de máquina, em precisão simples:

0 1000010 101100110000010000000000
representa precisamente o número decimal

+ [(1/2)1 + (1/2)3 + (1/2)4 + (1/2)7 + (1/2)8 + (1/2)14 ] * 1666–64 = 179,015625.

Uma vez que, nesta classe de máquinas, o primeiro dígito binário representa o sinal, com 0 a
indicar (+) e 1 (–), os sete dígitos binários representam o expoente e os últimos vinte e quatro
dígitos binários representam a mantissa, este número de máquina pode ser usado para
aproximar qualquer número real que se encontra no intervalo
[179,01561737060546875;179,01563262939453125], dado que

0 1000010 101100110000001111111111 = 179,0156097412109375


é o número de máquina mais pequeno que antecede aquele e

0 1000010 101100110000010000000001 = 197,0156402587890625.


é o maior número de máquina que sucede aquele.

Com esta representação, o número positivo mais pequeno que pode ser expresso é

0 0000000 000100000000000000000000 = 16–65 ≈ 10–78


e o maior é

0 1111111 111111111111111111111111 ≈ 1663 ≈ 1076.

b) O número de máquina, em precisão dupla:

0 10000000011 1011100100010000010000000000000000000000000000000000
representa precisamente o número decimal

+ [1+ (1/2)1 + (1/2)3 + (1/2)4 + (1/2)5 + (1/2)8 + (1/2)12 ] * 21027–1023 = 27,56640625.

1.2.2. – Erros de Aproximação

15
A representação na forma de ponto flutuante só permite a representação exacta de alguns
números reais, o que implica que tenhamos de aceitar representar os números em geral com
uma certa margem de erro.

A questão pertinente que se coloca é: dado um número real x, qual é o número em FP(b,p,q),
onde b representa a base aplicada para o sistema, p o número de dígitos disponíveis e q o
expoente desejado para a base em uso e que exprimiremos por Fl(x), que o representa? Se x
tiver representação exacta em FP(b,p,q), então Fl(x) = x. Se não for possível a representação
exacta, existem basicamente duas técnicas para determinar Fl(x): a truncatura, em que se
desprezam simplesmente os dígitos do número real x que não cabem na mantissa de p dígitos,
e o arredondamento, em que o número real x é representado pelo número do sistema
FP(b,p,q) que lhe está mais próximo em termos de valor “absoluto”. Esta técnica consiste em
adicionar 5 * 10n–(p+1) à mantissa de x antes da truncatura, para se obter: Fl(x) = .δ1δ2... δp *
10n. Nesta técnica, se dp+1 ≥ 5, adiciona-se 1 a dp para se obter Fl(x), isto é, arredonda-se por
excesso. Se dp+1 < 5, aplica-se a truncatura de tudo o que vem depois das p casas, isto é,
arredonda-se por defeito.

Quando uma máquina de calcular ou computador digital são usados para fazer cálculos
numéricos deve ser tomado como inevitável este tipo de erro de aproximação, que aparece
pelo facto de a aritmética feita numa máquina envolver apenas números com um número finito
de algarismos (dígitos). Num computador típico, só um subconjunto relativamente pequeno do
sistema de números reais é usado para representar todos os números reais. Este subconjunto
contém só números racionais e guarda a parte fraccionária, chamada mantissa, junto com uma
parte exponencial chamada característica, como foi mostrado nos exemplos anteriores.

Números que aparecem nas máquinas de calcular com um valor inferior ao menor que a
máquina suporta provocam um esvaziamento “underflow” e são convertidos a zero, enquanto
que os que ostentam valores superiores ao maior que a máquina suporta provocam um
transbordo “overflow” e a consequente paragem do processamento da máquina de calcular ou
do computador, geralmente com mensagem “error”.

Os sistemas de representação de números descrito nestes exemplos não são padrão para todas
as máquinas de calcular, mas dão uma indicação das possíveis dificuldades que podem
ocorrer.

16
Qualquer número real positivo y pode ser normalizado para obter a forma ±.d1d2...dkdk+1dk+2...
* 10n, se assumirmos que o número em questão está dentro do limite permitido pela máquina.

Definição 1.13 (erro absoluto e erro relativo):

Se p* é uma aproximação de p, o erro absoluto é igual a |p–p*| e o erro relativo é


p − p*
igual a , desde que p ≠ 0.
p

Definição 1.14 (dígitos significativos):

Diz-se que o número p* aproxima p com t algarismos (ou dígitos) significativos se


p − p*
t é o maior número inteiro não negativo, para o qual < 5 × 10 −t .
p

A razão de se utilizar o erro relativo na definição é para se obter um conceito contínuo.

Para se reduzir os efeitos dos erros de arredondamento pode se usar cálculos aritméticos com
muitos dígitos, como quando se opta pelas precisões dupla ou múltipla disponíveis em muitos
computadores. A sua desvantagem é que ela leva muito mais tempo de execução.

Outra forma de estimar erros de arredondamento consiste em usar uma aritmética de


intervalos, isto é, reter o maior e o menor valores possíveis em cada passo, para que no fim se
possa ter um intervalo que contém o valor correcto. Infelizmente, a resposta certa pode estar
perto dos extremos do intervalo, ou pode-se ter que achar um intervalo muito pequeno para
uma implementação razoável. É também possível estudar-se erros de um ponto de vista
estatístico, que, entretanto, por envolver muita análise, está para além do âmbito deste texto.

Uma vez que são usadas técnicas iterativas envolvendo sequências, esta secção vai terminar
com uma breve abordagem do conceito de ordem de convergência...

Algoritmos e Convergência

Um algoritmo é um procedimento que descreve, sem ambiguidade, um sequência


finita de passos numa ordem específica, com o objectivo de resolver um problema ou
aproximar a solução do problema.

17
Pseudo códigos (especificações técnicas) são usados para descrever os algoritmos,
especificando a forma como devem ser alimentados e a forma desejável do resultado esperado.

Nem todos os procedimentos numéricos dão um resultado satisfatório para valores


arbitrariamente escolhidos para “input”. Como consequência, uma técnica de paragem
independente da técnica numérica deve ser incorporada em cada algoritmo, para que ciclos
intermináveis possam ocorrer uma única vez.

Dois símbolos de pontuação são usados nos algoritmos: o ponto (.) para indicar a terminação
de um passo e o ponto e vírgula (;) para separar tarefas dentro de um mesmo passo. A
indentação é usada para indicar que grupos de instruções devem ser executados como uma
única entidade.

Técnicas cíclicas nos algoritmos são controladas por contadores como “For i = 1, 2, ... , n,
xi = ai + i*h”, ou por condições como “While i < N execute steps 3 – 6.”. Para permitir
execuções condicionadas, usam-se as instruções padrão “If...Then ...” ou “If...Then...Else... ”.

Os passos do algoritmo seguem geralmente as regras das instruções em programação


estruturada, tendo sido organizados para reduzir ao mínimo as dificuldades de tradução das
especificações técnicas.

A escolha de um algoritmo deve obedecer o critério de que pequenas alterações nos dados
iniciais provoquem pequenas alterações nos dados finais. Algoritmos que satisfazem esta
condição dizem-se estáveis, sendo instáveis os que a violam.

Def. 1.15: Suponhamos que En representa a magnitude de um erro depois de n


operações subsequentes. Se En ≈ CnE0, onde C é uma constante independente de
n, o crescimento do erro diz-se linear. Se En ≈ CnE0 para algum C > 1, o crescimento
do erro diz-se exponencial.

18
Fig 1.7

O crescimento linear de um erro geralmente é inevitável e quando C e E0 são pequenos os


resultados são aceitáveis, o que significa que algoritmos que originam um crescimento linear
do erro são estáveis. O crescimento exponencial de um erro deve ser evitado, uma vez que Cn
torna-se grande mesmo para valores relativamente pequenos de n, criando imprecisões
inaceitáveis independentemente do tamanho de E0. Isto torna instáveis os algoritmos que
originam este tipo de crescimento de erro.

Def. 1.16: Suponhamos que (βn) seja uma sequência convergente para 0 e (αn) seja
uma sequência convergente para α. Se existir uma constante positiva K tal que
|αn – α| ≤ k|βn| para valores de n muito grandes, então diz-se que (αn) converge para
α com a taxa de convergência O(βn). Esta expressão lê-se “Oh maiúsculo de βn” e
esta situação indica-se: αn = α + O(βn).

Embora a definição 1.16 permita-nos comparar (αn) com qualquer sequência arbitrária (βn),
1
em quase todas as situações tem-se βn = , para algum p > 0. Em regra consideramos o
np
maior valor possível de p, para o qual αn = α + O(1/np ), para descrever a taxa com que αn
converge para α.

Def. 1.17: Suponhamos que limh→0G(h) = 0 e limh→0F(h) = L. Se uma constante


positiva K existe tal que |F(h) – L| ≤ K|G(h)| para valores suficientemente pequenos
de h, então F(h) = L + O(G(h)).

19
Geralmente a função de comparação G tem a forma G(h) = h p , para algum p > 0. Igualmente
consideramos o maior valor possível de p, para o qual F(h) = L + O(G(h)), para descrever a
taxa de convergência de F(h) para L.

Exercícios (1.2):
1. Determine o erro absoluto e o erro relativo nas seguintes aproximações de p por p*:
Ea p − p*
Resolvidos: Ea = p − p * ; Er = =
p p

a) p = 8!, p* = 39900 → Ea = 8!− 39900 = 40320 − 39900 = 420

8!− 39900 40320 − 39900 420


Er = = = ≈ 0.0104
8! 40320 40320
9
⎛9⎞
9
⎛9⎞
b) p = 9!, p* = 18π ⎜ ⎟ → Ea = 9 !− 18π ⎜ ⎟ ≈ 362880 − 359536.87 = 3343.13
⎝e⎠ ⎝e⎠

Ea 3343.13
Er = ≈ ≈ 0.0092 .
p 362880
Não resolvidos:

c) p = π, p* = 22/7 d) p = π, p* = 3.1416
e) p = e, p* = 2.718 f) p= 2 , p* = 1.414
g) p = e10, p* = 22000 h) p = 10π, p* = 1400

2. Suponhamos que p* deva aproximar p com um erro relativo não superior a 10–3. Ache o
maior intervalo em que p* deve situar-se para cada um dos seguintes valores de p.
Ea p − p*
Resolvido: (não superior: ≤) → Er = = ≤ 10 −3
p p

90 − p *
a) 90 → Er = ≤ 10 −3 ⇔ 90 − p * ≤ 0.09 ⇔ −0.09 ≤ p * − 90 ≤ 0.09
90
⇔ 89.91 ≤ p* ≤ 90.09 ⇔ p*∈ [89.91;90.09]
Não resolvidos:

b) 150 c) 900 d) 1500

3. Ache os intervalos para x usando a definição 1.14, sabendo que x é uma aproximação, com
4 algarismos significativos, de:

20
p−x
Resolvido: (4 algarismos significativos: < 5 × 10 −4 )
p
3
7−x
a) 3
7 → 3
< 5 × 10 − 4 ⇔ 3
7 − x < 3 7 × 5 × 10 − 4 ⇔
7
( )
⇔ −3 7 × 5 × 10 −4 < x − 3 7 < 3 7 × 5 × 10 −4 ⇔ 3 7 1 − 5 × 10 −4 < x < 3 7 1 + 5 × 10 −4 ( )
⇔ 1.911974717 < x < 1.913887648
Não resolvidos:

b) π c) e d) 2
4. Faça os seguintes cálculos (i) exactamente, (ii) usando a truncatura a 3 dígitos e (iii)
usando o arredondamento a 3 dígitos. Determine o erro relativo nos cálculos (ii) e (iii).
Resolvidos:
a) (164 + 0,913) – (143 + 21)
(i) xe = (164 + 0.913) − (143 + 21) = 164.913 − 164 = 0.913

x e − xt 3 0.913
(ii) xt 3 = (164 + 0.913) − (143 + 21) = 164 − 164 = 0 → Er = = =1
xe 0.913

xe − xa3 0.087
(iii) x a 3 = (164 + 0.913) − (143 + 21) = 165 − 164 = 1 → Er = = ≈ 0.09529
xe 0.913
b) 4/5 * 1/3
4 1 4
(i) xe = × = ≈ 0.266666666
5 3 15
4 1 xe − xt 3 0.000666666
(ii) xt 3 = × ≈ 0.800 × 0.333 ≈ 0.266 → Er = = ≈ 0.0025
5 3 xe 0.266666666

4 1 xe − xt 3 0.000666666
(iii) x a 3 = × ≈ 0.800 × 0.333 ≈ 0.266 → Er = = ≈ 0.0025
5 3 xe 0.266666666
Não resolvidos:

c) 14,1 + 0,981 d) 0,218 * 179 e) (164 – 143) + 0,913


f) 4/5 + 1/3 g) (1/3 – 3/11) + 3/20 h) (1/3 + 3/11) – 3/20

5. Faça os seguintes cálculos usando (i) arredondamento a três dígitos, (ii) arredondamento a
quatro dígitos, (iii) truncatura a três dígitos e (iv) truncatura a quatro dígitos. Determine
em cada caso o erro absoluto e o erro relativo, com o valor correcto determinado com uma
exactidão de pelo menos cinco dígitos.

21
a) 133 + 0.921 b) (13/14 – 6/7) / (2e – 5.4) c) (121 – 0.327) – 119

d) 133 – 0.499 e) (121 – 119) – 0.327 f) –10π + 6e – 3/62

g) (2/9) * (9/7) h) (π– 22/7) / (1/17)

6. As medidas aproximadas das dimensões de um paralelepípedo rectangular são 3m, 4m e


5m.
a) Quais são os maiores erros absoluto e relativo cometidos com esta aproximação, no
cálculo da área da superfície do sólido, sabendo que a aproximação foi feita por:
• Arredondamento.
• Truncatura.
b) Quais são os maiores erros absoluto e relativo cometidos com esta aproximação, no
cálculo do volume do sólido, sabendo que a aproximação foi feita por:
• Arredondamento.
• Truncatura.
Resolução:
a) Área da superfície do paralelepípedo: A = 2(xy + xz + yz)
(i) Arredondamento que gera o maior erro: x = 2.5; y = 3.5 , z = 4.5
Ae = 2(2.5 × 3.5 + 2.5 × 4.5 + 3.5 × 4.5) = 2(8.75 + 11.25 + 15.75) = 2 × 35.75 = 71.5

Aa = 2(3 × 4 + 3 × 5 + 4 × 5) = 2(12 + 15 + 20) = 2 × 47 = 94


Ea 22.5
Ea = 71.5 − 94 = 22.5 ; Er = = ≈ 0.314685
Ae 71.5
(ii) Truncatura que gera o maior erro: x = 3.9; y = 4.9 , z = 5.9
Ae = 2(3.9 × 4.9 + 3.9 × 5.9 + 4.9 × 5.9) = 2(19.11 + 23.01 + 28.91) = 2 × 71.03 = 142.06

Aa = 2(3 × 4 + 3 × 5 + 4 × 5) = 2(12 + 15 + 20) = 2 × 47 = 94


Ea 48.06
Ea = 142.06 − 94 = 48.06 ; Er = = ≈ 0.3383
Ae 142.06
b) Volume do paralelepípedo: V = xyz
(i) Arredondamento que gera o maior erro: x = 2.5; y = 3.5 , z = 4.5
Ae = 2.5 × 3.5 × 4.5 = 39.375

22
Ea 20.625
Aa = 3 × 4 × 5 = 60 → Ea = 39.375 − 60 = 20.625 ; Er = = ≈ 0.5238
Ae 39.375
(ii) Truncatura que gera o maior erro: x = 3.9; y = 4.9 , z = 5.9
Ae = 3.9 × 4.9 × 5.9 = 112.749
Ea 52.749
At = 3 × 4 × 5 = 60 → Ea = 112.749 − 60 = 52.749 ; Er = = ≈ 0.4678
Ae 112.749
7. Um terreno rectangular mede aproximadamente 5km e 3 km.
a) Quais são os maiores erros absoluto e relativo cometidos com esta aproximação, no
cálculo do perímetro do terreno, sabendo que a aproximação foi feita por:
• Arredondamento.
• Truncatura.
b) Quais são os maiores erros absoluto e relativo cometidos com esta aproximação, no
cálculo da área do terreno em hectares, sabendo que a aproximação foi feita por:
• Arredondamento.
• Truncatura.
8. Use o formato das máquinas IBM para achar o número no sistema decimal, equivalente
aos seguintes números de máquina em ponto flutuante e precisão simples, aos respectivos
antecessores, bem como aos respectivos sucessores:
a) 0-1000011-101010010011000000000000 b) 1-0111111-010001111000000000000000
c) 0-0111111-010001111000000000000000 d) 0-0111111-01000111100000000000000

1
9. O número e está definido por e = ∑ , onde n != n(n − 1)(n − 2) L 2 × 1 para n ≠ 0 e 0! = 1.
n=0 n!

Use a truncatura a quatro dígitos para calcular as seguintes aproximações de e e determine


os erros absoluto e relativo.
5 5 10 10
1 1 1 1
a) e ≈ ∑ b) e ≈ ∑ c) e ≈ ∑ d) e ≈ ∑
n =0 n ! j = 0 (5 − j ) ! n =0 n ! j = 0 (10 − j ) !

10. Ache a taxa de convergência das seguintes sequências, quando n → ∞:

1 1 ⎛ 1⎞
2
d) lim[ln(n + 1) − ln n ] = 0
a) lim sin =0 b) lim sin =0 c) lim⎜ sin ⎟ = 0 n →∞
n→∞ n n→∞ n2 n →∞
⎝ n⎠
11. Ache a taxa de convergência das seguintes funções, quando h → 0:

sin h 1 − cos h sin h − h cos h 1 − eh


a) lim =1 b) lim =0 c) lim =0 d) lim = −1
h→0 h h →0 h h →0 h h →0 h

23
2.–Resolução de equações com uma variável
Neste capítulo estudaremos um dos problemas mais básicos em análise numérica: encontrar
valores da variável x que satisfazem a equação f(x) = 0, para uma dada função f. A solução
para este problema chama-se zero da função y = f(x) ou raiz da equação f(x) = 0.

Assim, para se resolver uma equação f(x) = 0, começa-se por se criar intervalos,
aleatoriamente, e testar-se se os mesmos contêm ou não uma raiz, através do Teorema do valor
intermédio. Achado um intervalo, tomam-se os extremos desse intervalo como as primeiras
aproximações da raiz da equação e aplica-se uma das técnicas que se seguem, para refinar, isto
é, para melhorar a aproximação. Normalmente, cada técnica consiste num procedimento
cíclico. A cada ciclo do procedimento dá-se o nome de iteração, por usar como input o output
do ciclo anterior, e o procedimento é sempre descritível através de um algoritmo que pode
servir de guia para um pequeno programa de computador.

2.1. O algoritmo da bissecção

A primeira técnica, baseada no teorema do valor intermédio (T1.11), chama-se método de


bissecção, ou algoritmo da bissecção ou ainda método de pesquisa binária.

Seja f ∈ C[a,b], com f(a) e f(b) de sinais contrários. Nestas condições, o teorema diz existir p,
com a < p < b, tal que f(p) = 0.

Fig. 2.1

24
Como mostra a figura 2.1, o método consiste em subdividir repetidamente o intervalo [a,b] em
duas metades e em cada passo localizar a metade que contém p. Para começar faz-se a
substituição a1 = a e b1 = b e coloca-se p1 como ponto médio do intervalo [a,b], isto é: p1 =
½(a1 + b1). Se f(p1) = 0, então p = p1. Se não, então f(p1) tem o mesmo sinal que f(a1) ou f(b1).
Se f(p1) e f(a1) têm o mesmo sinal, então p∈] p1,b1[, e fazemos as substituições a2 = p1 e b2 =
b1. Se f(p1) e f(b1) têm o mesmo sinal, então p∈] a1, p1[, e fazemos as substituições a2 = a1 e
b2 = p1. Feito isto, repetimos o processo no intervalo [a2,b2] e depois no intervalo [a3,b3] e
assim por diante, aplicando-se sempre a “fórmula geral” pn = ½(an + bn) , da sequência (pn) =
(½(an + bn)), de convergência garantida. Esta técnica encontra-se resumida no Algoritmo 2.1 e
a sua aplicação pode ser feita e controlada com ajuda de um dos seguintes quadros:

Tabela 1: Método de bissecção

n an bn pn f(pn) (<> 0 ?)

...

Tabela 2: Método de bissecção

n an bn pn f(pn) f(pn) f(an) < 0? f(pn) f(bn) < 0?

...

25
2.1.1. – Critérios de Paragem

O processo descrito anteriormente deve terminar em algum momento, mesmo que não se tenha
achado a solução exacta. A forma mais comum consiste em estabelecer um critério de
paragem, tal como o que vem expresso no passo 4 do algoritmo 2.1.

Vamos mencionar outros procedimentos de paragem que podem ser usados, os primeiros três
dos quais são aplicáveis para qualquer técnica iterativa considerada neste capítulo.

Escolhe-se uma tolerância ε > 0 e cria-se uma sequência p1, ..., pN, de iterações, até uma das
seguintes condições ser satisfeita:

(2.1) |f(pN)| < ε; (2.2) |pN – pN –1| < ε;


p N − p N −1 bN − a N
(2.3) < ε, com pN ≠ 0; (2.4) < ε, com aN ≠ 0.
pN aN

Infelizmente podem surgir dificuldades na utilização indiscriminada destes critérios de


paragem. Por exemplo, há sequências (pn) com propriedade de que pn – pn –1 converge para
zero, enquanto que a própria sequência é divergente. É também possível f(pn) estar perto de
zero enquanto pn difere significativamente de p. Sem conhecimentos adicionais sobre f ou p, a
inequação (2.2) é o melhor critério de paragem aplicável, porque testa o erro relativo...

Teorema 2.1 (Cálculo do número de iterações):

Suponhamos que f∈C[a,b] e f(a)*f(b) < 0, isto é, f(a) e f(b) têm sinais contrários. O
método de bissecção gera uma sequência (pn) que converge para a raiz p (ou zero
de f), com |pn – p| ≤ (b – a) / 2n < ε, para n ≥ 1.

Este teorema permite-nos estimar o número de iterações necessárias para se alcançar a


exactidão desejada, sem ser necessário verificar em cada iteração se algum dos critérios de
paragem apresentados é satisfeito ou não.

26
Algoritmo 2.1 (de bissecção)

Para achar uma solução de f(x) = 0 dada a função f contínua num intervalo [a;b], onde f(a) e
f(b) têm sinais opostos:

INPUT Extremos do intervalo a e b; tolerância TOL (máximo número de iterações N0).


OUTPUT Solução aproximada p ou mensagem de falha.
Passo 1 Set i = 1;
FA = f(a).
Passo 2 While i ≤ N0 do Passos 3-6.
Passo3 Set p =a + (b – a)/2; (Calcula pi)
FP = f(p).
Passo 4 If FP = 0 or (b – a)/2 < TOL then
OUTPUT(p); (Procedimento completo com sucesso)
STOP.
Passo 5 Set i = i + 1.
Passo 6 If FA*FP > 0 (Calcula ai e bi)
then set a = p; FA = FP;
else set b = p.
Passo 7 OUTPUT (‘Method failed after N0 iterations, N0 =’, N0);
(O procedimento foi mal sucedido)
STOP.

Exemplo: Use o algoritmo da bissecção para achar a solução correcta até 10–6 para a equação
x3 + 4x2 – 10 = 0, em [1;2].

Resolução:
1
N.º mínimo de iterações: |pn – p| ≤ (2 – 1) / 2n < 10–6 ⇔ 2n > =1000000 ⇔
10 −6
6
n> ≈ 19.9 ⇒ n = 20
lg 2

27
i ai bi pi f(a0) f(b0) f(pi)
0 1 2 -5 14
1 1 2 1,5 2,375
2 1 1,5 1,25 -1,796875
3 1,25 1,5 1,375 0,162109375
4 1,25 1,375 1,3125 -0,848388672
5 1,3125 1,375 1,34375 -0,350982666
6 1,34375 1,375 1,359375 -0,096408844
7 1,359375 1,375 1,3671875 0,032355785
8 1,359375 1,3671875 1,36328125 -0,032149971
9 1,36328125 1,3671875 1,365234375 7,20248E-05
10 1,36328125 1,365234375 1,364257813 -0,016046691
11 1,364257813 1,365234375 1,364746094 -0,007989263
12 1,364746094 1,365234375 1,364990234 -0,003959102
13 1,364990234 1,365234375 1,365112305 -0,001943659
14 1,365112305 1,365234375 1,36517334 -0,000935847
15 1,36517334 1,365234375 1,365203857 -0,000431919
16 1,365203857 1,365234375 1,365219116 -0,000179949
17 1,365219116 1,365234375 1,365226746 -5,39625E-05
18 1,365226746 1,365234375 1,36523056 9,03099E-06
19 1,365226746 1,36523056 1,365228653 -2,24658E-05
20 1,365228653 1,36523056 1,365229607 -6,71741E-06
21 1,365229607 1,36523056 1,365230083 1,15679E-06

Exercícios (2.1):
1. Use o teorema 2.1 para achar um limite para o número de iterações necessárias para
alcançar uma aproximação à solução de uma equação, que se encontra no intervalo [1,2],
com uma exactidão até 10–4.
Resolução:
1 4
|pn – p| ≤ (2 – 1) / 2n < 10–4 ⇔ 2n > −4
=10000 ⇔ n > ≈ 13.3 ⇒ n = 14.
10 lg 2
2. Use o algoritmo da bissecção para achar soluções correctas até 10–5 para os problemas
seguintes:
Resolvido:
a) ex + 2–x + 2cos x – 6 = 0 para 1 ≤ x ≤ 2,
1
(i) N.º mínimo de iterações: |pn – p| ≤ (2 – 1) / 2n < 10–5 ⇔ 2n > =100000 ⇔
10 −5
5
n> ≈ 16.6 ⇒ n = 17
lg 2

28
(ii)
i ai bi pi f(a0) f(b0) f(pi)
0 1 2 -1,70111 0,806762
1 1 2 1,5 -1,02328314
2 1,5 2 1,75 -0,30458766
3 1,75 2 1,875 0,194379041
4 1,75 1,875 1,8125 -0,06827443
5 1,8125 1,875 1,84375 0,059637426
6 1,8125 1,84375 1,828125 -0,00515671
7 1,828125 1,84375 1,835938 0,027028879
8 1,828125 1,835938 1,832031 0,010883456
9 1,828125 1,832031 1,830078 0,002850245
10 1,828125 1,830078 1,829102 -0,00115651
11 1,829102 1,830078 1,82959 0,000846047
12 1,829102 1,82959 1,829346 -0,00015544
13 1,829346 1,82959 1,829468 0,000345254
14 1,829346 1,829468 1,829407 9,48956E-05
15 1,829346 1,829407 1,829376 -3,0274E-05
16 1,829376 1,829407 1,829391 3,231E-05
17 1,829376 1,829391 1,829384 1,01784E-06
Não resolvidos:

b) x – 2–x = 0 para 0 ≤ x ≤ 1 c) ex – x2 + 3x – 2 = 0 para 0 ≤ x ≤ 1


3
3. Ache uma aproximação de 25 , correcta até quatro algarismos significativos, usando o
algoritmo da bissecção. [Dica: Considere f(x) = x3 – 25].

4. Ache uma aproximação de 3 , correcta até quatro algarismos significativos, usando o


algoritmo da bissecção.

5. Use o teorema 2.1 para achar um limite para o número de iterações necessárias para
alcançar uma aproximação à solução de x3 + x – 4 = 0, que se encontra no intervalo [1,4],
com uma exactidão até 10–3. Ache uma aproximação à raiz com este grau de exactidão.

29
2.2. Iteração do ponto fixo

O método nesta secção e a maioria dos restantes métodos deste capítulo baseiam-se na
mudança da equação f(x) = 0 para g(x) = x, equação típica que fornece os pontos fixos de g(x).
Há muitas maneiras de realizar esta mudança. Um dos procedimentos consiste em definir g(x)
como sendo x – f(x). Neste caso, x satisfaz f( x ) = 0 se e só se g( x ) = x . Consequentemente,
se pode ser encontrado o método geral de resolução de um problema na forma g(x) = x, então
uma solução para f(x) = 0 pode ser obtida definindo-se a função g(x) = x – f(x).

Definição 2.2:

Se g: [a,b] → R e g(p) = p para algum p∈[a,b], então a função g diz-se ter o ponto
fixo p em [a,b].

Fig. 2.2

Exemplo 1: g(x) = x é uma função constituída só de pontos fixos, h(x) = x – senoπx tem
ponto fixo no intervalo [0;1] e i(x) = x2 tem dois pontos fixos: (0,0) e (1,1).

30
Teorema 2.3:

Se g∈C[a,b] e g(x)∈[a,b] ∀x∈[a,b], então g tem um ponto fixo em [a,b]. Além disso,
supondo que ∃g’(x)∈]a,b[ e |g’(x)| ≤ k < 1 ∀x∈[a,b], então g tem um único ponto fixo p
em [a,b].

Fig. 2.3

Exemplo 2: Seja g(x) = (x2 – 1) / 3, no intervalo [–1;1]. Pelo teorema do valor extremo, o
mínimo absoluto de g ocorre em x = 0 e g(0) = – 1/3. Analogamente, os máximos de g
ocorrem em x = ±1, com o valor g(±1) = 0. Por outro lado, |g’(x)| = |2x / 3| ≤ 2/3 ∀x∈(–1;1).
Assim, g satisfaz a hipótese do teorema 2.3 e tem um único ponto fixo em [–1;1], que se pode
achar resolvendo-se a equação p = g(p) = (p2 – 1) / 3, ou seja, p2 – 3p – 1 = 0.

31
Fig 2.4

Para se aproximar o ponto fixo de uma função g, escolhe-se uma aproximação inicial p0 e cria-
se uma sequência (pn): pn = g(pn–1) para cada n ≥ 1. Se a sequência converge para p e g é
contínua, então, pelo teorema 1.4, p = limn→∞ pn = limn→∞ g(pn–1) = g(limn→∞ pn– 1) = g(p),
obtendo-se assim a solução para x = g(x). Esta técnica chama-se técnica iterativa do ponto
fixo ou iteração funcional e é desenvolvida no Algoritmo 2.2.

Fig. 2.5

Exemplo 3: A equação x3 + 4x2 – 10 = 0 tem uma única raiz em [1;2], que é p = 1,36523 e
foi achada no exemplo 1 da secção 2.1. Há muitas maneiras de alterar a mesma equação para a
forma x = g(x), por simples manipulações algébricas:

32
(a) x = g1(x) = x – x3 – 4x2 + 10,
10
(b) x = g2(x) = − 4x ,
x
1
(c) x = g3(x) = 10 − x 3 ,
2
10
(d) x = g4(x) = e
4+ x
x 3 + 4 x 2 − 10
(e) x = g5(x) = x − .
3x 2 + 8 x
Comparando os resultados aos do algoritmo da bissecção achados nesta equação, pode
verificar-se que, enquanto a escolha da variante (a) conduziu a uma divergência e a escolha da
variante (b) conduziu a uma indefinição, resultados excelentes podem ser obtidos através da
escolha das variantes (c), (d) e (e), como o atestam os quadros na página seguintes. Em
especial, se a variante (c) tem uma taxa de convergência similar à do método de bissecção, já
as variantes (d) e (e) têm uma taxa de convergência três ou quatro vezes mais alta.

O exemplo anterior ilustra a necessidade de um procedimento que garanta a convergência da


função g para uma solução de x = g(x), bem como a escolha de g de maneira a tornar essa
convergência o mais rápida possível. O seguinte teorema é o primeiro passo para a
determinação de um procedimento do género.

Teorema 2.4:

Seja g∈C[a,b] e suponhamos que g(x)∈[a,b] ∀x∈[a,b]. Além disso, ∃g’∈[a,b], com
|g’(x)| ≤ k < 1 ∀x∈]a,b[. Se p0∈]a,b[, então a sequência definida por pn = g(pn–1), n ≥
1, convergirá para um único ponto fixo p∈[a,b].

Corolário 2.5:

Se g satisfaz a hipótese do teorema 2.4, um limite do erro envolvido na utilização de


pn para aproximar p é dado por

|pn – p| ≤ kn ∗ max{p0 – a, b – p0} ∀n≥1 e |pn – p| ≤ kn / (1 – k) ∗ |p0 – p1| ∀n≥1.

33
a)
i pi g1(pi)
0 0,5 9,375
1 9,375 -1156,162109
c)
2 -1156,162109 1540106415
3 1540106415 -3,65302E+27 i pi g3(pi)
4 -3,65302E+27 4,8748E+82 0 0,5 1,571225636
1 1,571225636 1,23703645
b) 2 1,23703645 1,423640897
3 1,423640897 1,333663279
i pi g2(pi) 4 1,333663279 1,380929894
0 0,5 4,242640687 5 1,380929894 1,357075141
1 4,242640687 indefinido 6 1,357075141 1,369373815
7 1,369373815 1,363100441
d) 8 1,363100441 1,366318139
9 1,366318139 1,364672377
i pi g4(pi)
0 10 1,364672377 1,365515355
0,5 1,490711985
1 11 1,365515355 1,365083891
1,490711985 1,349539711
2 12 1,365083891 1,365304812
1,349539711 1,36723067
3 13 1,365304812 1,365191717
1,36723067 1,364975542
4 14 1,365191717 1,365249619
1,364975542 1,365262391
5 15 1,365249619 1,365219976
1,365262391 1,365225894
6 16 1,365219976 1,365235152
1,365225894 1,365230538
7 17 1,365235152 1,365227383
1,365230538 1,365229947
8 18 1,365227383 1,36523136
1,365229947 1,365230022 19 1,36523136 1,365229324
9 1,365230022 1,365230012 20 1,365229324 1,365230366
21 1,365230366 1,365229833
e) 22 1,365229833 1,365230106
i pi g5(pi) 23 1,365230106 1,365229966
0 0,5 2,368421053 24 1,365229966 1,365230038
1 2,368421053 1,649408073 25 1,365230038 1,365230001
2 1,649408073 1,397991494
3 1,397991494 1,365743858
4 1,365743858 1,365230143
5 1,365230143 1,365230013
6 1,365230013 1,365230013

Como mostram estes quadros, aplicação deste método é feita em conformidade com o seguinte
modelo de quadro:

Tabela 3: Método do ponto fixo

34
n pn g(pn)
0
1
...

Algoritmo 2.2 (Iteração do ponto fixo)

Para achar uma solução de p = g(p) dada uma aproximação inicial p0:

INPUT Aproximação inicial p0; tolerância TOL (máximo número de iterações N0).
OUTPUT Solução aproximada p ou mensagem de falha.
Passo 1 Set i = 1.
Passo 2 While i ≤ N0 do Passos 3-6.
Passo3 Set p =g(p0). (Calcula pi)
Passo 4 If |p – p0| < TOL then
OUTPUT(p); (Procedimento completo com sucesso)
STOP.
Passo 5 Set i = i + 1.
Passo 6 Set p0 = p. (actualiza p0)
Passo 7 OUTPUT (‘Method failed after N0 iterations, N0 =’, N0);
(O procedimento foi mal sucedido)
STOP.

Exercícios (2.2):
1. Use o teorema 2.3 para mostrar que g(x) = 2–x tem um único ponto fixo no intervalo
[1/3,1]. Use a iteração do ponto fixo para achar uma aproximação do ponto fixo com
exactidão até 10–4. Use o corolário 2.5 ou 2.6 para estimar o número de iterações requerido
para alcançar a exactidão de 10–4 e compare esta estimativa teórica ao número real que se
pretende.
2. Use o teorema 2.3 para mostrar que g(x) = π + 0,5sen x tem um único ponto fixo no
intervalo [0,2π]. Use a iteração do ponto fixo para achar uma aproximação do ponto fixo
com exactidão até 10–2. Use o corolário 2.5 ou 2.6 para estimar o número de iterações
requerido para alcançar a exactidão de 10–2 e compare esta estimativa teórica ao número
real que se pretende.
3. Resolva x3 – x – 1 = 0 para a raiz do intervalo [1,2], usando iteração do ponto fixo.
Obtenha uma aproximação da raiz com exactidão até 10–5.

35
4. Use um procedimento de iteração de ponto fixo para achar uma aproximação de 3 que
esteja exacta até quatro algarismos significativos. Compare o seu resultado e o número de
iterações requerido com a resposta obtida no exercício 4 da secção 2.1.

5. Use um procedimento de iteração de ponto fixo para achar uma aproximação de 3 25 que
esteja exacta até quatro algarismos significativos. Compare o seu resultado e o número de
iterações requerido com a resposta obtida no exercício 3 da secção 2.1.
6. Para cada uma das seguintes equações, determine um intervalo [a,b] em que a iteração do
ponto fixo converge. Estime o número de iterações necessárias para obter aproximações
exactas até 10–5 e efectue os cálculos:
a) x = (2 – ex + x2) / 3
b) x = 4–x
c) x = 5–x
d) x = 6–x
e) x = 1,75 + (4x – 7) / (x – 2)
7. Para cada uma das seguintes equações determine a função g e um intervalo [a,b] em que a
iteração do ponto fixo converge para uma solução positiva da equação e ache as soluções
com uma exactidão de 10–5.
a) 3x2 – ex = 0
b) x – cos x = 0
8. Ache todos os zeros de f(x) = x2 + 10 cos x aplicando o método de iteração do ponto fixo
para uma função apropriada de iteração g. Ache os zeros com exactidão até quatro
algarismos significativos e compare o número das iterações requeridas para o número que
se pretende no exercício 8 da secção 2.1.
9. Suponha que g é continuamente diferenciável nalgum intervalo ]c,d[ que contém o ponto
fixo p de g. Mostre que se |g’(p)| < 1, então existe δ > 0 tal que a iteração do ponto fixo
converge para qualquer aproximação inicial p0, sempre que |p0 – p| ≤ δ.

36
2.3. Métodos de Newton
2.3.1. Método de Newton-Raphson

O método de Newton-Raphson (mais conhecido por de Newton) é um dos métodos


numéricos mais poderosos e melhor conhecidos para o cálculo de raízes de f(x) = 0. Há pelo
menos três maneiras comuns de se introduzir o método de Newton. A maneira mais comum
consiste em considerar a técnica graficamente como se segue e que se encontra resumida no
Algoritmo 2.3.

Fig. 2.6

Suponhamos que f’(x) existe num intervalo [a,b] e que f ′( x ) ≠ 0 nesse intervalo. Além disso,
suponhamos que existe um p ∈ [a,b], tal que f(p) = 0. Seja p0 ∈ [a,b] arbitrário. Seja p1 o
ponto em que a linha tangente de f em (p0,f(p0)) cruza o eixo dos x. Para cada n ≥ 1, seja pn o
ponto de intersecção dessa linha tangente de f no ponto (pn–1, f(pn–1)) com o eixo dos x....

Algoritmo 2.3 (Newton)

Para achar uma solução de p = g(p) dada uma aproximação inicial p0:

INPUT Aproximação inicial p0; tolerância TOL (máximo número de iterações N0).
OUTPUT Solução aproximada p ou mensagem de falha.
Passo 1 Set i = 1.
Passo 2 While i ≤ N0 do Passos 3-6.
Passo3 Set p =g(p0). (Calcula pi)

37
Passo 4 If |p – p0| < TOL then
OUTPUT(p); (Procedimento completo com sucesso)
STOP.
Passo 5 Set i = i + 1.
Passo 6 Set p0 = p. (actualiza p0)
Passo 7 OUTPUT (‘Method failed after N0 iterations, N0 =’, N0);
(O procedimento foi mal sucedido)
STOP.

Outra possibilidade consiste em derivar o método de Newton como uma técnica simples de
obter uma convergência mais rápida do que a obtida por muitos outros tipos de iterações
funcionais (veja secção 2.4). A terceira forma de se introduzir o método de Newton, que será
desenvolvido a seguir, é uma aproximação intuitiva baseada no polinómio de Taylor definido
no teorema 1.12:

Suponhamos que a função f é diferenciável duas vezes consecutivas no intervalo [a,b], isto é,
f ∈ C 2 [a, b] . Seja x ∈ [a,b] uma aproximação de p, tal que f ′( x ) ≠ 0 e | x – p| é “muito
pequeno”. Consideremos um polinómio de Taylor do primeiro grau para f(x), desenvolvido em
(x − x) 2
ordem a x , f ( x) = f ( x ) + ( x − x ) f ′( x ) + f ′′(ξ ( x)) , onde ξ(x) se encontra entre x e
2

( p − x) 2
x . Uma vez que f(p) = 0, com x = p, isso dá 0 = f ( x ) + ( p − x ) f ′( x ) + f ′′(ξ ( x)) .
2
Uma vez que foi assumido que | x – p| era pequeno, | x – p|2 é ainda mais pequeno, e se esta
quantidade é assumida como desprezível, então 0 ≈ f ( x ) + ( p − x ) f ′( x ) .

Resolvendo esta equação em ordem a p, temos: p ≈ x – f( x ) / f’( x ), que deverá ser uma
aproximação de p melhor do que é x . Isto fixa a plataforma para o método de Newton-
f ( p n −1 )
Raphson, que envolve a criação da sequência (pn) definida por p n = p n −1 − , n ≥ 1.
f ′( p n −1 )

As técnicas de paragem abordadas nas desigualdades (2.1), (2.2) e (2.3) são aplicáveis no
método de Nawton, isto é: escolher uma tolerância ε > 0 e construir p1, ... pN, até

(2.1) |pN – pN–1| < ε, (2.2) |pN – pN–1| / |pN| < ε ou (2.3) |f(pN)| < ε.

38
O método de Newton é uma técnica de iteração funcional pn = g(pn–1), n ≥ 1, para a qual
f ( p n −1 )
g ( p n −1 ) = p n −1 − , n ≥ 1.
f ′( p n −1 )

É claro que, a partir desta equação, o método de Newton não pode continuar se f’(pn–1) = 0,
para algum n. Veremos que o método é mais efectivo quando f ′ está limitado de uma
maneira que situa o ponto fixo p longe de zero. A aplicação deste método é feita em
conformidade com o seguinte quadro:

Tabela 4: Método de Newton (Newton-Raphson)

n pn f(pn) f ′( p n )
0
1
...
Exemplo 1: Para aproximar a solução da equação x = cos x , seja f ( x ) = cos x − x . Então,
f(π/2) = –π/2 < 0 < 1 = f(0), e, segundo o teorema do valor intermédio, existe um zero de f em
[0;π/2]. O gráfico pode mostrar que f(x) = 0 tem uma única solução em [0;π/2]. Uma vez que
f’(x) = –seno – 1, o método de Newton tem a seguinte forma: Pn = Pn–1 – (co-seno Pn–1 –
Pn–1) / (–seno Pn–1 – 1), para n ≥ 1, onde P0 ainda está por se escolher. Para alguns problemas
pode se escolher P0 arbitrariamente, enquanto que para outros é importante escolher uma boa
aproximação inicial. Para o problema em apreço, o gráfico sugere P0 = π/4 como uma
aproximação inicial, que nos fornece a seguinte tabela:

n Pn
0 0.7853981635
1 0.7395361337
2 0.7390851781
3 0.7390851332
4 0.7390851332
O seguinte teorema de convergência para o método de Newton ilustra a importância da
escolha de p0.

39
Teor 2.6: Seja f ∈ C2[a,b]. Se p∈[a,b] é tal que f(p) = 0 e f’(p) ≠ 0, então ∃δ > 0 tal que
o método de Newton gera uma sequência (pn) convergente para p, para qualquer
aproximação inicial p0∈[p–δ , p+δ].

2.3.2. Método de Secantes

O método de Newton é uma técnica extremamente poderosa, mas tem um grande


inconveniente: a necessidade de se conhecer o valor da derivada de g em cada aproximação.
Frequentemente f ′( x ) é mais difícil de determinar e precisa de mais operações aritméticas
para se calcular do que propriamente f(x). Para se contornar o problema de se calcular a
derivada no método de Newton, deduz-se uma pequena variação da mesma. Por definição,

f ( x) − f ( Pn−1 )
f ′( Pn−1 ) = lim . Sendo x = Pn–2, teremos
x→ Pn −1 x − Pn−1

f ( Pn−2 ) − f ( Pn−1 ) f ( Pn−1 ) − f ( Pn−2 )


f ′( Pn−1 ) ≈ = .
Pn−2 − Pn−1 Pn−1 − Pn−2

Aplicando esta aproximação de f ′( p n −1 ) na fórmula de Newton obtém-se

f ( Pn−1 )( Pn−1 − Pn−2 )


Pn = Pn−1 − .
f ( Pn−1 ) − f ( Pn−2 )
A técnica que usa esta fórmula chama-se método de secantes e é apresentada de forma
resumida no Algoritmo 2.4.

Algoritmo 2.4 (Secantes)

Para achar uma solução de p = g(p) dadas as aproximações iniciais p0 e p1:

INPUT Aproximações iniciais p0 e p1; tolerância TOL (máximo número de iterações N0).
OUTPUT Solução aproximada p ou mensagem de falha.
Passo 1 Set i = 2; q 0 = f ( p 0 ) ; q1 = f ( p1 ) .
Passo 2 While i ≤ N0 do Passos 3-6.
q1 ( p1 − p 0 )
Passo3 Set p = p1 − . (Calcula pi)
q1 − q 0

40
Passo 4 If |p – p0| < TOL then
OUTPUT(p); (Procedimento completo com sucesso)
STOP.
Passo 5 Set i = i + 1.
Passo 6 Set p0 = p1; q 0 = q1 ; p1 = p; q1 = f ( p) . (actualiza p0)
Passo 7 OUTPUT (‘Method failed after N0 iterations, N0 =’, N0);
(O procedimento foi mal sucedido)
STOP.

A aplicação deste método é feita em conformidade com o seguinte quadro:

Tabela 5: Método de Newton (Secantes)

n pn f(pn)
0
1
...
E no exemplo anterior a aplicação deste método daria

( Pn−1 − Pn−2 )(cos Pn−1 − Pn−1 )


Pn = Pn−1 − , para n ≥ 2, e produziria a seguinte
(cos Pn−1 − Pn−1 ) − (cos Pn−2 − Pn−2 )
tabela:
n Pn
0 0.5
1 0.7853981635
2 0.7363841388
3 0.7390851392
4 0.7390851493
5 0.7390851332

Pode notar-se através deste exemplo que, com a exactidão encontrada dom P5, a convergência
do método de secantes geralmente é mais lenta do que a do método de Newton, em que a
mesma exactidão foi encontrada com P3.

41
2.3.3. Método de Posição Falsa

Cada par sucessivo de aproximações no método de bissecção acerca-se da raiz p da equação,


isto é, para cada número inteiro positivo n, uma raiz situa-se entre an e bn. Isto implica que
para cada n o método de bissecção satisfaz a desigualdade |Pn – p| < ½|an – bn|, que fornece um
limite de erro simples de calcular para as aproximações. No exemplo anterior foi achada a
aproximação da raiz de x – co-seno x = 0 como sendo 0.7390851332. Note-se que pelo método
de Newton esta raiz não está cercada nem pelo par P0 e P1, nem pelo par P1 e P2. Pelo método
de secantes as aproximações iniciais P0 e P1 começaram cercando a raiz, mas o par de
aproximações P3 e P4 não conseguiu fazer o mesmo.

O método de posição falsa (também chamado método Regula Falsi) gera aproximações da
mesma maneira que o método se secantes, mas fornece um teste em cada iteração para garantir
que a raiz está cercada. Embora não seja um método propriamente recomendável, ilustra a
maneira como o cerco da raiz pode ser incorporado.

Escolhem-se duas aproximações iniciais P0 e P1, com f(P0)*f(P1) < 0, isto é f(P0) e f(P1) de
sinais contrários. A aproximação P2 é escolhida da mesma maneira que no método de
secantes, como sendo o ponto de intersecção do eixo dos x com a recta que une os pontos
(P0,f(P0)) e (P1,f(P1)). Para se decidir qual é a linha secante que se deve usar para determinar
P3, verificamos se f(P2) e f(P1) têm sinais contrários. Se sim, então P1 e P2 cercam a raiz e
escolhemos P3 como sendo o ponto de intersecção do eixo dos x com a secante que passa
pelos pontos (P1,f(P1)) e (P2,f(P2)). Se não, então fazemos o mesmo mas com o par P0 e P2.
Assim se procede para a determinação de todos os valores seguintes, até se satisfazer o critério
de paragem. Esta técnica encontra-se resumida no Algoritmo 2.5. A aplicação deste método é
feita em conformidade com o seguinte quadro:

Tabela 6: Método de Newton (posição Falsa)

n pn f(pn) f(pn) (<> 0 ?)


0
1
...

42
Fig. 2.7

Algoritmo 2.5 (Posição falsa)

Para achar uma solução de p = g(p) dada função f contínua no intervalo [ p 0 , p1 ] , onde f ( p 0 )

e f ( p1 ) têm sinais contrários:

INPUT Aproximações iniciais p0 e p1; tolerância TOL (máximo número de iterações N0).
OUTPUT Solução aproximada p ou mensagem de falha.
Passo 1 Set i = 2; q 0 = f ( p 0 ) ; q1 = f ( p1 ) .

Passo 2 While i ≤ N0 do Passos 3-7.


q1 ( p1 − p 0 )
Passo3 Set p = p1 − . (Calcula pi)
q1 − q 0
Passo 4 If |p – p0| < TOL then
OUTPUT(p); (Procedimento completo com sucesso)
STOP.
Passo 5 Set i = i + 1; q = f ( p ) .
Passo 6 If q ⋅ q1 < 0 then set p0 = p1; q 0 = q1 .

Passo 7 Set; p1 = p; q1 = q .
Passo 8 OUTPUT (‘Method failed after N0 iterations, N0 =’, N0);
(O procedimento foi mal sucedido)
STOP.

43
Exercícios (2.3):
1. Seja f ( x) = x 2 − 6 e p0 = 1. Use o método de Newton para achar p2.
2. Seja f ( x) = − x 3 − cos x e p 0 = −1 . Use o método de Newton para achar p2. Podia
p 0 = 0 ser usado?

3. Seja f ( x) = x 2 − 6 e p 0 = 3 e p1 = 2 . Ache p3, usando:


a) O método de secantes.
b) O método de posição falsa.
c) Qual dos dois aproxima melhor 6 ?

4. Seja f ( x) = − x 3 − cos x e p 0 = −1 e p1 = 0 . Ache p3, usando:


a) O método de secantes.
b) O método de posição falsa.
5. Use o método de Newton para achar soluções exactas até 10 −4 para os seguintes
problemas:
a) x 3 − 2x 2 − 5 = 0 , [1,4] b) x 3 + 3x 2 − 1 = 0 , [− 3,−2]
⎡ π⎤ ⎡ π⎤
c) x − cos x = 0 , ⎢0, 2 ⎥ d) x − 0.8 − 0.2 sin x = 0 , ⎢0, 2 ⎥
⎣ ⎦ ⎣ ⎦
6. Use o método de Newton para achar soluções exactas até 10 −5 para os seguintes
problemas:
a) x3 – x – 1 = 0, [1,2] b) e x + 2 − x + 2 cos x − 6 = 0 , [1,2]
c) ln( x − 1) + cos( x − 1) = 0 , [1.3,2] d) ( x − 2) 2 − ln x = 0 , [1,2] e [e,4]
e) e x − 3 x 2 = 0 , [0,1] e [3,5] f) 2 x cos 2 x − ( x − 2) 2 = 0 , [2,3] e [3,4]
g) sin x − e − x = 0 , [0,1] , [3,4] e [6,7]
7. Repita os exercícios 5 e 6 usando (i) o método de secantes e (ii) o método de posição falsa.
8. O polinómio de 4º grau f ( x) = 230 x 4 + 18 x 3 + 9 x 2 − 221x − 9 tem dois zeros reais, um em
[− 1,0] e outro em [0,1] . Tente aproximar estes zeros até 10 −6 , usando (a) o método de
posição falsa, (b) o método de secantes e (c) o método de Newton, tomando as
extremidades dos intervalos nos casos (a) e (b) e os pontos médios dos intervalos no caso
(c) como primeiras aproximações.
9. Use o método de Newton para aproximar as soluções das seguintes equações com
exactidão até 10–5.
a) x = (2 – ex + x2) / 3
b) 3x2 – ex = 0

44
c) ex + 2–x + 2 cos x – 6 = 0
d) x2 + 10 cos x = 0

10. Calcule uma aproximação de 3 com exactidão de quatro algarismos significativos,


usando o método de Newton com p0 = 2.

45
2.4. Análise de erros dos métodos iterativos e técnicas de aceleração de convergência

Esta secção é dedicada à investigação da ordem de convergência dos esquemas de iteração


funcional e funciona como um meio de obtenção de convergência rápida, redescobrindo o
método de Newton. Vamos considerar também outras formas de acelerar a convergência.

Definição 2.7: Suponhamos que (pn), com n = 0,1,...,∞, é uma sequência que converge para p
e que en = pn – p para qualquer n ≥ 0. Se existirem λ e α, com limn→∞|en+1|/|en|α = λ, então se
diz que (pn), com n = 0,1,...,∞, converge para p da ordem α, com um erro
assimptótico constante λ.

Uma técnica iterativa de solução de um problema da ordem x = g(x) diz-se ser de ordem α se,
sempre que o método dá convergência para uma sequência (pn), com n = 0,1,...,∞, onde pn =
g(pn–1) para n ≥ 1, então a sequência (pn), com n = 0,1,...,∞, converge para a solução de ordem
α.

Dois casos merecerão atenção especial.

1. Se α = 1, a sequência diz-se linearmente convergente. Por exemplo, o método do


algoritmo da bissecção dá uma convergência linear.

2. Se α = 2, a sequência diz-se quadraticamente convergente.

O exemplo seguinte mostra que uma iteração do ponto fixo é geralmente linear e também
compara a convergência linear com a quadrática.

Teorema 2.8: Suponhamos que queremos achar uma solução aproximada de g(x) = x, usando
o esquema de iterações do método de ponto fixo pn = g(pn–1), para qualquer n ≥ 0. Assumindo
que g aplica o intervalo [a,b] a si próprio e que um número positivo k existe, com |g’(x)| ≤ K <
1 para todos x ∈ [a,b], o teorema 2.4 implica que g tem um único ponto fixo p ∈ [a,b] e se p0
∈ [a,b], então a sequência do ponto fixo (pn) com n = 0,...,∞ converge para p. Esta
convergência será linear, se g’(p) ≠ 0.

Se n é qualquer número inteiro positivo, então

en+1 = pn+1 – p = g(pn) – g(p) = g’(ξn)(pn – p) = g’(ξn)en,

46
onde ξn está entre pn e p. Uma vez que (pn) com n = 0, ...,∞ converge para p, (ξn) com n =
0,...,∞ também converge para p. Assumindo que g’ é contínua em [a,b], teremos limn→∞ g’(ξn)
= g’(p).

Assim, limn→∞ en+1 / en = limn→∞ g’(ξn) = g’(p) e limn→∞ |en+1| / |en| = |g’(p)|.

Deste modo, a iteração do ponto fixo exibe convergência linear se g’(p) ≠ 0. Uma
convergência de maior grau só pode ocorrer se g’(p) = 0.

Teorema 2.9: Seja p uma solução de x = g(x). Suponhamos que g’(p) = 0 e g” é


contínua num intervalo aberto contendo p. Então existe um δ > 0, tal que para p0 ∈
[p–δ, p+δ], a iteração de ponto fixo torna-se num método de segunda ordem. Além
disso, se |g”(x)| / 2 ≤ M para p–δ ≤ x ≤ p+δ e M|e0| < 1, então a iteração do ponto fixo
convergirá e a convergência será quadrática.

Para se usar o teorema 2.9 na resolução duma equação da forma f(x) = 0, suponhamos que a
equação f(x) tem uma solução p para a qual f’(p) = 0. Consideremos um esquema de ponto fixo
pn = g(pn–1), n ≥ 1, com g da forma g(x) = x – φ(x)f(x), onde φ(x) é uma função arbitrária a ser
escolhida mais tarde.

Se φ(x) é limitada, então g(p) = p, e para que o procedimento iterativo derivado de g seja de
convergência quadrática, é suficiente que g’(p) = 0. Mas g’(x) = 1 – φ’(x)f(x) – f’(x)φ(x) e g’(p)
= 1 – f’(p)φ(p), em virtude de f(p) = 0. Por conseguinte, g’(p) = 0 sse φ(p) = 1/f’(p).

Em particular, uma convergência quadrática continua válida para o esquema sob condições
viáveis de f. Porém, uma vez que p e consequentemente f’(p) são geralmente desconhecidos,
uma aproximação razoável é φ(x) = 1/f’(x), para que φ(p) = 1/f’(p). Então o procedimento
torna-se pn = g(pn–1) = pn–1 – f(pn–1)/f’(pn–1) que pode ser reconhecido como método de
Newton.

Na discussão anterior foi necessário que na solução p, f’(p) ≠ 0.

Definição 2.10: Uma solução p da equação f(x) = 0, é uma raiz de multiplicidade m de f, se


para x ≠ p, f(x) = (x – p)mq(x), onde q(x) é uma única função tal que limx→pq(x) ≠ 0 e m é um
número inteiro positivo.

47
O seguinte teorema dá um meio de se identificar zeros simples de uma função, isto é, aqueles
que têm multiplicidade 1.

Teorema 2.11: f∈C1[a,b] tem um zero simples p em (a,b), se e só se f(p) = 0 e f’(p) ≠ 0.

Teorema 2.12 (generalização do teorema 2.11): f∈Cm[a,b] tem um zero p de multiplicidade m


em (a,b), se e só se

0 = f(p) = f’(p) = f’’(p) = … = f(m–1)(p) e f(m)(p) ≠ 0.

Um método de segunda ordem que não envolve f’ é uma técnica de aceleração chamada
Processo Δ2 de Aitken e pode ser usada para acelerar a convergência de qualquer sequência
que é linearmente convergente, independentemente da sua origem.

Suponhamos que (pn) com n = 0,...,∞ é uma sequência linearmente convergente com o limite
p, isto é, para en = pn – p, limn→∞ |en+1| / |en| = λ, com 0 < λ < 1.

Para investigar a construção de uma sequência (pn*) com n = 0,...,∞, que converge mais
rapidamente para p, suponhamos que o caso limitativo ocorre para todos os números inteiros
n, e que todos en têm o mesmo sinal. Neste caso, en+1 = λen para cada n ≥ 0. Assim, pn+2 = en+2
+ p = λen+1 + p, ou p n+2 = λ( pn+1– p) + p para cada n ≥ 0.

Substituindo nesta última equação (n+1) por n obtém-se pn+1 = λ( pn – p) + p e resolvendo


estas duas últimas equações em ordem a p enquanto se elimina λ obtém-se

p ≈ (pn+2 pn – pn+12)/(pn+2 – 2pn+1 + pn)

= (pn2 + pn pn+2 + 2pn pn+1 – 2pn pn+1 – pn2 – pn+12)/( pn+2 – 2pn+1 + pn)

= [(pn2 – 2pn pn+1 + pn pn+2) – (pn2 – 2pn pn+1 + pn+12)]/( pn+2– 2pn+1 + pn)

p = p̂ n = pn – (pn+1 – pn)2/( pn+2 – 2pn+1 + pn)

Em geral, a suposição inicial en+1 = λen não será verdadeira, porém, é suposto que a sequência
( p̂ n ) com n = 0,...,∞, definida através de p̂ n = pn – (pn+1 – pn)2/( pn+2 – 2pn+1 + pn), convirja

mais rapidamente para p do que a sequência original (pn) com n = 0,..,∞.

Esta técnica de construir uma sequência mais rapidamente convergente é chamada método Δ2
de Aitken por causa da seguinte definição:

48
Definição 2.13: Dada uma sequência (pn) com n = 0,..,∞, define-se a diferença
progressiva: Δpn = pn+1 – pn para n ≥ 0. Potências maiores estão definidas
recursivamente através de Δkpn = Δk–1(Δpn) para k ≥ 2. Por causa da definição, tem-
se:

Δ2pn = Δ(Δpn) = Δ( pn+1 – pn) = Δ pn+1 – Δpn

= (pn+2 – pn+1) – (pn+1 – pn) = pn+2 – 2 pn+1 + pn.

Assim, a fórmula de p̂ n pode ser expressa como p̂ n = pn – (Δpn)2/Δ2pn para todos n ≥ 0.

Até este ponto da nossa discussão do método Δ2 de Aitken afirmamos que a sequência ( p̂ n )

com n = 0,...,∞ converge mais rapidamente para p do que a sua original (pn) com n = 0,...∞,
mas não dissemos exactamente o que significava “convergência mais rápida”. O teorema
seguinte explica e justifica esse conceito.

Teorema 2.14: Seja (pn) uma sequência linearmente convergente para o limite p e
que para todos os valores de n suficientemente grandes (pn – p)(pn+1 – p) > 0. Então
a sequência ( p̂ n ) com n = 0,...,∞ converge para p mais rapidamente que (pn)

com n = 0,...,∞, no sentido em que limn→∞ ( p̂ n – p)/( pn – p) = 0.

O método Δ2 de Aitken acelera a convergência de qualquer sequência linearmente convergente


independentemente da origem da sequência. A aplicação do método Δ2 de Aitken à iteração do
ponto fixo dá origem ao procedimento conhecido por Método de Steffensen. (Algoritmo 2.6).

Note-se que Δ2pn pode ser igual a zero. Se tal acontece terminamos a sequência e
seleccionamos p2n-1 como a resposta aproximada, uma vez que de contrário entraria zero no
denominador da iteração seguinte.

49
Algoritmo 2.6 (Steffensen)

Para achar uma solução de p = g(p) dada uma aproximação inicial p0:

INPUT Aproximações iniciais p0 e p1; tolerância TOL (máximo número de iterações N0).
OUTPUT Solução aproximada p ou mensagem de falha.
Passo 1 Set i = 1.
Passo 2 While i ≤ N0 do Passos 3-6.
( p1 − p 0 ) 2
Passo3 Set p1 = g ( p 0 ) ; p 2 = g ( p1 ) ; p = p 0 − .
p 2 − 2 p1 + p 0
Passo 4 If |p – p0| < TOL then
OUTPUT(p); (Procedimento completo com sucesso)
STOP.
Passo 5 Set i = i + 1.
Passo 6 Set p0 = p. (actualiza p0)
Passo 7 OUTPUT (‘Method failed after N0 iterations, N0 =’, N0);
(O procedimento foi mal sucedido)
STOP.

Teorema 2.15: Suponhamos que x = g(x) tem a solução p com g’(p) ≠ 1. Se existe
um δ > 0 tal que g ∈ C3[ p– δ, p + δ], então o método de Steffensen dá uma
convergência quadrática ∀p0 ∈ [p – δ, p + δ].

2.5. Zeros de polinómios reais

Uma função da forma P(x) = anxn + an-1xn-1 + ... + a1x + a0, onde ai são constantes e an ≠ 0
chama-se polinómio de grau n. Todos os polinómios considerados nesta secção são supostos
ser reais, isto é, ai são números reais. A função zero, ou equação P(x) = 0 para todos os valores
de x, é considerada polinómio mas sem grau.

Teorema 2.16: (Teorema fundamental de Álgebra): Se P é um polinómio de grau


n ≥ 1, então P(x) = 0 tem pelo menos uma raiz (possivelmente complexa).

50
Corolário 2.17: Se P(x) = anxn + an-1xn-1 + ... + a1x + a0 é um polinómio de grau n ≥ 1,
então existem constantes únicas x1,x2,...,xk, (possivelmente complexas) e números
inteiros positivos m1, m2, ..., mk, tais que

k
∑ mi = n e P(x) = an(x – x1)m1(x – x2)m2...(x – xk)mk.
i =1

Se (x – xi)mi é um factor de P(x), xi é raiz de P(x) = 0 (ou zero de P) de multiplicidade mi. O


corolário afirma que os zeros de um polinómio são únicos e que cada zero xi é contado tantas
vezes quanto é a sua multiplicidade mi, então um polinómio de grau n tem exactamente n
zeros.

Corolário 2.18: Sejam P e Q polinómios de grau não superior a n. Se x1, x2, ..., xk (k
> n) são números distintos com P(xi) = Q(xi) para i = 1, 2, ..., k, então P(x) = Q(x) para
todos os valores de x.

Para se usar o procedimento de Newton-Raphson na localização de zeros aproximados de um


polinómio P é necessário avaliar P e os seus valores específicos derivados. A avaliação de um
polinómio de grau n na raiz x = x0, dá (2n–1) multiplicações e n adições. O teorema
seguinte apresenta um algoritmo conhecido por método de Horner ou, na sua forma
condensada, divisão sintética. O método de Horner requer apenas n multiplicações e n
adições para avaliar um polinómio e consequentemente é mais eficiente em termos de tempo
necessário e é suposto ser melhor em termos de redução do efeito dos erros de aproximação.

Teorema 2.19 (Método de Horner): Seja P(x) = anxn + an-1xn-1 + ... + a1x + a0 e bn =
an. Se bk = ak + bk+1x0 para k = n – 1, n – 2, ..., 1, 0, então b0 = P(x0). Além disso, se

Q(x) = bnxn–1 + bn–1xn–2 + ... + b2x + b1, então

P(x) = (x – x0)Q(x) + b0.

Uma vantagem adicional do método de Horner (ou divisão sintética) é que, uma vez que P(x)
= (x – x0)Q(x) + b0, onde Q(x) = bnxn–1 + bn–1xn–2 + ... + b2x + b1, derivando em ordem a x dá

P’(x) = Q(x) + (x – x0)Q’(x) e P’(x) = Q(x0).

Portanto, quando o método de Newton-Raphson é usado para achar um zero aproximado de


um polinómio P, tanto P como P’ podem ser avaliados da mesma maneira. (Algoritmo 2.7).

51
O polinómio designado por Q depende da aproximação usada e das mudanças de iteração para
iteração.

Se a N-ésima iteração xN no procedimento de Newton-Raphson é um zero aproximado de P,


então P(x) = (x – xN)Q(x) + b0 = (x – xN)Q(x) + P(xN) ≈ (x – xN)Q(x). Assim, x – xN é um
factor aproximado de P(x). Sendo x̂1 = xN um zero aproximado de P e Q1(x) o factor

aproximado, P(x) ≈ (x – x̂1 )Q1(x), podemos encontrar um segundo zero aproximado de P

aplicando o procedimento de Newton-Raphson para Q1(x). Se P é um polinómio de grau n


com n zeros reais, este procedimento aplicado repetidamente irá eventualmente produzir (n–2)
zeros aproximados de P e uma aproximação quadrática do factor Qn–2(x). Neste passo, Qn–2(x)
= 0 pode ser resolvido pela fórmula resolvente para achar os dois últimos zeros de P. Embora
este método possa ser usado para se achar todos os zeros aproximados de P, o mesmo depende
do uso repetitivo aproximações e por isso pode conduzir a resultados muito incorrectos, à
chamada deflação. Apesar de este método ser útil para achar os zeros Uma forma de eliminar
esta dificuldade consiste em usar equações reduzidas, isto é, os factores aproximados no
polinómio original P, para achar as aproximações x̂1 , x̂2 , ..., x̂k , dos zeros de P e depois

melhorar essas aproximações aplicando o método de Newton-Raphson no polinómio original


P.

Foi visto que o sucesso do método de Newton dependia muitas vezes da obtenção de uma boa
aproximação inicial. Uma vez que os polinómios são contínuos para a recta real, um método
básico de achar uma aproximação de um zero de um polinómio é dado pelo teorema do valor
intermédio.

A ideia básica é avaliar P nos pontos xi com i = 1, 2, ..., k e j = i + 1. Se P(xi)P(xj) < 0, então P
tem um zero entre xi e xj. O problema torna-se numa simples questão de escolha de xi e xj
suficientemente pequenos, de maneira a minimizar a possibilidade de perder uma mudança de
sinal.

Um método de achar intervalos contendo zeros reais de P(x) é encontrar uma aproximação
inicial de uma raiz real de

52
0 = P(x) = anxn + an-1xn-1 + ... + a1x + a0, anotando y ∈ ]0,1] precisamente quando 1/y ∈ [1,∞[
e y ∈ [–1,0[ quando 1/y ∈ ] –∞,–1]. Assim, P(1/y) = an(1/y)n + an–1(1/y)n–1 + ... + a1(1/y) + a0 =
1/yn(an + an–1y + ... + a1yn–1 + an).

Deste modo, se Pˆ ( y ) está definido por Pˆ ( y ) = a0yn + a1yn–1 + ... + an–1y + an, então ŷ ≠ 0 é

um zero de P̂ se e só se 1/ ŷ é um zero de P.

Para achar aproximações de todos os zeros de P, é suficiente conseguir os intervalos [–1, 0] e

[0, 1], avaliando tanto P como P̂ para determinar as mudanças de sinal. Segundo o teorema
do valor intermédio, se P(xi) e P(xj) têm sinais contrários, então P tem zero entre xi e xj. (Se

algum P(xi) = 0, então já foi localizado um zero exacto de P.) Se P̂ (xi) e P̂ (xj) têm sinais

contrários, então P̂ tem um zero entre xi e xj e P tem um zero entre 1/xi e 1/xj. Nós
consideramos os intervalos [–1,0[ e ]0,1] separadamente para evitar confusão no caso em que

P̂ (xi) e P̂ (xj) têm sinais contrários para xi no intervalo [–1, 0[ e xj no intervalo ]0, 1] ou vice-
versa.

Algoritmo 2.4 (Horner)

Para avaliar o polinómio P ( x ) = a n x n + a n −1 x n −1 + L + a1 x + a 0 = ( x − x 0 )Q ( x) + b0 e suas


derivadas em x 0 :

INPUT Grau n; Coeficientes a 0 , a1 , L , a n ; x 0 .

OUTPUT y = P( x 0 ); z = P ′( x 0 ).
Passo 1 Set y = a n ; z = a n .
Passo 2 For j = n − 1, n − 2, L , 1 .
Set y = x 0 y + a j ; z = x 0 z + y .

Passo 3 Set y = x 0 y + a 0 .
Passo 7 OUTPUT (y , z).
STOP.

53
Exercícios (2.4,5):

1. Use cada um dos seguintes métodos para achar uma solução, exacta até 10 −4 ,
para a equação 600 x 4 − 550 x 3 + 200 x 2 − 20 x − 1 = 0 , para 0.1 ≤ x ≤ 1.
a) Método de bissecção;
b) Método de Newton;
c) Método de secantes;
d) Método de falsa posição.
2. Ache aproximações de todos os zeros reais dos seguintes polinómios, com uma exactidão
de até 10–4, usando método de Newton.
a) f ( x) = x 3 − 2 x 2 − 5 .
b) f ( x) = x 3 + 3x 2 − 1 .
c) f ( x) = x 3 − x − 1 .
d) f ( x) = x 4 + 2 x 2 − x − 3
e) f ( x) = x 3 + 4.001 x 2 + 4.002 x + 1.101 .
f) f ( x) = x 5 − x 4 + 2 x 3 − 3x 2 + x − 4 .
3. Ache aproximações de todos os zeros reais de cada um dos seguintes polinómios, com
uma exactidão de até 10–5:
P(x) = x − 7 x + 14 x − 6.
3 2
a)
P(x) = x − 4 x − 3 x + 5.
4 2
b)
P(x) = x − 2 x − 4 x + 4 x + 4.
4 3 2
c)
d) P(x) = x4 + 5x3 – 9x2 – 85x – 136.
e) P(x) = x4 – 2x3 – 12x2 + 16x – 40.
f) P(x) = x4 + x3 + 3x2 + 2x +2.
g) P(x) = x5 + 11x4 – 21x3 – 10x2 – 21x – 5.
P(x) = 16 x + 88 x + 159 x + 76 x − 240 .
4 3 2
h)
4. Use o método de Newton para achar os zeros e os pontos críticos das seguintes funções,
com uma exactidão de até 10–3 e use esta informação para fazer o esboço gráfico das
funções.
a) P(x) = x 3 − 9 x 2 + 12.
b) P(x) = x 4 − 2 x 3 − 5 x 2 + 12 x − 5.

54
3. Métodos directos de resolução de sistemas de equações lineares

3.1. Resolução de um sistema de equações lineares

3.1.1. Revisão dos métodos gráfico e de eliminação de Gauss com substituições reversivas.

Exemplo 1: E1: x + y = 5

E2: 2 x − y = 1
Exemplo 2: E1: x1 + x2 + 3x4 = 4
E2: 2 x1 + x 2 − x3 + x4 = 1

E3: 3 x1 − x 2 − x3 + 2 x 4 = −3

E4: − x1 + 2 x 2 + 3 x3 − x4 = 4
Exemplo 3: E1: x1 + x2 + x3 = 4 E1: x1 + x2 + x3 = 4
E2: 2 x1 + 2 x2 + x3 = 6 E2: 2 x1 + 2 x2 + x3 = 4

E3: x1 + x2 + 2 x3 = 6 E3: x1 + x2 + 2 x3 = 6

Exercícios (3.1):
2. Resolva cada um dos seguintes sistemas de equações pelo método gráfico:

a) x1 + 2 x2 = 3 b) x 1 + 2 x2 = 0
x1 – x2 = 0 x1 – x2 = 0
c) x1 + 2 x2 = 3 d) x 1 + 2 x2 = 3
2 x1 + 4 x2 = 6 –2 x1 – 4 x2 = 6
e) x 1 + 2 x2 = 0 f) 2 x1 + x2 + x3 = 1
2 x1 + 4 x2 = 0 2 x1 + 4 x2 – x3 = –
g) 2 x1 + x2 = –1 h) 12 x1 + x2 = –1
4 x1 + 2 x2 = –2 x1 + x 2 = 2
x1 – 3 x2 = 5 x1 – 3 x2 = 5

2. Resolva os seguintes sistemas de equações pelo método de Gauss com substituição


reversiva e arredondamento a dois dígitos decimais:

a) 4 x1 − x2 + x3 = 8 b) 4 x1 − x2 + 2 x3 = 9

55
2 x1 + 5 x2 + 2 x3 = 3 2 x1 + 4 x2 − x3 = −5
x1 + 2 x2 + 4 x3 = 11 x1 + x 2 − 3 x3 = −9
c) x1 − x2 + 3 x3 = 2 d) 2 x1 − 1.5 x2 + 3 x3 = 1
3 x1 − 3 x2 + x3 = −1 − x1 + 2 x3 = 3
x1 + x2 =3 4 x1 − 4.5 x2 + 5 x3 = 1
e) 2 x1 =3 f) 3.333 x1 + 15920 x2 − 10.333 x3 = 15913
x1 + 1.5 x2 = 4 .5 2.222 x1 + 16.71x2 + 9.612 x3 = 28.544
1.5611x1 + 5.1791x2 + 1.6852 x3 = 8.4254
− 3 x 2 + 0 .5 x 3 = − 6 . 6
2 x1 − 2 x2 + x3 + x4 = 0.8
g) x1 + x2 + x4 = 2 h) x1 + x2 + x4 = 2
2 x1 + x2 − x3 + x4 = 1 2 x1 + x2 − x3 + x4 = 1
4 x1 − x2 − 2 x3 + 2 x4 = 0 − x1 + 2 x2 + 3 x3 − x4 = 4
3 x1 − x2 − x3 + 2 x4 = −3 3 x1 − x2 − x3 + 2 x4 = −3
1 1 1 1
i) x1 + x2 + x3 = 9 j) x1 − x2 + x3 =4
4 5 6 2
1 1 1 2 x1 − x2 − x3 + x4 = 5
x1 + x2 + x3 = 8
3 4 5 x1 + x2 =2
1
x1 + x2 + 2 x3 = 8 k) x1 −
1
x 2 + x3 + x 4 = 5
2 2

1 1 1 1 m) 2 x1 + x 2 − x3 + x4 − 3 x5 = 7
l) x1 + x 2 + x3 + x 4 =
2 3 4 6 x1 + 2 x3 − x 4 + x5 = 2
1 1 1 1 1
x1 + x2 + x3 + x4 = − 2 x 2 − x3 + x 4 − x 5 = − 5
2 3 4 5 7
1 1 1 1
x1 + x2 + x3 + x4 =
1 3 x1 + x 2 − 4 x3 + 5 x5 = 6
3 4 5 6 8
x1 − x2 − x3 − x 4 + x5 = 3
1 1 1 1 1
x1 + x2 + x3 + x4 =
4 5 6 7 9

56
3. Dado o sistema de equações lineares 2 x1 – 6α x2 = 3 e 3α x1 – x2 = 3/2
a) Ache o(s) valor(es) de α para os quais o sistema não tem soluções.
b) Ache o(s) valor(es) de α para os quais o sistema tem uma infinidade de soluções.
c) Assumindo que existe uma única solução para um certo α, determine essa solução.
4. Dado o sistema de equações lineares
x1 – x2 + αx3 = –2
x1 + 2x2 – αx3 = 3
αx1+ x2 + x3 = 2
a) Ache o(s) valor(es) de α para os quais o sistema não tem soluções.
b) Ache o(s) valor(es) de α para os quais o sistema tem uma infinidade de soluções.
c) Assumindo que existe uma única solução para um certo α, determine essa solução.

57
3.1.2. Outros métodos

Def. 3.1: (Revisão dos conceitos)

• Matriz do tipo n×m;

• Matriz linha n-dimensional;

• Matriz (Vector) coluna n-dimensional;

• Matriz quadrada de ordem n;

• Matriz diagonal de ordem n;

• Matriz escalar de ordem n;

• Matriz identidade de ordem n;

• Matriz triangular (superior ou inferior) de ordem n;

• Operações com matrizes;

• Operações de Gauss em (condensação de) matrizes → elemento pivot,


dependência e independência linear de filas paralelas de uma matriz,
característica de uma matriz, matriz singular e matriz regular;

• Factorização LU de matrizes quadradas

• Determinantes − Método de Laplace, Método de Cramer, Cofactor e matriz


adjunta, ...

• Matriz inversa − Inversão de matrizes quadradas → Método de Gauss-Jordan e


Método da matriz adjunta

Aplicação de matrizes na resolução de sistemas de equações lineares. Condições para um


sistemas de equações lineares ter uma única solução, ser impossível ou indeterminado.

58
Exercícios (3.2):

1. Indique quais das seguintes matrizes são não singulares e determine as respectivas
inversas:

⎡ 4 2 6⎤ ⎡1 2 0 ⎤ ⎡4 0 0 ⎤
a)
⎢ 3 0 7⎥ b)
⎢2 1 − 1⎥ c)
⎢0 0 0 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣− 2 − 1 − 3⎥⎦ ⎢⎣3 1 1 ⎥⎦ ⎢⎣0 0 − 3⎥⎦

⎡1 1 −11 ⎤ ⎡4 0 0 0⎤ ⎡2 0 1 2⎤
⎢1 2 − 4 − 2⎥ ⎢6 7 0 0⎥ ⎢1 1 0 2⎥
d) ⎢ ⎥ e) ⎢ ⎥ f) ⎢ ⎥
⎢2 1 1 5 ⎥ ⎢9 11 1 0⎥ ⎢2 − 1 3 1⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣− 1 0 − 2 − 4⎦ ⎣5 4 1 1⎦ ⎣3 − 1 4 3⎦

2. Considere os quatro sistemas de equações seguintes, cujas matrizes base são iguais:

2 x1 − 3 x2 + x3 = 2 2 x1 − 3 x2 + x3 = 6
x1 + x2 − x3 = −1 x1 + x2 − x3 = 4
− x1 + x2 − 3 x3 = 0 − x1 + x2 − 3 x3 = 5
2 x1 − 3x2 + x3 = 0 2 x1 − 3x2 + x3 = −1
x1 + x2 − x3 = 1 x1 + x2 − x3 = 0
− x1 + x2 − 3 x3 = −3 − x1 + x2 − 3 x3 = 0
a) Resolva os sistemas lineares aplicando o método de eliminação de Gauss com matriz
alargada como se segue

⎡ 2 − 3 1 | 2 6 0 − 1⎤
⎢1 1 −1 | −1 4 1 0⎥
⎢ ⎥
⎢⎣− 1 1 − 3 | 0 5 − 3 0 ⎥⎦

⎡ 2 −3 1 ⎤
b)

Resolva os sistemas lineares multiplicando A = 1 1 − 1⎥ pela sua inversa.
⎢ ⎥
⎢⎣− 1 1 − 3⎥⎦

c) Que método requer mais operações?

59
3. Repita o exercício 2 usando os sistemas lineares

x1 − x2 + 2 x3 − x4 = 6 x1 − x2 + 2 x3 − x4 = 1
x1 − x3 + x4 = 4 x1 − x3 + x4 = 1
2 x1 + x2 + 3 x3 − 4 x4 = −2 2 x1 + x2 + 3 x3 − 4 x4 = 2
− x2 + x3 − x4 = 5 − x2 + x3 − x4 = −1

4. Prove as seguintes afirmações ou dê um exemplo que contrarie a veracidade das mesmas:


a) O produto de duas matrizes simétricas é uma matriz simétrica.
b) A inversa de uma matriz não singular simétrica é uma matriz não singular simétrica.
c) Se A e B são duas matrizes quadradas do mesmo tamanho, então (AB)t = AtBt.

6. Resolva os sistemas de equações lineares do número 2 do grupo (6.1) pelo método de


Gauss-Jordan.
a) Mostre que o produto de duas matrizes triangulares inferiores, do mesmo tamanho
quadrado, é uma matriz triangular inferior.
b) Mostre que o produto de duas matrizes triangulares superiores, do mesmo tamanho
quadrado, é uma matriz triangular superior.
c) Mostre que a inversa de uma matriz n×n triangular inferior, é uma matriz triangular
inferior.

60
Exercícios (3.3):

1. Determine as matrizes dos cofactores das seguintes matrizes:

⎡1 2 0 ⎤ ⎡4 0 1⎤

a) 2 1 − 1
⎥ b)
⎢2 1 0⎥
⎢ ⎥ ⎢ ⎥
⎢⎣3 1 1 ⎥⎦ ⎢⎣2 2 3⎥⎦

⎡1 1 −1 1 ⎤ ⎡2 0 1 2⎤
⎢1 2 − 4 − 2⎥ ⎢1 1 0 2⎥
c) ⎢ ⎥ d) ⎢ ⎥
⎢2 1 1 5 ⎥ ⎢2 − 1 3 1⎥
⎢ ⎥ ⎢ ⎥
⎣− 1 0 − 2 − 4⎦ ⎣3 − 1 4 3⎦

2. Calcule os determinantes das seguintes matrizes:

⎡1 2 0 ⎤ ⎡4 0 1⎤

a) 2 1 − 1
⎥ b)
⎢2 1 0⎥
⎢ ⎥ ⎢ ⎥
⎢⎣3 1 1 ⎥⎦ ⎢⎣2 2 3⎥⎦

⎡1 1 −11 ⎤ ⎡2 0 1 2⎤
⎢1 2 − 4 − 2⎥ ⎢1 1 0 2⎥
c) ⎢ ⎥ d) ⎢ ⎥
⎢2 1 1 5 ⎥ ⎢2 − 1 3 1⎥
⎢ ⎥ ⎢ ⎥
⎣− 1 0 − 2 − 4⎦ ⎣3 − 1 4 3⎦

3. Calcule det A, det B, det AB e det BA, para

⎡4 6 1 − 1⎤ ⎡1 2 3 4⎤
⎢2 1 0 12 ⎥ ⎢0 2 −1 1 ⎥
A= ⎢ ⎥ B= ⎢ ⎥
⎢3 0 0 1⎥ ⎢0 0 3 2⎥
⎢ ⎥ ⎢ ⎥
⎣1 − 1 1 1⎦ ⎣0 0 0 − 1⎦

61
4. Ache todos os valores de α que tornam as seguintes matrizes singulares:

⎡1 − 1 α ⎤ ⎡1 2 − 1⎤
⎢ ⎥ ⎢
B = 1 α 1⎥
A = ⎢2 2 1 ⎥ ⎢ ⎥
⎢⎣0 α − 3 ⎥⎦ ⎢⎣2 α − 1⎥⎦
2

5. Ache todos os valores de α para os quais o sistema de equações lineares


⎧ 2 x1 − x2 + 3 x3 = 5

⎨ 4 x1 + 2 x2 + 2 x3 = 6 não tem solução:
⎪− 2 x + α x + 3 x = 4
⎩ 1 2 3

6. Ache todos os valores de α para os quais o sistema de equações lineares


⎧ 2 x1 − x2 + 3 x3 = 5

⎨ 4 x1 + 2 x2 + 2 x3 = 6 tem uma infinidade de soluções:
⎪− 2 x + α x + 3 x = 1
⎩ 1 2 3

⎧ 2 x1 + 3 x2 − x3 = 4

7. Resolva o sistema de equações lineares ⎨ x1 − 2 x2 + x3 = 6 pelo método de Cramer:
⎪ x − 12 x + 5 x = 10
⎩ 1 2 3

⎧ 2 x1 + 3 x2 − x3 = 4

8. Mostre que o sistema de equações lineares ⎨ x1 − 2 x2 + x3 = 6 não tem soluções e
⎪− x − 12 x + 5 x = 9
⎩ 1 2 3

calcule D1, D2 e D3.


⎧ 2 x1 + 3x2 − x3 = 4

9. Mostre que o sistema de equações lineares ⎨ x1 − 2 x2 + x3 = 6 tem uma infinidade
⎪− x − 12 x + 5 x = 10
⎩ 1 2 3

de soluções e calcule D1, D2 e D3.

62
Exercícios (3.4):

1. Resolva os seguintes sistemas de equações lineares:

⎡ 1 0 0⎤ ⎡2 3 − 1⎤ ⎡ x1 ⎤ ⎡ 2 ⎤
⎢ ⎥⎢
a) 2 1 0 0 − 2 1
⎥ ⎢ x ⎥ = ⎢− 1⎥
⎢ ⎥⎢ ⎥ ⎢ 2⎥ ⎢ ⎥
⎢⎣− 1 0 1⎥⎦ ⎢⎣0 0 3 ⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ 1 ⎥⎦

⎡2 0 0⎤ ⎡1 1 1 ⎤ ⎡ x 1 ⎤ ⎡− 1⎤

b) − 1 1 0⎥ ⎢0 1 2 ⎥ ⎢ x ⎥ = ⎢ 3 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ 2⎥ ⎢ ⎥
⎢⎣ 3 2 − 1⎥⎦ ⎢⎣0 0 1 ⎥⎦ ⎢⎣ x 3 ⎥⎦ ⎢⎣ 0 ⎥⎦

2. Factorize as seguintes matrizes em LU:

⎡2 0 0 0⎤ ⎡ 1.012 − 2.132 3.104 ⎤


⎢1 1.5 0 0⎥ b)
⎢− 2.132 4.096 − 7.013⎥
c) ⎢ ⎥ ⎢ ⎥
⎢0 − 3 0.5 0⎥ ⎢⎣ 3.104 − 7.013 0.014 ⎥⎦
⎢ ⎥
⎣2 − 2 1 1⎦

⎡2 − 1 1 ⎤ ⎡ 2.1756 4.0231 − 2.1732 5.1967 ⎤



a) 3 3 9⎥ ⎢− 4.0231 6.000 0 1.1973 ⎥
⎢ ⎥ d) ⎢ ⎥
⎢⎣3 3 − 1⎥⎦ ⎢ − 1.0000 − 5.2107 1.1111 0 ⎥
⎢ ⎥
⎣ 6.0235 7.0000 0 − 4.1561⎦

3. Resolva os seguintes sistemas de equações lineares usando a factorização LU:

⎡2 − 1 1 ⎤ ⎡ x1 ⎤ ⎡− 1⎤
a) ⎢3 3 9 ⎥ ⎢x ⎥ = ⎢ 0 ⎥
⎢ ⎥ ⎢ 2⎥ ⎢ ⎥
⎢⎣3 3 − 1⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ 4 ⎥⎦

63
⎡ 1.012 − 2.132 3.104 ⎤ ⎡ x1 ⎤ ⎡ 1.984 ⎤
b) ⎢− 2.132 4.096 − 7.013⎥ ⎢ x2 ⎥ = ⎢− 5.049⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢⎣ 3.104 − 7.013 0.014 ⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ − 3.895⎥⎦

⎡2 0 0 0⎤ ⎡ x1 ⎤ ⎡ 3 ⎤
⎢1 1.5 0 0⎥ ⎢ x2 ⎥ ⎢ 4.5 ⎥
c) ⎢ ⎥⎢ ⎥=⎢ ⎥
⎢0 − 3 0.5 0⎥ ⎢ x3 ⎥ ⎢− 6.6⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣2 − 2 1 1⎦ ⎣ x4 ⎦ ⎣ 0.8 ⎦

⎡ 2.1756 4.0231 − 2.1732 5.1967 ⎤ ⎡ x1 ⎤ ⎡ 17.102 ⎤


⎢− 4.0231 6.000 0 1.1973 ⎥ ⎢ x2 ⎥ ⎢− 6.1593⎥
d) ⎢ ⎥⎢ ⎥=⎢ ⎥
⎢ − 1.0000 − 5.2107 1.1111 0 ⎥ ⎢ x3 ⎥ ⎢ 3.0004 ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣ 6.0235 7.0000 0 − 4.1561⎦ ⎣ x4 ⎦ ⎣ 0.0000 ⎦

64
3.2.Tipos especiais de matrizes

Def. 3.2: (Matriz estrita e diagonalmente dominante) - Uma matriz quadrada A, de ordem
n
n, diz-se estrita e diagonalmente dominante se aii > ∑ aij , para i = 1, 2, ..., n.
j =1
j ≠i

⎡7 2 0 ⎤
⎢ ⎥
Exemplo: pode se verificar facilmente com ajuda da fórmula que A = 3 5 − 1 é uma
⎢ ⎥
⎢⎣0 5 − 6⎥⎦

⎡6 4 − 3⎤

matriz estrita e diagonalmente dominante e que B = 4 − 2 0 ⎥ não é.
⎢ ⎥
⎢⎣− 3 0 1 ⎥⎦

Teor. 3.3: Uma matriz estrita e diagonalmente dominante A é não singular. Além disso, as
eliminações de Gauss em qualquer sistema de equações lineares do tipo AX = b podem ser
executadas para se alcançar a sua solução (única), sem se recorrer à permuta de linhas.

Def. 3.4: (Matriz positivamente definida) - Uma matriz quadrada A está positivamente
definida se é simétrica e XtAX > 0 para qualquer vector n-dimensional X ≠ O. Exemplo: A =

⎡ 2 −1 0 ⎤
⎢− 1 2 − 1⎥ está positivamente definida.
⎢ ⎥
⎢⎣ 0 − 1 2 ⎥⎦

Teor. 3.5: Se A é uma matriz quadrada, de ordem n, positivamente definida, então:

a. A é não singular;

b. Aii > 0 para qualquer i = 1, 2, ..., n;

c. max akj ≤ max aii ;


1≤ k , j ≤ n 1≤i ≤ n

d. (a )ij
2
< aii ∗ a jj .

65
Def. 3.6: (Sub matriz principal comandante) - Uma sub matriz principal comandante de
uma matriz quadrada A de ordem n é qualquer matriz quadrada de ordem k, desde que 1 ≤ k <
n. Exemplo: (...)

Teor. 3.7: Uma matriz simétrica A está positivamente definida se e só se cada uma das suas
sub matrizes principais comandantes têm determinantes positivos.

Teor. 3.8: Uma matriz simétrica A está positivamente definida se e só se as eliminações de


Gauss no sistema de equações lineares AX = b podem se efectuar sem permuta de linhas e com
todos os elementos pivot positivos.

Cor. 3.9: Uma matriz A está positivamente definida se e só se A pode ser factorizado na forma
LDLt, onde L é a matriz triangular inferior de A, com 1 na diagonal e D é uma matriz diagonal
com elementos positivos.

Cor. 3.10: Uma matriz está positivamente definida se e só se A pode ser factorizado na forma
LLt, onde L é a matriz triangular inferior de A, sem zeros na diagonal.

Cor. 3.11: Seja A uma matriz simétrica de ordem n, na qual as eliminações de Gauss podem
se efectuar sem permuta de linhas. Então A pode ser factorizada na forma LDLt, onde L é a
matriz triangular inferior de A com 1 na diagonal e D a matriz diagonal com os elementos
a11(1) , ..., ann( n ) .

Def. 3.12: (Matriz de banda) - Uma matriz quadrada de ordem n diz-se matriz de banda se
existirem contadores inteiros p e q , tais que 1 < p,q < n, com a propriedade aij = 0 sempre que
i + p ≤ j ou j + q ≤ i. A largura da banda de uma matriz de banda está definida como w = p
+ q − 1.

Teor. 3.13: Suponhamos que A = (aij) é tridiagonal, com ai ,i −1ai ,i +1 ≠ 0 , para qualquer i = 2,

3, ..., n − 1. Se a11 > a12 , aii ≥ ai ,i −1 + ai ,i +1 , para qualquer i = 2, 3, ..., n − 1 e

ann > an ,n−1 , então A é não singular.

66
Exercícios (3.5):

1. Determine quais das seguintes matrizes são (i) simétricas, (ii) singulares, (iii) estrita e
diagonalmente dominantes e (iv) definidas positivamente:

⎡2 1⎤ ⎡− 2 1 ⎤
a) ⎢ ⎥ b) ⎢ ⎥
⎣1 3⎦ ⎣ 1 − 3⎦
⎡2 1 0⎤ ⎡2 1 0⎤

c) 0 3 0
⎥ ⎢
d) 0 3 2

⎢ ⎥ ⎢ ⎥
⎢⎣1 0 4⎥⎦ ⎢⎣1 2 4⎥⎦

⎡4 2 6⎤ ⎡ 2 − 1 0⎤

e) 3 0 7⎥ ⎢
f) − 1 4 2

⎢ ⎥ ⎢ ⎥
⎢⎣− 2 − 1 − 3⎥⎦ ⎢⎣ 0 2 2⎥⎦
⎡4 0 0 0⎤ ⎡ 2 3 1 2⎤
⎢6 7 0 0⎥ ⎢− 2 4 − 1 5⎥
g) ⎢ ⎥ h) ⎢ ⎥
⎢9 11 1 0⎥ ⎢ 3 7 1.5 1⎥
⎢ ⎥ ⎢ ⎥
⎣5 4 1 1⎦ ⎣ 6 − 9 3 7⎦
2. Decomponha em LDLt as seguintes matrizes:

⎡ 2 −1 0 ⎤ ⎡ 3 −3 6 ⎤ ⎡ 3 −6 9 ⎤

a) − 1 2 − 1
⎥ ⎢
b) − 3 2 − 7⎥ ⎢
c) − 6 14 − 20⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣ 0 − 1 2 ⎥⎦ ⎢⎣ 6 − 7 13 ⎥⎦ ⎢⎣ 9 − 20 29 ⎥⎦

⎡4 1 1 1⎤ ⎡ 4 1 − 1 0⎤ ⎡6 2 − 1⎤
1
⎢1 3 − 1 1⎥ ⎢ 1 3 − 1 0⎥ ⎢2 4 0⎥
1
d) ⎢ ⎥ e) ⎢ ⎥ f) ⎢ ⎥
⎢1 − 1 2 0⎥ ⎢− 1 − 1 5 2⎥ ⎢1 1 − 1⎥
4
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣1 1 0 2⎦ ⎣ 0 0 2 4⎦ ⎣− 1 0 −1 3 ⎦

⎡− 1 2 0 −⎤ ⎡ 2 −2 4 −4⎤
⎢ 2 −3 2 − 1⎥ ⎢− 2 3 −4 5 ⎥
g) ⎢ ⎥ h) ⎢ ⎥
⎢0 2 5 6⎥ ⎢ 4 − 4 10 − 10⎥
⎢ ⎥ ⎢ ⎥
⎣ 1 −1 6 12 ⎦ ⎣− 4 5 − 10 14 ⎦

67
3. Quais das matrizes simétricas do exercício anterior estão definidas positivamente?
4. Ache o(s) valor(es) de α, para os quais as seguintes matrizes estão definidas
positivamente:
⎡ α 1 − 1⎤ ⎡2 α − 1⎤

a) 1 2 1
⎥ ⎢
b) α 2 2⎥
⎢ ⎥ ⎢ ⎥
⎢⎣− 1 1 4 ⎥⎦ ⎢⎣− 1 1 4 ⎥⎦
5. Ache o(s)
valor(es) de α e β > 0, para os quais a seguinte matriz é estrita e diagonalmente
dominante:
⎡ 4 α 1⎤
⎢2 β 5 4 ⎥
⎢ ⎥
⎢⎣ β 2 α ⎥⎦
6. Ache o(s) valor(es) de α > 0 e β > 0, para os quais a seguinte matriz é estrita e
diagonalmente dominante:
⎡3 2 β ⎤
⎢α 5 β ⎥
⎢ ⎥
⎢⎣ 2 1 α ⎥⎦
7. Suponhamos que A e B sejam matrizes do tipo n×n, estrita e diagonalmente dominantes:
a) –A é estrita e diagonalmente dominante?
b) At é estrita e diagonalmente dominante?
c) A+B é estrita e diagonalmente dominante?
d) A2 é estrita e diagonalmente dominante?
e) A–B é estrita e diagonalmente dominante?
8. Suponhamos que A e B estejam matrizes do tipo n×n, definidas positivamente:
a) –A está definidas positivamente?
b) At está definidas positivamente?
c) A+B está definidas positivamente?
d) A2 está definidas positivamente?
e) A–B está definidas positivamente?

68
⎡ 1 0 − 1⎤
9. ⎢ ⎥
Seja A = 0 1 1 . Ache todos os valores de α, para os quais:
⎢ ⎥
⎢⎣− 1 1 α ⎥⎦
a) A é singular.
b) A é estrita e diagonalmente dominante.
c) A é simétrica.
d) A está definida positivamente.
⎡α 1 0⎤
10. Seja A = ⎢ β 2 1 ⎥ . Ache todos os valores de α e β, para os quais:
⎢ ⎥
⎢⎣ 0 1 2⎥⎦
a) A é singular.
b) A é estrita e diagonalmente dominante.
c) A é simétrica.
d) A está definida positivamente.
11. Suponhamos que A e B comutam, isto é, AB = BA. Deverão também At e Bt comutar?
12. Dê exemplo de uma matriz A que é não simétrica, para a qual XtAX > 0.
13. Seja A uma matriz tridiagonal dada por aii = 2, ai,i+1 = ai,i–1 = –1 para cada i = 2, ..., 9, a11
= a10,10 = 2 e a12 = a10,9 = –1. Seja b o vector coluna decadimensional dado por b1 = b10 =
1 e bi = 0 para cada i = 2, ..., 9. Resolva o sistema de equações lineares AX = b.

69
4.Técnicas iterativas em Álgebra matricial

4.1. Normas de vectores e de matrizes

Def. 4.1: Uma norma de vector em ℜ é uma função • , de ℜ em ℜ , com as seguintes


n n

propriedades:

(i) ||X|| ≥ 0 para qualquer X ∈ ℜ n ;

(ii) ||X|| = 0 se e só se X = O;

(iii) ||αX|| = |α|⋅||X|| para quaisquer α ∈ ℜ e X ∈ ℜ n ;

(iv) ||X + Y|| ≤ ||X|| + ||Y|| para quaisquer X,Y ∈ ℜ n .

Para o nosso curso vamos precisar de duas normas em ℜ específicas, apenas, embora uma
n

terceira norma em ℜ seja apresentada no exercício 2.


n

Uma vez que os vectores em ℜ são matrizes coluna ou vectores (coluna), é conveniente usar
n

a notação de matriz transposta, quando o vector é apresentado através das suas componentes.

⎡ x1 ⎤
⎢x ⎥
Por exemplo, X = ⎢ ⎥ = ( x1 x2 L xn ) = (x1, x2, …, xn)t.
2 t

⎢M⎥
⎢ ⎥
⎣ xn ⎦

Def. 4.2: As normas l2 e l∞ para o vector X = (x1, x2, …, xn)t estão definidas como se segue:
n
x2= ∑x
i =1
i
2
e x ∞
= max xi .
1≤i ≤ n

A norma l2 é chamada norma euclidiana do vector X, uma vez que ela representa a anotação
usual da distância de X da origem, no caso de X estar em ℜ ≡ ℜ , ℜ ou ℜ . Exemplo: X =
1 2 3

(− 1,1,−2) .t
x2= 6 e x ∞
= 2.

Teor. 4.3 (de Cauchy-Buniakowsky-Schwarz): Para cada X = (x1, x2, …, xn)t e Y = (y1, y2,

t n t ⎛ n n
2 ⎞⎛
n
2 ⎞
…, yn) em ℜ , X Y = ∑ xi yi ≤ ⎜ ∑ xi ⎟⎜ ∑ yi ⎟ = x ⋅ y .
i =1 ⎝ i =1 ⎠⎝ i =1 ⎠

70
Uma vez que a norma de um vector dá uma medida da distância entre um vector arbitrário e o
vector zero, a distância entre dois vectores é definida como a norma da diferença dos
vectores.

Def. 4.4: Se X = (x1, x2, …, xn)t e Y = (y1, y2, …, yn)t são vectores em ℜ , as distâncias l2 e l∞
n

n
entre X e Y são definidas como x − y 2
= ∑(x
i =1
i
− yi ) 2 e x − y ∞
= max xi − yi .
1≤ i ≤ n

Exemplo: O seguinte sistema de equações lineares

⎧ 3,3330 x1 + 15920 x2 − 10,333x3 = 15913



⎨2,2220 x1 + 16,710 x2 + 9,6120 x3 = 28,544 tem como solução ( x1 , x2 , x3 ) = (1,1,1) .
t t

⎪1,5611x + 5,17910 x + 1,6852 x = 8,4254


⎩ 1 2 3

Se se aplicarem as eliminações de Gauss com aproximações a cinco dígitos usando a


pivotização da maior coluna, a solução obtida é

X = (~ x2 ) = (1.2001, 0.999991, 0.92538) . Assim, as medidas de X − X são


~ ~
x1 , ~
x2 , ~
t t

~ ~
dadas por X − X = ... = 0.2001 e por X − X = = ... = 0.21356.
∞ 2

Def. 4.5: A sequência X [ (k )


] ∞
k =1 de vectores em ℜ diz-se convergente para X relativamente à
n

(k )
norma • , se, dado qualquer ε > 0, existe um número inteiro N(ε) tal que X − X <ε ,
para todos k ≥ N(ε).

Teor. 4.6: A sequência X [ (k )


] ∞
k =1 converge para X em ℜ relativamente à norma • , se e só
n

se lim xi
(k )
= xi , para todos i = 1, 2, 3, ..., n. Exemplo: Seja X ( k ) ∈ ℜ 4 definida por
k →∞

t
⎛ ⎞
X (k )
= (x1 , x2 , x3 , x4
(k ) (k ) (k ) (k )
) t 1 3
= ⎜1, 2 + , 2 , e −k sin k ⎟ . Assim, a sequência [X ( ) ]
k ∞
k =1
⎝ k k ⎠
converge para (1,2,0,0)t, relativamente a • ∞
.

Teor. 4.7: Para qualquer X∈ ℜ , x ≤ x 2 ≤ n x ∞.


n

71
Def. 4.8: Uma norma de matriz no conjunto de todas as matrizes de ordem n é uma função
real • , definida neste conjunto, com as seguintes propriedades para todas as matrizes A e B

de ordem n e para todos os escalares α:

(i) A ≥ 0;

(ii) A = 0 , se e só se A = O (matriz nula, isto, é, cujos elementos são todos nulos);

(iii) αA = α ⋅ A ;

(iv) A + B ≤ A + B ;

(v) AB ≤ A ⋅ B .

A distância entre duas matrizes A e B de ordem n, relativamente a esta norma é definida


como A − B .

Teor. 4.9: Se • é uma norma de vector em ℜ , então A = max AX é uma norma de


n
X =1

matriz.

Esta chama-se norma de matriz natural ou induzida, associada à norma de vector.

Cor. 4.10: Para quaisquer vector Z ≠ O, matriz A e norma natural • , tem-se

AZ ≤ A ⋅ Z .

n
Teor. 4.11: Se A = (aij) é uma matriz de ordem n×n, então A = max ∑ aij .
1≤i ≤ n
j =1

72
Exercícios (4.1):

1. Ache || X ||∞, || X ||2 e || X ||1 para os seguintes vectores:

a) X = (3, –4, 0, 3/2)t;

b) X = (2, 1, –3, 4)t;

c) X = (seno k, cos k, 2k)t, para um k positivo, inteiro e fixo;

d) X = (3, –4, 0, 3/2)t, para um k positivo, inteiro e fixo.

2.
n
a) Verifique que a função • 1 definida em ℜ por X
n
1
= ∑ X i é uma norma em
i =1

ℜn .

b) Calcule X 1
dos vectores do exercício anterior.

c) Mostre que para qualquer X∈ℜn, X 1


≥ X 2
.

3. Ache os limites das seguintes sequências:


1−k
a) X(k) = ( 1 k , e ,− 2 k 2 ) t ;

−k
b) X(k) = (e cos k , k sin 1 k ,3 + k −2 ) t ;

−k 2 (cos k )
c) X(k) = ( ke , k , k 2 + k − k )t ;
1 2
+1)
d) X(k) = (e k , ( k (1− k 2 )
, ( 1 k 2 )(1 + 3 + 5 + ... + (2k − 1))) t .

4. Calcule ||⋅||∞ das seguintes matrizes:

⎡ 2 −1 0 ⎤ ⎡ 4 − 1 7⎤

c) − 1 2 − 1
⎥ ⎢
d) − 1 4 0

⎡10 15⎤ ⎡10 0⎤ ⎢ ⎥ ⎢ ⎥
a) ⎢ ⎥ b) ⎢ ⎥ ⎢⎣ 0 − 1 2 ⎥⎦ ⎢⎣− 7 0 4⎥⎦
⎣0 1⎦ ⎣15 1⎦

73
~
5. Os seguintes sistemas de equações lineares AX = b têm X como solução exacta e X como
~ ~
uma aproximação dessa solução. Calcule || X – X ||∞ e ||A X – b||∞.

⎡ 12 1
3⎤
⎡ x1 ⎤ ⎡ 1 64 ⎤ ⎡1 2 3⎤ ⎡ x1 ⎤ ⎡ 1 ⎤
a) ⎢ =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥
1 ⎥ ⎢x ⎥ b) 2 3 4 x2 = − 1
⎣ 13 4⎦ ⎣ 2 ⎦ ⎣ 1168⎦ ⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢⎣3 4 6⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ 2 ⎥⎦
X = (1/7, –1/6)
~ ~
X = (0, –7,5)t X =(–0.33, –7.9,5.8)t
X =(0.124, –0.166)

⎡1 2 3⎤ ⎡ x1 ⎤ ⎡ 1 ⎤ ⎡0.04 0.01 0.01⎤ ⎡ x1 ⎤ ⎡0.06⎤


⎢ ⎥⎢ ⎥ ⎢ ⎥
c) 2 3 4 x2 = − 1

d) 0.2 0.5 0.2 ⎥ ⎢ x2 ⎥ = ⎢ 0.3 ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢⎣3 4 6⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ 2 ⎥⎦ ⎢⎣ 1 2 4 ⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ 11 ⎥⎦
~ X = (1.827586,0.6551724,1.965517)t
X = (0, –7,5)t X =(–0.2, –7.5,5.4)t
~
X =(1.8,0.64,1.9)t

6. A norma de matriz • 1 , definida por ||A||1 = max || AX ||1 , pode ser calculada através da
x 1 =1

n
fórmula ||A||1 = max ∑ aij , onde • 1 é a norma de vector definida no exercício 2.
1≤ j ≤ n i =1

Calcule • 1 para todas as matrizes do exercício 4.

74
4.2. Valores e Vectores próprios

Def. 4.12: Se A é uma matriz quadrada de grau n, o polinómio característico de A é definido


por P(λ) = det(A – λI).

Não é difícil mostrar que P(λ) é um polinómio de grau n e que, consequente, tem no máximo n
zeros diferentes.

Def. 4.13: Se P é o polinómio característico da matriz A, os zeros de P são valores próprios


ou característicos da matriz A. Se λ é um valor próprio de A e X ≠ O satisfaz a igualdade
(A – λI)X = O, então X é um vector próprio ou característico de A, correspondente ao valor

⎡1 0 2⎤
próprio λ.

Exemplo: A = 0 1 − 1

⎢ ⎥
⎢⎣− 1 1 1 ⎥⎦

Def. 4.14: O raio de espectro ρ(A) de uma matriz A está definido como ρ(A) = max|λ|, onde
λ é um valor próprio de A.

Teor. 4.15: Se A é uma matriz de ordem n, então

(i) A 2 = ρ ( A t A) ;

(ii) ρ(A) ≤ ||A||, para qualquer norma natural • .

⎡ 1 1 0⎤

Exemplo: A = 1 2 1

⎢ ⎥
⎢⎣− 1 1 2⎥⎦

Def. 4.16: Uma matriz A de ordem n diz-se convergente se lim( A ) ij = 0 , para quaisquer i
k
k →∞

⎡ 12 0⎤
= 1, 2, ..., n e j = 1, 2, ..., n. Exemplo: A = ⎢ 1 1⎥
é uma matriz convergente.
⎣4 2⎦

Teor. 4.17: As seguintes proposições são equivalentes:

(i) A é uma matriz convergente.

75
(ii) lim
n→∞
A n
= 0 , para qualquer norma natural.

(iii) lim A n = 0 , para todas as normas naturais.


n→∞

(iv) ρ(A) < 1.

(v) lim A n X = O , para qualquer X.


n →∞

Exercícios (4.2):

1. Calcule os valores próprios e os respectivos vectores próprios associados das seguintes


matrizes e ache o raio de espectro para cada uma:

⎡ 2 − 1⎤ ⎡0 1⎤ ⎡0 12 ⎤ ⎡1 1 ⎤
a) ⎢ ⎥ b) ⎢ ⎥ c) ⎢ 1 ⎥ d) ⎢ ⎥
⎣− 1 2 ⎦ ⎣1 1⎦ ⎣ 2 0⎦ ⎣ − 2 − 2⎦

⎡2 1 0⎤ ⎡− 1 2 0⎤ ⎡2 2 1 ⎤ ⎡3 2 − 1⎤

e) 1 2 0
⎥ ⎢
f) 0 3 4
⎥ ⎢
g) 2 3 2
⎥ ⎢
h) 1 − 2 3

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣0 0 3⎥⎦ ⎢⎣ 0 0 7 ⎥⎦ ⎢⎣1 1 2⎥⎦ ⎢⎣2 0 4 ⎥⎦

Quais das matrizes deste exercício são convergentes?

⎡1 0 ⎤ ⎡ 12 0⎤
2. Mostre que ⎢ 1 1 ⎥ não é convergente, mas que ⎢ 1⎥
o é.
⎣4 2⎦ ⎣16 2⎦

3. Ache ||⋅||2 para as matrizes do exercício 1.

⎡0 0 0 ⎤
⎢ ⎥
4. Determine os valores próprios de ⎢ 12 0 0⎥ .
⎢⎣0 13 0⎥⎦

76
4.3. Técnicas iterativas de resolução de sistemas de equações

• Método iterativo de Jacobi: AX = b ⇔ (D – L – U)X = b ⇔ DX = (L + U)X + b


(k )
⇔ X = D (L + U ) X + D b ⇒ X
−1 −1
= Tj X ( k −1) + C j .

Algoritmo 4.1 (Método iterativo de Jacobi)

Para resolver Ax = b dada uma aproximação inicial x(0):

INPUT O número de equações e de incógnitas n; Os elementos aij, 1 ≤ i, j ≤ n da matriz A;


tolerância TOL (máximo número de iterações N0).
OUTPUT Solução aproximada x1 , x 2 , L , x n ou uma mensagem em como o número de
iterações foi excedido.
Passo 1 Set k = 1.
Passo 2 While k ≤ N0 do Passos 3-6.
Passo3 For i = 1, 2, ..., n
n
− ∑ a ii XOi + bi
j =1
j ≠i
Set x i = .
a ii
Passo 4 If |x – XO| < TOL then
OUTPUT( x1 , x 2 , L , x n ); (Procedimento completo com sucesso)
STOP.
Passo 5 Set k = k + 1.
Passo 6 For i = 1, 2, ..., n set XOi = x i .
Passo 7 OUTPUT (‘Número máximo de iterações foi excedido);
(O procedimento foi bem sucedido).
STOP.

77
• Método iterativo (técnica iterativa) de Gauss-Seidel: AX = b ⇔ (D – L – U)X = b

⇔ (D – L)X = UX + b ⇔ X = ( D − L) −1UX + ( D − L) −1 b ⇒
X ( k ) = Tg X ( k −1) + C g .

Algoritmo 4.2 (Método iterativo de Gauss-Seidel)

Para resolver Ax = b dada uma aproximação inicial x(0):

INPUT O número de equações e de incógnitas n; Os elementos aij, 1 ≤ i, j ≤ n da matriz A;


tolerância TOL (máximo número de iterações N0).
OUTPUT Solução aproximada x1 , x 2 , L , x n ou uma mensagem em como o número de
iterações foi excedido.
Passo 1 Set k = 1.
Passo 2 While k ≤ N0 do Passos 3-6.
Passo3 For i = 1, 2, ..., n
i −1 n
− ∑ a ij x i − ∑a ij XO j + bi
j =1 j = i +1
Set x i = .
a ii
Passo 4 If |x – XO| < TOL then
OUTPUT( x1 , x 2 , L , x n ); (Procedimento completo com sucesso)
STOP.
Passo 5 Set k = k + 1.
Passo 6 For i = 1, 2, ..., n set XOi = x i .
Passo 7 OUTPUT (‘Número máximo de iterações foi excedido’);
(O procedimento foi bem sucedido).
STOP.

78
• Método SOR: AX = b ⇔ (D – L – U)X = b ⇒ (D – ωL)X(k) = [(1 – ω)D + ωU

]X(k–1) + ωb. Com Tω = ( D − ωL) [(1 − ω ) D + ωU ] e Cω = ω ( D − ωL) −1


−1

tem-se X(k) = Tω X(k–1) + Cω.

Algoritmo 4.3 (Método SOR)

Para resolver Ax = b dada uma aproximação inicial x(0):

INPUT O número de equações e de incógnitas n; Os elementos aij, 1 ≤ i, j ≤ n da matriz A;


tolerância TOL (máximo número de iterações N0).
OUTPUT Solução aproximada x1 , x 2 , L , x n ou uma mensagem em como o número de
iterações foi excedido.
Passo 1 Set k = 1.
Passo 2 While k ≤ N0 do Passos 3-6.
Passo3 For i = 1, 2, ..., n
⎛ i −1 n ⎞
ω ⎜⎜ − ∑ a ij x j − ∑a ij XO j + bi ⎟⎟
⎝ j =1 j = i +1 ⎠
Set x i = (1 − ω ) XOi + .
a ii
Passo 4 If |x – XO| < TOL then
OUTPUT( x1 , x 2 , L , x n ); (Procedimento completo com sucesso)
STOP.
Passo 5 Set k = k + 1.
Passo 6 For i = 1, 2, ..., n set XOi = x i .
Passo 7 OUTPUT (‘Número máximo de iterações foi excedido’);
(O procedimento foi bem sucedido).
STOP.

Lema 4.18: Se o raio de espectro ρ(T) satisfaz ρ(T) < 1, então (I − T )−1
existe e

(I − T ) −1
= I + T + T 2 + ... = ∑ T j .
j =0

Teor. 4.19: Para alguns X(0)∈ℜn, a sequência X ( (k )


)

k =0 definida por X(k) = TX(k-1) + c,

para cada k ≥ 1, converge para a única solução de X = TX + c, se e só se ρ(T) < 1.

79
Cor. 4.20: Se ||T|| < 1 para qualquer norma natural de matriz e C é um vector dado, então a

sequência X ( (k )
)

k =0 definida por X
(k )
= TX ( k −1) + C converge para o vector X(0)∈ℜn, para
qualquer vector inicial X(0)∈ℜn, com as seguintes margens de erros:

X − X (k ) ≤ T X (0 ) − X ;
k
(i)

X − X ( k ) ≤ 1−T T X (1) − X (0 ) .
k

(ii)

Teor. 4.21: Se A é estrita e diagonalmente dominante, então para qualquer escolha de X(0),

tanto o método de Jacobi quanto o de Gauss-Seidel geram sequências (X ( ) )


k ∞
k =0 que
convergem para a única solução de AX = b.

Teor. 4.22 (Stein-Rosenberg): Se aij ≤ 0 para qualquer i ≠ j e aii > 0 para cada i = 1, 2, ..., n,
então apenas uma das seguintes proposições é verdadeira:

a) 0 ≤ ρ (Tg ) < ρ (T j ) < 1 ;

b) 1 < ρ (T j ) < ρ (Tg ) ;

c) ρ (T j ) = ρ (Tg ) = 0 ;

d) ρ (T j ) = ρ (Tg ) = 1 .
~
Def. 4.23: Suponhamos que X ∈ ℜ é uma aproximação da solução do sistema de equações
n

~ ~
definido por AX = b. O vector residual para X relativo a este sistema é r = b – A X .

Nos métodos iterativos de Jacobi e de Gauss-Seidel tratados anteriormente, a cada iteração i


(k )
está ligado um vector residual ri = (r1(i k ) , r2(ik ) ,L, rmi( k ) ) t . Assim, por sua vez os vectores
residuais formam uma sequência de cujo grau de convergência para zero depende a rapidez de
convergência do método e vector inicial escolhidos, para a solução do sistema, gerando uma
nova alternativa de resolução iterativa de sistemas de equações lineares. Em especial, do

(k ) ( k −1 ) rii( k )
método de Gauss-Seidel deduz-se a fórmula X i = Xi +ω , que, para além das
aii
grandezas conhecidas introduz a constante ω > 0.

80
Os métodos que envolvem esta fórmula são conhecidos como métodos de relaxamento. Para
escolhas de ω < 1, os métodos designam-se métodos de sub-relaxamento e podem ser usados
para se obter convergência de alguns sistemas que não são convergentes pelo método de
Gauss-Seidel. Para escolhas de ω > 1, os métodos designam-se métodos de sob-relaxamento,
que são usados para acelerar a convergência de alguns sistemas que são (lentamente)
convergentes pelo método de Gauss-Seidel. Estes últimos são mais conhecidos como métodos
SOR (successive over-relaxation) e serão de grande utilidade para o nosso curso, através da
fórmula X(k) = Tω X(k–1) + Cω que foi deduzida e desenvolvida no início desta secção.

Teor. 4.24 (Khan): Se aii ≠ 0, para cada i = 1, 2, ..., n, então ρ(Tω) ≥ |ω – 1|. Isto implica que
o método SOR só pode convergir se ω < 2.

Teor. 4.25 (Ostrowski-Reich): Se A é uma matriz definida positivamente, e ω < 2, então o


método SOR converge para qualquer escolha do vector inicial de aproximação X(0).

Teor. 4.26: Se A é uma matriz tridiagonal e definida positivamente, então


ρ (Tg ) = [ ρ (T j )]2 < 1 e a escolha óptima de ω para o método SOR é

⎡4 3 0 ⎤
ω=
2 ⎢
, com a qual ρ (Tω ) = ω − 1. Exemplo: A = 3 4 −1 .

1 + 1 − [ ρ (T j )]2 ⎢ ⎥
⎢⎣0 −1 4 ⎥⎦

Exercícios (4.3)

1. Dos seguintes sistemas de equações lineares, processe as duas primeiras iterações, pelo
método de Jacobi e depois pelo método de Gauss-Seidel, para a aproximação das
respectivas soluções, usando X(0) = O.

⎡3 − 1 1⎤ ⎡ x1 ⎤ ⎡1⎤ ⎡10 − 1 0 ⎤ ⎡ x1 ⎤ ⎡9⎤


a) ⎢⎢3 6 2⎥⎥ ⎢⎢ x 2 ⎥⎥ = ⎢⎢0⎥⎥ b) ⎢⎢− 1 10 − 2⎥⎥ ⎢⎢ x 2 ⎥⎥ = ⎢⎢7⎥⎥
⎢⎣3 3 7⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣4⎥⎦ ⎢⎣ 0 − 2 10 ⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣6⎥⎦

81
⎡10 5 0 0 ⎤ ⎡ x1 ⎤ ⎡ 6 ⎤ ⎡ 4 1 − 1 1 ⎤ ⎡ x1 ⎤ ⎡− 2⎤
⎢ 5 10 − 4 0 ⎥ ⎢ x ⎥ ⎢ 25 ⎥ ⎢1 4 − 1 − 1⎥⎥ ⎢⎢ x 2 ⎥⎥ ⎢⎢ − 1⎥⎥
c) ⎢ ⎥⎢ 2⎥ = ⎢ ⎥ d) ⎢ =
⎢ 0 − 4 8 − 1⎥ ⎢ x3 ⎥ ⎢− 11⎥ ⎢− 1 − 1 5 1 ⎥ ⎢ x3 ⎥ ⎢ 0 ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣ 0 0 − 1 5 ⎦ ⎣ x 4 ⎦ ⎣− 11⎦ ⎣ 1 −1 1 3 ⎦ ⎣ x4 ⎦ ⎣ 1 ⎦

⎡4 1 1 0 1 ⎤ ⎡ x1 ⎤ ⎡6⎤
⎢ − 1 − 3 1 1 0 ⎥ ⎢ x ⎥ ⎢6 ⎥
⎢ ⎥⎢ 2⎥ ⎢ ⎥
e) ⎢ 2 1 5 − 1 − 1⎥ ⎢ x3 ⎥ = ⎢6⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ − 1 − 1 − 1 4 0 ⎥ ⎢ x 4 ⎥ ⎢6 ⎥
⎢⎣ 0 2 −1 1 4 ⎥⎦ ⎢⎣ x5 ⎥⎦ ⎢⎣6⎥⎦

⎡ 4 − 1 0 − 1 0 0 ⎤ ⎡ x1 ⎤ ⎡ 0 ⎤
⎢− 1 4 − 1 0 − 1 0 ⎥ ⎢ x ⎥ ⎢ 5 ⎥
⎢ ⎥⎢ 2⎥ ⎢ ⎥
⎢ 0 − 1 4 0 0 − 1⎥ ⎢ x3 ⎥ ⎢ 0 ⎥
f) ⎢ ⎥⎢ ⎥ = ⎢ ⎥
⎢ − 1 0 0 4 − 1 0 ⎥ ⎢ x4 ⎥ ⎢ 6 ⎥
⎢ 0 − 1 0 − 1 4 − 1⎥ ⎢ x5 ⎥ ⎢− 2⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣⎢ 0 0 − 1 0 − 1 4 ⎦⎥ ⎣⎢ x6 ⎦⎥ ⎣⎢ 6 ⎦⎥

2. Resolva os sistemas usando os métodos iterativos de Jacobi e de Gauss-Seidel, com ε =


10–3 a norma l∞.

3. Processe as duas primeiras iterações pelo método SOR, com ω = 1.1 e ω = 1.3, usando
X(0) = O.

4. Resolva os sistemas usando o método SOR com ω = 1.2, ε = 10–3 e a norma l∞.

5. Repita o exercício anterior apenas com as matrizes definidas positivamente, usando a


escolha óptima de ω.

82
4.4. Erros de aproximação e refinamento iterativo
~
Parece intuitivamente razoável que se X é uma aproximação da solução X de AX = b e o
~ ~
vector residual r = b – A X tem a propriedade de que ||r|| = ||b – A X || é pequeno, então ||X –
~
X || deve ser também pequeno. Este é geralmente o caso, mas alguns sistemas falham
frequentemente esta regra.

⎡ 1 2⎤ ⎡ x1 ⎤ ⎡ 3 ⎤
Exemplo: O sistema AX = b definido por ⎢ ⎥ ⎢ x ⎥ = ⎢3.0001⎥ tem a solução única
⎣1 . 0001 2 ⎦⎣ 2 ⎦ ⎣ ⎦
~ ~
X = (1,1)t. A aproximação X = (3,0)t tem o vector residual r = b – AX =

⎡ 3 ⎤ ⎡ 1 2 ⎤ ⎡3⎤ ⎡ 0 ⎤
− =
⎢3.0001⎥ ⎢1.0001 2⎥ ⎢0⎥ ⎢− 0.0002⎥ , com ||r||∞ = 0.0002. Embora a norma do
⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦
~
vector residual seja pequena, a aproximação X = (3,0)t é obviamente muito pobre, pois, ||X –
~
X ||∞ = 2 (visualização gráfica).
~
Teor. 4.27: Suponhamos que X é uma aproximação da solução de AX = b, A é uma matriz
~ ~
não singular e r é o vector residual para X . Então, para qualquer norma natural, ||X – X || ≤
~
X−X r
||r||.||A–1|| e se X ≠ O e b ≠ O, ≤ A . A −1 .
X b

Def. 4.28: O número de condição da matriz não singular A relativamente à norma ||⋅|| é K(A)
= ||A||.||A–1||.

Com esta anotação, as desigualdades do teorema anterior passam a ter a seguinte apresentação:
~
~ r X−X r
X − X ≤ K ( A) e ≤ K ( A) .
A X b

Para qualquer matriz não singular A e norma natural ||⋅||, tem-se

1 = I = A ⋅ A −1 ≤ A ⋅ A−1 = K ( A) .

Uma matriz A está bem condicionada se K(A) está próximo de 1, e está mal condicionada se
K(A) é significativamente maior do que 1. O condicionamento neste contexto refere-se à

83
relativa segurança de que um vector residual pequeno implica uma solução correspondente
bem aproximada.

Se assumirmos que a solução aproximada do sistema de equações lineares AX = b foi


determinada usando-se aritmética a t dígitos e eliminações de Gauss, pode mostrar-se que o
~ ~
vector residual r para a aproximação X tem ||r|| ≈ 10–t||A||⋅|| X ||.

A aproximação do número de condição K(A) de t dígitos resulta da consideração do sistema de


equações lineares AY = r.

A solução deste sistema pode ser prontamente aproximada, uma vez que os multiplicadores do
~
método de eliminação de Gauss já foram calculados. De facto, Y , a solução aproximada de
~ ~ ~ ~
AY = r, satisfaz a relação Y ≈ A r = A (b − AX ) = A b − A AX = X − X , donde
−1 −1 −1 −1

~ ~
X ≈ X +Y .
~ ~
Assim, Y é uma estimativa do erro criada quando X aproxima a solução X do sistema
~
original. As aproximações de ||r|| e Y implicam que
~ ~ ~ ~
Y ≈ X − X = A −1 r ≤ A −1 ⋅ r ≈ A −1 (10 − t A ⋅ X ) = 10 − t X K ( A) . Isto dá uma
aproximação do número de condição envolvido na resolução do sistema AX = b, usando o
método de eliminação de Gauss com aproximações usando aritmética a t dígitos, já descrita:
~
Y
K ( A) ≈ ~ 10 t .
X

~ ~ ~ ~
Da aproximação de Y deduziu-se da estimativa Y ≈ X − X , onde Y é a solução
~ ~
aproximada do sistema AY = r. Em geral, X + Y é uma aproximação mais exacta da solução
~
do sistema AX = b do que a aproximação inicial X . O método que usa este princípio de
partida chama-se refinamento iterativo ou melhoramento iterativo, e consiste na execução de
iterações no sistema de equações cuja parte direita é o vector residual, para sua aproximação
sucessiva, até a obtenção de resultados mais exactos.

84
Exemplo:

Nesta secção assumiu-se que no sistema AX = b, A e b eram exactos. Realisticamente, os


elementos aij e bj serão perturbados por δaij e δbj, criando a necessidade de ser resolvido o
sistema (A+δA)X = b+δb no lugar do sistema AX = b. Normalmente, se ||δA|| e ||δb|| são
~
pequenos (na ordem de 10–t), a aritmética de t dígitos deverá gerar uma solução X para a qual
~
X − X correspondente é pequeno. Porém, no caso de sistemas mal condicionados, já vimos
~
que mesmo se A e b são dados com exactidão, erros de aproximação fazem com que X − X

seja grande. O seguinte teorema relaciona a perturbação de um sistema de equações lineares


ao número de condição de uma matriz.

1 ~
Teor. 4.29: Suponhamos que A é não singular e δA< . A solução X de (A+δA)X =
A −1
b+δb aproxima a solução X de AX = b com o erro de estimativa
~
X−X K ( A) A ⎛ δb δA⎞
≤ ⎜ + ⎟.
X ⎜
A − K ( A) δ A ⎝ b A ⎟⎠

Exercícios (4.4)

1. Calcule os números de condição das seguintes matrizes, relativamente à norma ||⋅||∞.

⎡ 12 1
3⎤ ⎡3.9 1.6 ⎤
a) ⎢
1⎥
b) ⎢ ⎥
⎣3 4⎦ ⎣6.8 2.9⎦
1

⎡ 1 2⎤ ⎡1.003 58.09⎤
c) ⎢ ⎥ d) ⎢ ⎥
⎣1.00001 2⎦ ⎣5.550 321.8⎦

⎡1 − 1 − 1⎤ ⎡0.04 0.01 − 0.01⎤



e) 0 1 − 1
⎥ f)
⎢ 0.2 0.5 − 0.2 ⎥
⎢ ⎥ ⎢ ⎥
⎢⎣0 0 − 1⎥⎦ ⎢⎣ 1 2 4 ⎥⎦

85
~
2. Os seguintes sistemas de equações AX = b têm X como solução exacta e X como
~
aproximação da solução. Usando os resultados do exercício 1, calcule X − X e

~
b − AX

K ∞ ( A) A ∞
.

a) AX = ( , 1681 ) , com X = ( 17 ,− 16 ) e X = (0.142 , − 0166 )


1
63
t t ~ t

b) AX = (5.5 , 9.7 )t , com X = (1,1)t e X~ = (0.98 ,1.1)t


c) AX = (3, 3.0001)t , com X = (1,1)t e X~ = (0.96 ,1.02)t
d) AX = (68.12 , 337.3)t , com X = (10,1)t e X~ = (− 10,1)t
e) AX = (2π , 0 ,π )t , com X = (0 , − π , − π )t e X~ = (− 0.1, − 3.15 , − 3.14)
f) AX = (0.06 , 0.3,1.1) , t
com X = (1.827586 , 0.6551724 ,1.965517 )
t
e
X = (1.8 , 0.64 ,1.9 )
~ t

⎡ 1 2⎤
3. Mude ligeiramente a matriz do sistema c) para A = ⎢ ⎥ e determine a nova
⎣0.9999 2⎦
solução usando a aritmética de arredondamento a cinco dígitos e compare o erro resultante
com a estimativa do teorema 7.29. A matriz A estará mal condicionada?
4. Use a aritmética de arredondamento a sete dígitos para achar a solução do sistema
⎡ 1 2⎤ ⎡ x1 ⎤ ⎡3.00001⎤
perturbado ⎢ ⎥ ⎢ x ⎥ = ⎢3.00003⎥ , e compare o erro resultante com a
⎣1.000011 2 ⎦ ⎣ 2⎦ ⎣ ⎦
estimativa do teorema 7.29. A estará mal condicionada?

86
5. Aproximação de Valores Próprios

5.1. Álgebra Linear e Valores Próprios

No capítulo 4 verificamos que uma técnica iterativa de resolução de um sistema de equações


converge quando todos os seus valores próprios associados ao problema têm uma magnitude
inferior a 1. O valor exacto dos valores próprios neste caso não são de importância primordial,
sendo suficientes as regiões do plano complexo em que se situam.

Mesmo quando precisamos de conhecer os valores próprios, o facto de muitas técnicas para a
sua aproximação serem iterativas, isso implica que a determinação das regiões em que se
situam é um primeiro passo na direcção da determinação da aproximação, uma vez que isso
fornece-nos a primeira aproximação que os métodos iterativos precisam.

Antes de avançar no estudo de valores e vectores próprios, precisamos de algumas definições


da Álgebra linear.

{
Def. 5.1: Seja v (1) , v ( 2) , K , v ( k ) } um conjunto de vectores. O conjunto diz-se linearmente
independente se sempre que O = α 1 v (1) + α 2 v ( 2 ) + L + α k v ( k ) , então α 1 = α 2 = L = α k = 0 .

Note-se que qualquer conjunto de vectores contendo o vector nulo é linearmente dependente.

{ }
Teor. 5.2: Se v (1) , v ( 2) , K , v ( n ) é um conjunto de n vectores linearmente independentes em

ℜn , então qualquer vector x ∈ℜn pode ser apresentado unicamente como


x = β 1 v (1) + β 2 v ( 2 ) + L β n v ( n ) , para alguma colecção de constantes β 1 , β 2 , K , β n . Qualquer

colecção de n vectores linearmente independentes em ℜ n chama-se base para ℜ n .

Exemplo: Sejam v (1) = (1,0,0) t , v ( 2) = (−1,1,1) t e v ( 3) = (0,4,2) t . Se α 1 , α 2 e α 3 são números

tais que O = α 1 v (1) + α 2 v ( 2 ) + α 3 v ( 3) , então (0,0,0) t = α 1 (1,0,0) t + α 2 (−1,1,1) t + α 3 (0,2,4) t .

Assim, α 1 − α 2 = 0 ; α 2 + 4α 3 = 0 e α 2 − 2α 3 = 0 e uma vez que a única solução para este

sistema de equações é α 1 = α 2 = α 3 = 0 , o conjunto {v (1)


, v ( 2 ) , v ( 3) } é linearmente

independente em ℜ 3 . Qualquer vector x = ( x1 , x 2 , x 3 ) t em ℜ 3 pode ser escrito como

x = β 1 v (1) + β 2 v ( 2 ) + β 3 v ( 3) , bastando para tal escolher-se a colecção de constantes

1
β 1 = x1 − x 2 + 2x 3 , β 2 = − x 2 + 2x 3 e β1 = ( x2 − x3 ) .
2

87
Teor. 5.3: Se A é uma matriz e λ1 , K , λ k são valores próprios de A distintos com os vectores

{ }
próprios associados x (1) , x ( 2) , L , x ( k ) , então x (1) , x ( 2) , L , x ( k ) é linearmente independente.

{ }
Def. 5.4: Um conjunto de vectores v (1) , v ( 2) , K , v ( n ) diz-se ortogonal se v ( i ) v ( j ) = 0 , para ( ) t

todos i ≠ j. Se, adicionalmente, (v ) v (i ) t (i )


= 1 , para todos i = 1, 2, L , n , então o conjunto diz-se
ortonormal.

Uma vez que x t x = x 2 , um conjunto ortogonal de vectores v (1) , v ( 2) , K , v ( n ) é ortonormal


2
{ }
sse v (i ) = 1 , para cada i = 1, 2, L , n .
2

t t
⎛ 1 2⎞ ⎛1 1 1⎞
Exemplo: Os vectores v (1)
= (0,4,2) , v
t ( 2)
= ⎜ − 1,− , ⎟ e v ( 3) = ⎜ ,− , ⎟ formam um
⎝ 5 5⎠ ⎝ 6 6 3⎠

30
conjunto ortogonal. As normas l2 destes vectores são v (1) =2 5, v ( 2) = e
2 2 5
t
6 v (1) ⎛ 2 5 5⎞
v (1)
= . Como consequência, os vectores u (1)
= = ⎜⎜ 0, , ⎟ ,

2 6 v (1) ⎝ 5 5 ⎠
2

t t
v ( 2) ⎛ 30 30 30 ⎞ v ( 3) ⎛ 6 6 6⎞
u ( 2)
= = ⎜⎜ − ,− , ⎟ ,
⎟ u ( 3)
= = ⎜⎜ ,− , ⎟
⎟ formam um
v ( 2) ⎝ 6 30 15 ⎠ v ( 3) ⎝ 6 6 3 ⎠
2 2

conjunto ortonormal dado que herdam a ortogonalidade de v (1) , v ( 2 ) e v (3) , e, adicionalmente,


u (1) = u ( 2) = u ( 3) =1.
2 2 2

Teor. 5.5: Um conjunto ortogonal de vectores não nulos é linearmente independente. (pode
ser provado resolvendo-se o exercício 5)

Def. 5.6: Uma matriz Q diz-se matriz ortogonal se Q −1 = Q t .

As matrizes de Permutação que ocorrem nas factorizações LU têm esta propriedade, assim,
elas são ortogonais.

Exemplo: A matriz ortogonal Q formada pelo conjunto ortogonal de vectores encontrado no


exemplo anterior é:

88
⎡ 30 6 ⎤
⎢ 0 − ⎥
⎢ 6 6 ⎥
[
Q = u (1) u ( 2) u ( 3) ] = ⎢⎢
2 5
5

30
30

6
6⎥
⎥ . Note-se que QQt = I:
⎢ 5 30 6 ⎥⎥

⎢⎣ 5 15 3 ⎥⎦

⎡ 30 6 ⎤ ⎡ 2 5 5 ⎤
⎢ 0 − ⎥ ⎢ 0 ⎥
⎢ 6 6 ⎥ ⎢ 5 5 ⎥ ⎡1 0 0 ⎤
QQ = ⎢⎢
6⎥ ⎢ 30 ⎥ ⎢
= ⎢0 1 0⎥⎥ . Assim, Q −1 = Q t .
2 5 30 30 30
t
− − • − −
5 30 6 ⎥ ⎢ 6 30 15 ⎥
⎢ 5 30 6 ⎥⎥ ⎢⎢ 6 6 6 ⎥⎥ ⎢⎣0 0 1⎥⎦
⎢ −
⎢⎣ 5 15 3 ⎦⎥ ⎣⎢ 6 6 3 ⎦⎥

Def. 5.7: Duas matrizes A e B dizem-se semelhantes se existe uma matriz regular (não
singular) S, tal que A = S −1 BS .

A característica importante de matrizes similares é que elas têm os mesmos valores próprios.

Teor. 5.8: Suponhamos que A e B sejam matrizes similares com A = S −1 BS e λ seja um valor
próprio de A com o vector próprio associado x. Então λ é também um valor próprio de B, com
o vector próprio associado Sx.

Teor. 5.9 (Schur): Seja A uma matriz arbitrária. Então existe uma matriz regular (não
singular) U, tal que T = U −1 AU , onde T é uma matriz triangular superior, cuja diagonal é
preenchida por valores próprios de A.

A matriz U, cuja existência está assegurada no teorema 5.9 satisfaz a condição Ux 2


= x 2

para qualquer vector x. Matrizes com esta propriedade chamam-se unitárias. Embora não
venhamos a fazer uso desta propriedade preservadora da norma, ela aumenta de forma
significativa a aplicação do teorema de Schur.

O teorema 5.9 é um teorema existencial que assegura que a matriz triangular T existe, mas não
fornece um meio construtivo para se encontrar T, uma vez que o teorema requer um
conhecimento dos valores próprios de A. Na maioria dos casos, a transformação U da
similaridade é demasiado difícil de determinar. A seguinte restrição do teorema 5.9 às

89
matrizes simétricas reduz a complicação, uma vez que neste caso a matriz de transformação é
ortogonal.

Teor. 5.10: Se A é uma matriz simétrica e D é uma matriz diagonal cuja diagonal é preenchida
pelos valores próprios de A, então existe uma matriz ortogonal Q tal que D = Q −1 AQ = Q t AQ .

Teor. 5.11: Se A é uma matriz simétrica do tipo n×n, então existem n vectores próprios de A
que formam um conjunto ortogonal e os valores próprios de A são números reais.

Teor. 5.12: Uma matriz simétrica A está positivamente definida sse todos os seus valores
próprios são positivos.

Teor. 5.13 (Círculo de Gerschgorin): Seja A uma matriz do tipo n×n e Ri o círculo no plano

⎧ ⎫
n
⎪ n

complexo com centro em aii e raio ∑ a ij ; isto é, Ri = ⎨ z ∈ C : z − a ii ≤ ∑ a ij ⎬ , onde C
j =1 ⎪ j =1 ⎪
j ≠i ⎩ j ≠i ⎭
n
representa o plano complexo. Os valores próprios de A estão dentro do plano R = U Ri . Além
i =1

disso, a união de quaisquer k desses círculos que não intersectam os restantes (n – k) contêm
precisamente k multiplicidades de valores próprios.

⎡ 4 1 1⎤
Exemplo: Para a matriz A = ⎢⎢ 0 2 1⎥⎥ , os círculos definidos no teorema de Gerschgorin
⎢⎣− 2 0 9⎥⎦

são R1 = {z ∈ C : z − 4 ≤ 2}, R 2 = {z ∈ C : z − 2 ≤ 1} e R3 = {z ∈ C : z − 9 ≤ 2}.

Exercícios (5.1)
1. Ache os vectores próprios associados aos valores próprios das seguintes matrizes. Há
algum conjunto de três vectores próprios linearmente independentes?

⎡2 − 3 6 ⎤ ⎡ 1 0 0⎤ ⎡2 0 1 ⎤
a) A = ⎢⎢0 3 − 4⎥⎥ b) A = ⎢⎢− 1 0 1⎥⎥ c) A = ⎢⎢0 2 0⎥⎥
⎢⎣0 2 − 3⎥⎦ ⎢⎣− 1 − 1 2⎥⎦ ⎢⎣1 0 2⎥⎦

⎡ 2 − 1 − 1⎤ ⎡1 1 1⎤ ⎡2 1 1 ⎤
d) A = ⎢⎢− 1 2 − 1⎥⎥ e) A = ⎢⎢1 1 0⎥⎥ f) A = ⎢⎢1 2 1 ⎥⎥
⎢⎣− 1 − 1 2 ⎥⎦ ⎢⎣1 0 1⎥⎦ ⎢⎣1 1 2⎥⎦

90
2. As matrizes (c), (d), (e) e (f) do exercício anterior são simétricas.
a) Há algumas que estejam positivamente definidas?
b) Considere as matrizes positivamente definida identificadas na alínea anterior. Construa
uma matriz ortogonal Q para a qual Q t AQ = D , uma matriz diagonal usando os
valores próprios calculados no exercício anterior.
3. Use o teorema do círculo de Gerschgorin para determinar limites dos intervalos para os
valores próprios das seguintes matrizes.

⎡ 1 0 0⎤ ⎡ 4 −1 0 ⎤
a) ⎢− 1 0 1 ⎥ b) ⎢− 1 4 − 1⎥
⎢ ⎥ ⎢ ⎥
⎢⎣− 1 − 1 2⎥⎦ ⎢⎣− 1 − 1 4 ⎥⎦

⎡3 2 1⎤ ⎡ 4.75 2.25 − 0.25⎤


c) ⎢ 2 3 0⎥ d) ⎢ 2.25 4.75 1.25 ⎥
⎢ ⎥ ⎢ ⎥
⎢⎣1 0 3⎥⎦ ⎢⎣− 0.25 1.25 4.75 ⎥⎦

⎡− 4 0 1 3⎤ ⎡1 0 −1 1 ⎤
⎢ 0 −4 2 1 ⎥⎥ ⎢2 2 − 1 1 ⎥⎥
e) ⎢ f) ⎢
⎢1 2 −2 0 ⎥ ⎢0 1 3 − 2⎥
⎢ ⎥ ⎢ ⎥
⎣3 1 0 − 4⎦ ⎣1 0 1 4⎦
4. Mostre que quaisquer quatro vectores em ℜ3 são linearmente dependentes.

{ }
5. Mostre que um conjunto v (1) , v ( 2) , K , v ( n ) de vectores ortogonais não nulos é linearmente
independente.
6. Uma matriz persimétrica é uma matriz que é simétrica em relação a ambas as suas
diagonais, isto é, uma matriz do tipo n×n, A = (aij) é persimétrica se a ij = a ji = a n +1−i , n +1− j ,
para todos i = 1, 2, L , n e j = 1, 2, L , n . Muitos problemas da teoria de comunicação têm
soluções que envolvem os valores e vectores próprios de matrizes que estão na forma
persimétrica. Por exemplo, o vector próprio correspondente ao menor valor próprio da
⎡ 2 −1 0 0 ⎤
⎢− 1 2 − 1 0 ⎥
seguinte matriz persimétrica A = ⎢ ⎥ fornece a resposta do impulso da
⎢ 0 − 1 2 − 1⎥
⎢ ⎥
⎣ 0 0 −1 2 ⎦
energia de canal unitária para uma sequência de erro dada de comprimento 2 e,
subsequentemente, o peso mínimo de qualquer sequência de erro possível.
a) Use o teorema do círculo de Gerschgorin para mostrar que se A é a matriz dada e λ é o
menor valor próprio, então λ − 4 = ρ ( A − 4 I ) , onde ρ é o raio de espectro.

91
b) Determine o menor valor próprio da matriz A, achando todos os valores de A – 4I e
calculando os respectivos raios de espectro. Depois encontre o vector próprio
correspondente.
c) Use o teorema do círculo de Gerschgorin para mostrar que se λ é o menor valor
⎡3 − 1 − 1 − 1⎤
⎢− 1 3 − 1 − 1⎥⎥
próprio da matriz B = ⎢ , então λ − 6 = ρ ( B − 6 I ) .
⎢− 1 − 1 3 − 1⎥
⎢ ⎥
⎣1 −1 −1 3 ⎦
d) Repita a resolução de (b) usando a matriz B e o resultado obtido em (c).

5.2. O método das potências

O método das potências é uma técnica iterativa usada para determinar o valor próprio
dominante de uma matriz, isto é, o valor próprio com a maior magnitude. Modificando-o
ligeiramente, o método pode ser usado para determinar outros valores próprios. Uma
característica útil do método das potências é que ele não só produz um valor próprio, como
também um vector próprio associado. De facto, o método das potências é aplicado com
frequência para achar um vector próprio para um valor próprio que está determinado através
de qualquer outra forma.

Para aplicar o método das potências, assumimos que uma matriz A do tipo n×n tem n valores
{
próprios λ1 , λ 2 , L , λ n com uma colecção associada de vectores próprios v (1) , v ( 2) , K , v ( n ) . }
Além disso, assumimos que A tem precisamente um valor próprio λ1, que é o maior em
magnitude, tal que λ1 > λ 2 ≥ λ3 ≥ L ≥ λ n ≥ 0 .

{ }
Se x é qualquer vector em ℜn, o facto de que v (1) , v ( 2) , K , v ( n ) é linearmente independente
n
implica que constantes β 1 , β 2 , L , β n existem, tais que x = ∑ β j v ( j ) .
j =1

Multiplicando ambos os lados da igualdade por A, A2, ... , Ak tem-se


n n n n n
Ax = ∑ β j Av ( j ) = ∑ β j λ j v ( j ) , A 2 x = ∑ β j λ j Av ( j ) = ∑ β j λ 2j v ( j ) , ... , A k x = ∑ β j λ kj v ( j ) .
j =1 j =1 j =1 j =1 j =1

92
Se λ1k é factorizado em cada termo do lado direito da última igualdade, então

⎛λj
k
n ⎞ ( j)
A x = λ ∑ β j ⎜⎜
k k
⎟ v .

⎝ λ1
1
j =1 ⎠

⎛λj
k

Uma vez que λ1 > λ j para todos os j = 2, 3, ..., n, temos lim ⎜⎜ ⎟⎟ = 0 e
k →∞ λ
⎝ 1 ⎠
lim A k x = lim λ1k β 1 v (1) . (5.1)
k →∞ k →∞

Esta sequência converge para 0 se λ1 < 1 e diverge se λ1 > 1 , desde que β1 ≠ 0.

Pode-se obter alguma vantagem da igualdade (5.1) escalonando-se as potências de A k x duma


maneira apropriada para assegurar que o limite da equação é finito e diferente de zero. O
escalonamento começa com a escolha de x como sendo um vector unitário x ( 0 ) relativamente

a • ∞
e do componente x (p00) de x ( 0 ) , com x (p00) = 1 = x ( 0) .

Seja y (1) = Ax ( 0 ) e defina-se μ (1) = y (p10) . Então,

n ⎛ n λj ⎞
β 1 λ1 v (1)
+ ∑ β jλ jv ( j)
λ1 ⎜⎜ β 1 v (p1) + ∑ β j v (p1) ⎟⎟
y (1) p0
j =2
p0

0
j =2 λ1 0

μ (1) = y (p1) = = =
p0
(0) n n
.
+ ∑ β jv + ∑ β jv
0
x p0
β 1v (1)
p0
( j)
p0 β1v (1)
p0
( j)
p0
j =2 j =2

1 (1) 1
Seja p1 o menor número inteiro tal que y (p11) = y (1) e defina-se x (1) = y = (1) Ax ( 0) .
∞ (1)
y p1 y p1

1
Então, x (p11) = 1 = x (1) . Agora defina-se y ( 2 ) = Ax (1) = A 2 x ( 0) e
∞ (1)
y p1

⎡ n ⎛λ ⎞
2

⎛ ⎞

n
⎢ ⎜ ⎟
⎜ β 1 λ1 v p + ∑ β j λ j v p ⎟ : y p λ β + ⎜ λ ⎟ j p1 ⎥⎥
β
(1 ) j ( j)
2 (1) 2 ( j) (1) v v
⎜ 1 ⎟
1 1 p1
y (p21 ) ⎝
1
j =2 ⎠
1 ⎢
⎣ j = 2 ⎝ 1⎠ ⎦
μ ( 2)
=y ( 2)
= = = n λ
.
⎛ ⎞
p1
x (p11) n
⎜ β 1 λ1 v (p1) + ∑ β j λ j v (pj ) ⎟ : y (p1) β 1 v p1 + ∑ β j v p1
(1 ) j ( j )
⎜ 1 ⎟
j = 2 λ1
⎝ ⎠
1 1
j =2

93
Seja p2 o menor número inteiro que satisfaz a condição y (p22) = y ( 2) e defina-se

1 ( 2) 1 1
x ( 2) = ( 2)
y = ( 2) Ax (1) = ( 2 ) (1) A 2 x ( 0) .
y p2 y p2 y p2 y p1

De maneira similar definam-se sequências de vectores {x ( m ) }m =0 e {y ( m ) }m =1 e a sequência de


∞ ∞

escalares {μ ( m ) }m =1 de forma indutiva, através das expressões


y ( m ) = Ax ( m −1) ,

⎡ n ⎛λ ⎞
m

λ1 ⎢ β 1 v (p1m) −1 + ∑ ⎜⎜ ⎟ β j v (p j ) ⎥
j

⎢⎣ j = 2 ⎝ λ1 ⎥⎦
m −1

μ ( m ) = y (pm ) = m −1
(5.2)
⎛λj
m −1
n ⎞
β 1 v (p1) + ∑ ⎜⎜ ⎟
⎟ β j v (p j )
j = 2 ⎝ λ1
m −1 m −1

y (m) A m x ( 0)
e x (m) = = m ,
y (pmm )
∏ y pk (k )

k =1

onde em cada passo pm é usado para representar o menor número inteiro para o qual

y (pmm ) = y ( m ) .

λj
Examinando a igualdade (5.2) vê-se que, uma vez que < 1 para cada j = 2, 3, ..., n, então
λ1

lim μ ( m) = λ1 , desde que x ( 0 ) tenha sido escolhido de maneira que β1 ≠ 0. Além disso, a
m →∞

sequência de vectores {x ( m ) }m =0 converge para um vector próprio associado a λ1 que tem a


norma l∞ igual a um.

O método da potência tem a desvantagem de que a princípio não é sabido se a matriz tem ou
não um único valor próprio dominante, nem a maneira como x ( 0 ) deve ser escolhido para
assegurar que a sua representação em termos de vectores próprios da matriz irão conter
contribuições diferentes de zero, de vectores próprios associados ao valor próprio dominante,
caso este exista.

94
O algoritmo 5.1 implementa o método das potências.

Algoritmo 5.1 (O Método das potências)

Para aproximar o valor próprio dominante e um vector próprio associado da matriz A de tipo
n×n, dado um vector não nulo aproximação inicial x:

INPUT A dimensão n; a matriz A; o vector x; tolerância TOL (máximo número de iterações


N0).
OUTPUT Valor próprio aproximado μ; vector próprio aproximado x (com x ∞
= 1 ) ou uma
mensagem em como o número máximo de iterações foi excedido.
Passo 1 Set k = 1.
Passo 2 Achar o menor número inteiro p, com 1 ≤ p ≤ n e x p = x ∞ .

x
Passo3 Set x = .
xp
Passo 4 While (k < N0) do Passos 5 – 11.
Passo 5 Set y = Ax.
Passo 6 Set μ = yp.
Passo 7 Find the smallest integer p with 1 ≤ p ≤ n and y p = y ∞ .

Passo 8 If yp = 0 then
OUTPUT (‘Vector próprio’, x);
OUTPUT (‘A tem o valor próprio 0, escolha um novo vector x recomece’);
STOP.

y y
Passo 9 Set ERR = x − ; x= .
yp yp

Passo 10 If ERR < TOL then OUTPUT (μ, x); (O procedimento foi bem sucedido.)
STOP.
Passo 11 Set k = k + 1.
Passo 12 OUTPUT (‘O maior número de iterações foi excedido’);
(O procedimento foi bem sucedido.)
STOP.

95
Escolhendo no Passo 7 o menor número inteiro pm para o qual y (pmm ) = y ( m ) , geralmente

assegura-se que este índice eventualmente se torna invariável. O grau com que {μ ( m ) }m =1

λj
m

converge para λ1 é determinado pela razão , para j = 2, 3, ..., n e, particularmente, pela


λ1

λ
m
⎛λ m

razão 2 . O grau de convergência é O ⎜ 2 ⎟ . Portanto, existe uma constante k, tal que
λ1 ⎜ λ1 ⎟
⎝ ⎠
m
λ
para valores maiores de m tem-se μ ( m)
− λ1 ≈ k 2 , o que implica que
λ1

μ ( m +1) − λ1 λ2
lim ≈ < 1 . Consequentemente, a sequência {μ (m ) } converge linearmente para
m→∞
μ (m)
− λ1 λ1

λ1, e o procedimento de Aitken Δ2 visto na secção 2.5 pode ser usado para acelerar a
convergência. A implementação do procedimento Δ2 no algoritmo 5.1 é feita modificando-se o
algoritmo como se segue:

Passo: 1 Set k = 1; μ0 = 0; μ1 = 0.
(μ1 − μ 0 ) 2
Passo: 6 Set μ = yp; μˆ = μ 0 − .
μ − 2μ 1 + μ 0
Passo: 10 If ERR < TOL and k ≥ 4 then OUTPUT ( μ̂ , x); (O procedimento foi bem sucedido.)
STOP.
Passo: 11 Set k = k + 1; μ0 = μ1; μ1 = μ.
Actualmente não é necessário que a matriz tenha valores próprios distintos para o método das
potências convergir. Se a matriz tem um único valor próprio dominante λ1, com multiplicidade
r maior que 1 e v (1) , v ( 2 ) , L , v ( r ) são vectores próprios linearmente independentes associados a

λ1, o procedimento vai ainda convergir para λ1. A sequência de vectores {x ( m ) }m =0 neste caso

irá convergir para um vector próprio de λ1, com norma l∞ igual a um, que depende da escolha
do vector inicial x(0) e é uma combinação linear de v (1) , v ( 2 ) , L , v ( r ) .

96
⎡− 4 14 0⎤
Exemplo 1: A matriz A = ⎢⎢ − 5 13 0⎥⎥ tem os valores próprios λ1 = 6 , λ 2 = 3 e λ3 = 2 .
⎢⎣ − 1 0 2⎥⎦

Assim, o método de potências descrito no algoritmo 5.1 vai convergir. Seja x ( 0 ) = (1,1,1) t .

Então, y (1) = Ax ( 0 ) = (10,8,1) t . Assim, y (1)



= 10 , μ (1) = y1(1) = 10 e

y (1)
x (1) = = (1, 0.8, 0.1) t . Continuando com este processo cria-se a tabela seguinte
10

Tabela 5.1

m (x )
(m) t μ (m ) μˆ ( m )

0 (1, 1, 1)
1 (1, 0.8, 0.1) 10 6.266667
2 (1, 0.75, –0.111) 7.2 6.062473
3 (1, 0.730769, –0.188803) 6.5 6.015054
4 (1, 0.722200, –0.220850) 6.230769 6.004202
5 (1, 0.718182, –0.235915) 6.111000 6.000855
6 (1, 0.716216, –0.243095) 6.054546 6.000240
7 (1, 0.715247, –0.246588) 6.027027 6.000058
8 (1, 0.714765, –0.248306) 6.013453 6.000017
9 (1, 0.714525, –0.249157) 6.006711 6.000003
10 (1, 0.714405, –0.249579) 6.003352 6.000000
11 (1, 0.714346, –0.249790) 6.001675
12 (1, 0.714316, –0.249895) 6.000837

Quando A é simétrica, a variação na escolha dos vectores x(m), y(m) e dos escalares μ(m) pode

ser feita para melhorar de forma significativa a taxa de convergência da sequência {μ ( m ) }m =1


para o valor próprio dominante λ1. De facto, embora a taxa de convergência do método das
⎛λ m

potências seja O ⎜ 2 ⎟ , a taxa de convergência do procedimento modificado dado no
⎜ λ1 ⎟
⎝ ⎠
⎛λ 2m

algoritmo 5.2 para matrizes simétricas é O ⎜ 2 ⎟.
⎜ λ1 ⎟
⎝ ⎠

97
Algoritmo 5.2 (O Método das potências simétricas)

Para aproximar o valor próprio dominante e um vector próprio associado da matriz simétrica A
de tipo n×n, dado um vector não nulo aproximação inicial x:

INPUT A dimensão n; a matriz A; o vector x; tolerância TOL; (máximo número de iterações


N0).
OUTPUT Valor próprio aproximado μ; vector próprio aproximado x (com x 2
= 1 ) ou uma
mensagem em como o número máximo de iterações foi excedido.
x
Passo 1 Set k = 1; x = .
x2

Passo 2 While (k < N0) do Passos 3 – 8.


Passo 3 Set y = Ax.
Passo 4 Set μ = xty.
Passo 5 If y 2
= 0 then
OUTPUT (‘Vector próprio’, x);
OUTPUT (‘A tem o valor próprio 0, escolha um novo vector x recomece’);
STOP.

y y
Passo 6 Set ERR = x − ; x= .
y2 y2
2

Passo 7 If ERR < TOL then OUTPUT (μ, x); (O procedimento foi bem sucedido.)
STOP.
Passo 8 Set k = k + 1.
Passo 9 OUTPUT (‘O maior número de iterações foi excedido’);
(O procedimento foi bem sucedido.)
STOP.

⎡− 4 − 1 1 ⎤
Exemplo 2: A matriz A = ⎢⎢ − 1 3 − 2⎥⎥ é simétrica, com os valores próprios λ1 = 6 ,
⎢⎣ 1 − 2 3 ⎥⎦

λ 2 = 3 e λ 3 = 1 . A tabela 5.2 lista os resultados do método das potências e a tabela 5.3 os


resultados do método simétrico das potências, assumindo-se em cada caso que

98
y ( 0 ) = x ( 0 ) = (1,0,0) t . Note-se o melhoramento significativo que o método simétrico de
potências fornece. As aproximações dos valores próprios feitas através do método das
potências convergem para (1, − 1, 1) t , um vector com (1, − 1, 1) t = 1 . No método simétrico de

t
⎛ 3 3 3⎞
potências a convergência é para o vector paralelo ⎜ , − , ⎟ , com
⎜ 3 3 3 ⎟
⎝ ⎠
t
⎛ 3 3 3⎞
⎜ ⎟
⎜ 3 ,− 3 , 3 ⎟ = 1.
⎝ ⎠ 2

Tabela 5.2

(x )
(m) t
com (x ( m ) )
t
=1
(y )

m (m) t μ (m )
μˆ (m)

0 (1,0,0)
1 (4, -1, 1) 4 (1,-0.25, 0.25)
2 (4.5, -2.25, 2.25) 4.5 7 (1, -0.5, 0.5)
3 (5, -3.5, 3.5) 5 6.2 (1, -0.7, 0.7)
4 (5.4, -4.5, 4.5) 5.4 6.047617 (1, -0.833333, 0.833333)
5 (5.666667, -5.166667, 5.166667) 5.666667 6.011767 (1, -0.911765, 0.911765)
6 (5.823529, -5.558824, 5.558824) 5.823529 6.002931 (1, -0.954545, 0.954545)
7 (5.909091, -5.772727, 5.772727) 5.909091 6.000733 (1, -0.976923, 0.976923)
8 (5.953846, -5.884615, 5.884615) 5.953846 6.000184 (1, -0.988372, 0.988372)
9 (5.976744, -5.941861, 5.941861) 5.976744 (1, -0.994163, 0.994163)
10 (5.988827, -5.970817, 5.970817) 5.988327 (1, -0.997076, 0.997076)

Tabela 5.2

(x ) (m) t
com (x ( m ) )
t
=1
(y )

m (m) t μ (m )
μˆ (m)

0 (1,0,0) (1,0,0)
1 (4, -1, 1) 4 7 (0.942809, -0.235702, 0.235702)
2 (4.242641, -2.121320, 2.121320) 5 6.047619 (0.816497, -0.408248, 0.408248)
3 (4.082483, -2.857738, 2.857738) 5.666667 6.002932 (0.710669, -0.497468, 0.497468)
4 (3.837613, -3.198011, 3.198011) 5.909091 6.000183 (0.646997, -0.539164, 0.539164)

99
5 (3.666314, -3.342816, 3.342816) 5.976744 6.000012 (0.612836, -0.558763, 0.558763)
6 (3.568871, -3.406650, 3.406650) 5.994152 6.000000 (0.595247, -0.568190, 0.568190)
7 (3.517370, -3.436200, 3.436200) 5.998536 6.000000 (0.586336, -0.572805, 0.572805)
8 (3.490952, -3.450359, 3.450359) 5.999634 6.000000 (0.581852, -0.575086, 0.575086)
9 (3.477580, -3.457283, 3.457283) 5.999908 6.000000 (0.579603, -0.576220, 0.576220)
10 (3.470854, -3.460706, 3.460706) 5.999977 6.000000 (0.578477, -0.576786, 0.576786)
Teor. 5.14: Se A é uma matriz simétrica do tipo n×n com valores próprios λ1 , λ 2 , L , λ n e

Ax − λx 2
<ε para algum número real λ e algum vector x com x 2
= 1 , então

min λ j − λ < ε .
1≤ j ≤ n

O método inverso das potências é uma modificação do método das potências que produz
uma convergência ainda mais rápida. É usado para determinar o valor próprio de A que está
mais próximo de um número específico q.

Suponhamos que a matriz A tem valores próprios λ1 , λ 2 , L , λ n com vectores próprios

linearmente independentes v (1) , v ( 2 ) , L , v ( n ) . Os valores próprios de ( A − qI ) −1 , onde q ≠ λ i ,

1 1 1
para i = 1, 2, ... n, são , , ... , , com vectores próprios v (1) , v ( 2 ) , L , v ( n ) .
λ1 − q λ 2 − q λn − q

Aplicando o método das potências a ( A − qI ) −1 dá:

y ( m ) = ( A − qI ) −1 x ( m −1) ,

m
1
y ( m) ∑ (λ
j =1 − q) m
β j v (pmj )−1
μ ( m ) = y (pm ) = =
p m −1 j
m −1 ( m −1) m
(5.3)
1

x p m −1
β j v (pmj )−1
j =1 ( λ j − q ) m −1

y (m)
e x (m)
= (m) ,
y pm

100
onde em cada passo pm representa o menor número inteiro para o qual y (pmm ) = y ( m ) . A

sequência {μ }
(m )
na fórmula 5.3 converge para
1
, onde
1
= max
1
λ k − q 1≤i ≤ n λ i − q
e
λk − q
1
λk ≈ q + é o valor próprio de A mais próximo de q.
μ (m)

Quando k é conhecido a equação 5.3 pode ser escrita como


m
n⎛λ −q⎞
βkv (k )
+ ∑⎜ k ⎟ β j v (p j )
p m −1 ⎜ ⎟
j =1 ⎝ λ j − q ⎠
m −1

1 j≠k
μ ( m) = ⋅ . (5.4)
λk − q n ⎛ λk − q ⎞
m −1

β k v (pk ) + ∑ ⎜ ⎟ β j v (p j )
m −1 ⎜ ⎟
j =1 ⎝ λ j − q ⎠
m −1

j≠k

1
Assim, a escolha de q determina a convergência , desde que seja um único valor
λk − q

próprio dominante de ( A − qI ) −1 . Quanto mais próximo q estiver de um valor próprio λk, mais

⎛ (λ − q ) −1 m
⎞ ⎛ ⎞
⎟ = O⎜ λ k − q
m

rápida será a convergência, uma vez que esta é da ordem O⎜ ⎟,


⎜ (λ − q ) −1 ⎟ ⎜ λ −q ⎟
⎝ k ⎠ ⎝ ⎠

onde λ representa o segundo valor próprio de A que está mais próximo de q. O vector y (m ) é

obtido a partir da equação ( A − qI ) y ( m ) = x ( m −1) .

Em geral, o método de eliminação de Gauss com a estratégia de pivotização podem ser usados
para resolver este sistema.

Embora o método inverso de potências requeira a resolução de um sistema de equações do


tipo n×n em cada passo, os multiplicadores podem ser guardados para reduzir o volume de
cálculos. A escolha de q pode ser baseada no teorema do círculo de Gerschgorin ou num outro
meio de localização de um valor próprio.

101
O algoritmo 5.3 calcula q a partir de uma aproximação inicial do vector próprio x ( 0 ) através
x ( 0 )t Ax ( 0 )
de q = . A escolha de q resulta da observação de que se x é um vector próprio de A
x (0)t x (0)
x t Ax x t Ax
com respeito ao valor próprio λ, então Ax = λx. Assim, x t Ax = λx t x e λ = = .
xt x x 2
2

Se q está perto de um valor próprio, a convergência será bem rápida, mas a técnica de
pivotização pode ser usada no passo 6 para evitar a influência de erros de aproximação.

Algoritmo 5.3 (O Método inverso das potências)

Para aproximar o valor próprio dominante e um vector próprio associado da matriz simétrica A
de tipo n×n, dado um vector não nulo aproximação inicial x:

INPUT A dimensão n; a matriz A; o vector x; tolerância TOL; máximo número de iterações


N0.
OUTPUT Valor próprio aproximado μ; vector próprio aproximado x (com x ∞
= 1 ) ou uma
mensagem em como o número máximo de iterações foi excedido.
x t Ax
Passo 1 Set q = .
xt x
Passo 2 Set k = 1.
Passo 3 Find the smallest integer p with 1 ≤ p ≤ n and x p = x ∞
.

x
Passo 4 Set x = .
xp
Passo 5 While (k < N0) do Passos 6 – 12.
Passo 6 Solve system ( A − qI ) y = x .
Passo 7 If the system does not have a unique solution, then
OUTPUT (‘q é um valor próprio ’, q);
STOP.
OUTPUT (‘A tem o valor próprio 0, escolha um novo vector x recomece ’);
Passo 8 Set μ = y p .

Passo 9 Find the smallest integer p with 1 ≤ p ≤ n and y p = y ∞


.

102
y
Passo 10 Set ERR = x − ;
yp

y
x= .
y2

1
Passo 11 If ERR < TOL then set μ = +q;
μ
OUTPUT (μ,x); (O procedimento foi bem
sucedido.)
STOP.
Passo 12 Set k = k + 1.
Passo 13 OUTPUT (‘O maior número de iterações foi excedido’);
(O procedimento foi bem sucedido.)
STOP.

Uma vez que a convergência do método inverso de potências é linear, o procedimento Δ2 de


Aitken pode ser usado de novo para acelerar a convergência. O exemplo seguinte ilustra a
rapidez da convergência do método inverso de potências, se q está próximo de um valor
próprio.

⎡− 4 14 0⎤
Exemplo 3: A matriz A = ⎢⎢ − 5 13 0⎥⎥ foi considerada no exemplo 1. O algoritmo 5.1 deu a
⎣⎢ − 1 0 2⎥⎦
aproximação μ (12 ) = 6.000837 usando x ( 0) = ( 1, 1, 1 ) t . Com x ( 0) = ( 1, 1, 1 ) t temos

x ( 0 ) t Ax ( 0 ) 19
q = ( 0)t ( 0) = = 6.333333 . Os resultados da aplicação do algoritmo 5.3 são apresentados
x x 3
na tabela 5.4 e a coluna direita apresenta os resultados método de Δ2 de Aitken aplicado a
μ (m ) .

Tabela 5.4

m (x )(m) t μ (m ) μˆ ( m )

0 (1, 1, 1)
1 (1, 0.720727, -0.194042) 6.183183 6.000116

103
2 (1, 0.715518, –0.245052) 6.017244 6.000004
3 (1, 0.714409, –0.249522) 6.001719 6.000004
4 (1, 0.714298, –0.249953) 6.000175 6.000003
5 (1, 0.714287, –0.250000) 6.000021
6 (1, 0.714286, –0.249999) 6.000005
Se A é simétrica, então para qualquer número real q, ( A − qI ) −1 é também simétrica. Assim, o

método simétrico de potências, algoritmo 5.2 pode ser aplicado a ( A − qI ) −1 para acelerar a

⎛ λ −q 2m

convergência para O⎜ k ⎟.
⎜ λ −q ⎟
⎝ ⎠

Há muitas técnicas para se obter aproximações para outros valores próprios de uma matriz,
uma vez calculada uma aproximação do valor próprio dominante. Neste programa vamo-nos
restringir às técnicas de deflação, que envolvem a formação duma nova matriz B cujos
valores próprios são os mesmos de A, com excepção do valor dominante de A que deve ser
substituído pelo valor 0 em B.

Teor. 5.15: Suponhamos que λ1 , λ 2 , K , λ n são valores próprios de A com os vectores

próprios v (1) , v ( 2) , K , v ( n ) e que λ1 tenha multiplicidade 1. Seja x um vector com x t v (1) = 1 .

Então a matriz B = A − λ1 v (1) x t tem os valores próprios 0, λ 2 , λ 3 , K , λ n com os vectores

próprios associados v (1) , w ( 2 ) , w ( 3) , K , w ( n ) , onde v (i ) e w (i ) estão relacionados através da


equação

v ( i ) = (λ i − λ1 ) w ( i ) + λ1 x t w (i ) v (1) , (5.5)

para cada i = 2, 3, ..., n.

Há muitas escolhas do vector x que podem ser feitas no teorema 5.15. A deflação de
Wielandt resulta da definição de x como

1
x= ( a i1 , a i 2 , K , a in ) t , (5.6)
λ1 v i
(1)

onde v i(1) é uma coordenada do vector próprio v (1) , diferente de zero, e os valores

a i1 , a i 2 , K , a in são os componentes da linha i de A. Com esta definição,

104
n
x t v (1) =
1
[a i1 , a i 2 , K , a in ](v1(1) , v 2(1) , K , v n(1) ) t = 1 (1) ∑a v (j1) , (5.6)
λ1 v i λ1 v i
(1) ij
j =1

onde a soma é a i-ésima coordenada do produto Av (1) . Uma vez que Av (1) = λ1 v (1) , onde
n
1
∑a
j =1
ij v (j1) = λ1vi(1) , implicando isso que x t v (1) =
λ1v i
(1)
(λ1 v i(1) ) = 1 .

Assim, x satisfaz a hipótese do teorema 5.15.

Se λ ≠ 0 é um valor próprio com um vector próprio associado w, a relação Bw = λw implica


que a i-ésima coordenada de w deve ser zero. Consequentemente a i-ésima coluna da matriz B
não contribui no produto Bw = λw. Assim, a matriz B pode ser substituída por uma matriz B’
do tipo (n – 1) × (n – 1) obtida através da eliminação das i-ésimas linha e coluna na matriz B.
A matriz B’ tem os valores próprios λ 2 , λ 3 , K , λ n . Se λ 2 > λ3 , o método das potências é

novamente aplicado com a matriz B’ para determinar este novo valor próprio dominante e um
vector próprio, w(2), associado com λ2, da matriz B’. Para encontrar o vector próprio associado
' '
w(2) da matriz B, insere-se uma coordenada com valor zero entre as coordenadas wi(−21) e wi( 2 )
'
do vector w ( 2 ) (n – 1)-dimensional e depois calcula-se v(2) através da equação (5.5).

⎡ 4 −1 1 ⎤
Exemplo 3: Do exemplo 2 sabemos que a matriz A = ⎢⎢− 1 3 − 2⎥⎥ tem os valores próprios
⎢⎣ 1 − 2 3 ⎥⎦

λ1 = 6 , λ 2 = 3 e λ 3 = 1 . Assumindo que o valor próprio dominante λ1 = 6 e o vector próprio

unitário associado v (1) = (1, − 1, 1) t já foram calculados, o procedimento acabado de explanar


para se obter λ2 usa-se da seguinte maneira:

⎡4⎤ t ⎡1⎤ ⎡ 23 − 16 1
6 ⎤
1 ⎢ ⎥ ⎛2 1 1⎞ ⎡2 1⎤ ⎢ 2 ⎥
v x = ⎢⎢− 1⎥⎥ ⎢ , − ,
1
x = ⎢− 1⎥ = ⎜ , − , ⎟ → (1) t
= − 1
− ⎥ 1

6 ⎝3 6 6⎠ ⎣3 6 6 ⎥⎦ ⎢ 2 3 6 6

⎣⎢ 1 ⎦⎥ ⎣⎢ 1 ⎦⎥ ⎢⎣ 3 − 16 1 ⎥
6 ⎦

⎡ 4 − 1 1 ⎤ ⎡ 23 − 16 1
6 ⎤ ⎡0 0 0⎤
⎢ ⎥ ⎢
B = A − λ1 v (1) x t = ⎢⎢− 1 1 − 2⎥⎥ − 6⎢− 23 1
6
− ⎥=⎢ 3
1
6
2 − 1⎥⎥ .
⎢⎣ 1 − 1 3 ⎥⎦ ⎢⎣ 23 − 16 1 ⎥
6 ⎦
⎢⎣− 3 − 1 2 ⎥⎦

105
⎡ 2 − 1⎤
Eliminando as primeiras linha e coluna obtém-se B ′ = ⎢ ⎥ , que tem os valores próprios
⎣− 1 2 ⎦

λ 2 = 3 e λ 3 = 1 . Para λ 2 = 3 o vector próprio w ( 2 ) pode se obtido resolvendo-se o sistema de


'

' '
equações (B – 3I) w ( 2 ) = O, do qual resulta w ( 2 ) = (1, -1)t. Adicionando 0 como o primeiro
componente tem-se w(2) = (0, 1, -1)t e, da equação (5.5) temos o vector próprio v(2) de A,
correspondente a x 2 = 3 :

⎡⎛ 2 1 1 ⎞ ⎤
v ( 2 ) = (3 − 6)(0, 1, − 1) t + 6⎢⎜ , − , ⎟(0, 1, − 1) t ⎥ (0, 1, − 1) t = (−2, − 1, 1) t .
⎣⎝ 3 6 6 ⎠ ⎦

Embora este processo de deflação possa ser usado para encontrar aproximações para todos os
valores próprios de uma matriz, o processo é vulnerável a erros de aproximação. Depois da do
uso da deflação para aproximar um valor próprio de uma matriz, a aproximação deve ser usada
como inicial para o método inverso de potências aplicado à matriz original. Isso assegurará a
convergência para um valor próprio da matriz original, em vez da matriz reduzida, que
provavelmente contém erros. Quando todos os valores próprios de uma matriz são exigidos,
podem ser usadas as técnicas abordadas na secção 5.4, baseadas nas transformações
semelhantes.

Fechamos esta secção com o algoritmo 5.4, que calcula o segundo valor próprio mais
dominante e um vector próprio associado à matriz, uma vez determinados o valor próprio
dominante e o vector próprio associado.

Algoritmo 5.4 (O Método de deflação de Wielandt)

Para aproximar o segundo valor próprio mais dominante e um vector próprio associado da
matriz A de tipo n×n, dada uma aproximação λ do valor próprio dominante, uma aproximação
v do vector próprio correspondente e um vector x ∈ ℜ(n – 1):

INPUT Dimensão n; matriz A; valor próprio aproximado λ com vector próprio v ∈ ℜn ; vector
x ∈ ℜ(n – 1); tolerância TOL (máximo número de iterações N0).
OUTPUT Valor próprio aproximado μ; vector próprio aproximado u ou uma mensagem em
como o método tem falhas.
Passo 1 Seja i o menor número inteiro com 1 ≤ i ≤ n e v i = max v j .
1≤ j ≤ n

106
Passo 2 If i ≠ 1 then
For k = 1, …, i – 1
For j = 1, …, i – 1
vk
Set bkj = a kj − a ij .
vi
Passo 3 If i ≠ 1 and i ≠ n then
For k = 1, …, n – 1
For j = 1, …, i – 1
v k +1
Set bkj = a k +1, j − a ij ;
vi
vj
b jk = a j , k +1 − a i , k +1 .
vi
Passo 4 If i ≠ n then
For k = 1, …, n – 1
For j = 1, …, n – 1
v k +1
Set bkj = a k +1, j +1 − a i , j +1 .
vi
Passo 5 Execute o método das potências para a matriz B’ = (bkj) do tipo (n – 1)×(n – 1), com
x como aproximação inicial.
Passo 6 If the method fails, then OUTPUT (‘O método tem falhas’);
STOP
Else let μ be the approximate eigenvalue and
w’ = ( w1′ , K , w n′ −1 ) t the approximate eigenvector.

Passo 7 If i ≠ 1 then for k = 1, …, i – 1 set wk = w′k .


Passo 8 Set wi = 0 .
Passo 9 If i ≠ n then for k = i + 1, …, n set wk = w′k −1 .

Passo 10 For k = 1, …, n
⎛ n ⎞v
Set ( μ − λ ) w + ⎜ ∑ a ij w j ⎟ k .
k ⎜ ⎟v
⎝ j =1 ⎠ i
Passo 11 OUTPUT (μ,u); (O procedimento foi bem sucedido.)
STOP.

107
Exercícios (5.2)
1. Ache as três primeiras iterações obtidas pelo método de potências, aplicado às seguintes
matrizes:

⎡2 1 1 ⎤ ⎡1 1 1⎤ ⎡ 1 −1 0 ⎤
a) ⎢1 2 1 ⎥ b) ⎢1 1 0⎥ c) ⎢− 2 4 − 2⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣1 1 2⎥⎦ ⎢⎣1 0 1⎥⎦ ⎢⎣ 0 − 1 2 ⎥⎦

Use x ( 0 ) = (1, − 1, 2) t . Use x ( 0 ) = (−1, 0, 1) t . Use x ( 0 ) = (−1, 2, 1) t .

⎡4 1 1 1⎤ ⎡ 5 − 2 − 12 32 ⎤ ⎡− 4 0 12 12 ⎤
⎢1 3 − 1 1⎥⎥ ⎢ ⎥ ⎢ 1 1⎥
⎢− 2 5 − 12 ⎥ ⎢ 2 − 2 0 2⎥
3
d) ⎢ e) 2
f)
⎢1 − 1 2 0⎥ ⎢− 12 32 5 − 2⎥ ⎢ 12 1
0 0⎥
⎢ ⎥ ⎢ 3 ⎥ ⎢
2

⎣1 1 0 2⎦ ⎣ 2 − 2 −2 5 ⎦
1
⎣0 1 1 4⎦

Use x ( 0 ) = (1, − 2, 0, 3) t . Use x ( 0 ) = (1, 1, 0, − 3) t . Use x ( 0 ) = (0, 0, 0, 1) t .

2. Repita o exercício 1 usando o método inverso de potências.

3. Ache as três primeiras iterações obtidas pelo método simétrico de potências, aplicado às
seguintes matrizes:

⎡2 1 1 ⎤ ⎡1 1 1⎤ ⎡ 4.75 2.25 − 0.25⎤


a) ⎢1 2 1 ⎥ b) ⎢1 1 0⎥ c) ⎢ 2.25 4.75 1.25 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣1 1 2⎥⎦ ⎢⎣1 0 1⎥⎦ ⎢⎣− 0.25 1.25 4.75 ⎥⎦

Use x ( 0 ) = (1, − 1, 2) t . Use x ( 0 ) = (−1, 0, 1) t . Use x ( 0 ) = (0, 1, 0) t .

⎡ 4 1 − 1 0⎤ ⎡4 1 1 1⎤ ⎡ 5 − 2 − 12 32 ⎤
⎢ 1 3 − 1 0⎥ ⎢1 3 − 1 1⎥⎥ ⎢ ⎥
⎢− 2 5 − 12 ⎥
3
d) ⎢ ⎥ e) ⎢ f) 2
⎢ − 1 − 1 5 2⎥ ⎢1 − 1 2 0⎥ ⎢− 12 32 5 − 2⎥
⎢ ⎥ ⎢ ⎥ ⎢ 3 ⎥
⎣ 0 0 2 4⎦ ⎣1 1 0 2⎦ ⎣ 2 − 2 −2 5 ⎦
1

Use x ( 0 ) = (0, 1, 0, 0) t . Use x ( 0) = (1, 0, 0, 0) t . Use x ( 0) = (1, 1, 0, − 3) t .

4. Use o método de potências e a deflação de Wielandt para aproximar os dois valores


próprios mais dominantes das matrizes do exercício 1.

108
5. Repita o exercício 4 usando a técnica Δ2 de Aitken e o método de potências para o valor
próprio mais dominante.

6. Use o método simétrico de potências para calcular o maior valor próprio (em valor
absoluto) das matrizes dadas no exercício 3. Itere até alcançar a tolerância de 10–4 ou até o
número de iterações ultrapassar 25.

7. Repita o exercício 5 usando o método inverso de potências.

8. Repita o exercício 6 usando o método inverso de potências.

5.3. O método de Householder

Na secção 5.4 usaremos o método QR para reduzir uma matriz diagonal simétrica numa matriz
idêntica, que é quase diagonal. Os elementos da diagonal de uma matriz reduzida são
aproximações doa valores próprios da matriz dada. Nesta secção apresentamos um método
idealizado por Alton Householder para reduzir uma matriz simétrica arbitrária numa matriz
tridiagonal semelhante. Embora haja uma ligação clara entre os problemas que estamos a
resolver nestas duas secções, o método de Householder tem uma grande aplicação em áreas
diferentes da aproximação de valores próprios.

O método de Householder é usado para achar uma matriz tridiagonal simétrica B que é similar
a uma matriz dada A. O teorema 5.10 implica que A é semelhante a uma matriz diagonal D,
uma vez que uma matriz ortogonal Q existe com a propriedade de que D = Q −1 AQ = Q t AQ .
Porque a matriz Q (e consequentemente D) é geralmente difícil de calcular, o método de
Householder oferece um compromisso. Depois implementado o método de Householder,
método eficientes, tais como o algoritmo QR podem ser usados para aproximações mais
correctas dos valores próprios da matriz tridiagonal simétrica resultante.

Teor. 5.16: Seja w ∈ ℜ n , com w t w = 1 . Então a matriz P = I − 2 ww t do tipo n×n chama-se


transformação de Householder.

Transformações de Householder são usadas para eliminar selectivamente os zeros dos blocos
de entradas em vectores ou colunas de matrizes de uma maneira que extremamente estável
relativamente aos erros de aproximação.

109
Teor. 5.17: Uma transformação de Householder, P = I − 2 ww t é simétrica e ortogonal, assim,
P −1 = P .

Prova: Uma vez que ( ww t ) t = ( w t ) t w t = ww t , tem-se P t = ( I − 2ww t ) t = I − 2ww t = p .

Além disso, uma vez que w t w = 1 , tem-se:

PP t = ( I − 2ww t )( I − 2ww t ) = I − 2ww t − 2ww t + 4ww t ww t = I − 4ww t + 4ww t = I .

Assim, P −1 = P t = P .

O método de Householder começa com a determinação da transformação P(1) com a


propriedade de que A ( 2 ) = P (1) AP (1) tem a (j12) = 0 para todo j = 3, 4, ..., n, (5.7)

e por simetria, a1( 2j ) = 0 .

O vector w = ( w1 , w 2 , K , w n ) t é escolhido de maneira a que wtw = 1, a equação (5.7) é

satisfeita e na matriz A ( 2 ) = P (1) AP (1) = ( I − 2ww t ) A( I − 2ww t ) , tem-se a11( 2 ) = a11 e a (j12) = 0

para todo j = 3, 4, ..., n. Esta escolha impõe n condições às n incógnitas w1 , w2 , K , wn .

Pondo w1 = 0 assegura-se que a11( 2 ) = a11 . O que quer é que P (1) = I − 2 ww t satisfaça

P (1) (a11 , a 21 , a 31 , K , a n1 ) t = ( a11 , α , 0, K , 0) t , onde α será escolhido mais tarde. Para

simplificar a notação, sejam wˆ = ( w 2 , w3 , K , w n ) t ∈ ℜ n −1 , yˆ = ( a 21 , a 31 , K , a n1 ) t ∈ ℜ n −1 , e P̂

a transformação de Householder Pˆ = I n −1 − 2wˆ wˆ t do tipo (n – 1) × (n – 1). Assim, a equação

(5.8) torna-se

⎡ a11 ⎤ ⎡ 1 M 0 L 0 ⎤ ⎡a11 ⎤ ⎡a11 ⎤ ⎡a11 ⎤


⎢a ⎥ ⎢L + L L L⎥⎥ ⎢⎢ L ⎥⎥ ⎢ L ⎥ ⎢ L ⎥
⎢ 21 ⎥ ⎢ ⎢ ⎥ ⎢ ⎥
⎢a 31 ⎥ = ⎢ 0 M ⎥•⎢ ⎥ = ⎢ ⎥ = ⎢ 0 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ˆ ⎥ ⎢ ⎥
⎢ M ⎥ ⎢M M Pˆ ⎥ ⎢ yˆ ⎥ ⎢ Pyˆ ⎥ ⎢ M ⎥
⎢⎣a n1 ⎥⎦ ⎢⎣ 0 M ⎥⎦ ⎢⎣ ⎥⎦ ⎢⎣ ⎥⎦ ⎢⎣ 0 ⎥⎦

com Pˆ yˆ = ( I n −1 − 2wˆ wˆ t ) yˆ = yˆ − 2( wˆ t yˆ ) wˆ = (α , 0, K , 0) t . (5.9)

110
Seja r = wˆ t yˆ . Então, (α , 0, K , 0) t = (a 21 − 2rw 2 , a 31 − 2rw3 , K , a n1 − 2rw n ) t , e todos os wi

podem ser determinados, uma vez conhecidos α e r. Equacionando os componentes obtém-se


α = a 21 − 2rw2 e 0 = a j1 − 2rw j , para cada j = 3, ..., n.

Assim, 2rw2 = a 21 − α (5.10)

e 2rw j = a j1 , para cada j = 3, ..., n. (5.11)

Elevando ambos os lados da igualdade ao quadrado e adicionando obtém-se


n n n
4r 2 ∑ w 2j = (a 21 − α ) 2 + ∑ a 2j1 . Uma vez que wtw = 1 e w1 = 0, tem-se 4r 2 ∑ w 2j = 1 , e
j =2 j =3 j =2

n
4r 2 = ∑ w 2j1 − 2αa 21 + α 2 . (5.12)
j =2

Da fórmula (5.9) e do facto de P ser ortogonal resulta que


n
α 2 = (α , 0, K , 0)(α , 0, K , 0) t = ( Pˆ yˆ ) t Pˆ yˆ = yˆ t Pˆ t Pˆ yˆ = yˆ t yˆ . Assim, α 2 = ∑ a 2j1 , que pode ser
j =2

n
aplicado na equação (9.12), para dar 2r 2 = ∑ w 2j1 − 2αa 21 . Para assegurar que 2r2 = 0 só se
j =2

1
⎛ n ⎞2
a 21 = a 31 = L = a n1 = 0 , escolhe-se α = − sgn(a 21 )⎜⎜ ∑ a 2j1 − αa 21 ⎟⎟ , que implica que
⎝ j =2 ⎠
1
n ⎛ n ⎞ 2
2r 2 = ∑ w 2j1 + | 2αa 21 | ⎜⎜ ∑ a 2j1 ⎟⎟ . Com esta escolha de α e 2r2 resolvem-se equações (5.10) e
j =2 ⎝ j =2 ⎠
a 21 − α a j1
(5.11) para se obter w2 = e wj = , para cada j = 3, ..., n.
2r 2r

111
1 1
⎛ n ⎞2 ⎛1 1 ⎞2
Resumindo a escolha de P (1)
tem-se α = − sgn(a 21 )⎜⎜ ∑ a 2j1 ⎟⎟ , r = ⎜ α 2 − a 21α ⎟ , w1 = 0,
⎝ j =2 ⎠ ⎝2 2 ⎠

a 21 − α a j1
w2 = e wj = para cada j = 3, ..., n. Com esta escolha,
2r 2r
⎡a11( 2 ) a12( 2) 0 L 0 ⎤
⎢ ( 2) ( 2) ( 2) ⎥
⎢a 21 a 22 a 23 L a 2( 2n) ⎥
A ( 2 ) = P (1) AP (1) =⎢ 0 ( 2)
a 32 ( 2)
a 33 L a 3( 2n) ⎥ .
⎢ ⎥
⎢ M M M M ⎥
⎢ 0 ( 2)
a n( 23) ( 2) ⎥
L a nn
⎣ a n2 ⎦

Tendo sido encontrado P (1) e calculado A ( 2) , o processo é repetido para k = 2, 3, ..., n – 2


1 1
⎛ n 2 ⎞
α = − sgn(a k( k+)1, k )⎜⎜ ∑ (a (jkk ) ) ⎟⎟ ,
2
⎛1 1 ⎞2
como se segue: r = ⎜ α 2 − αa k( k+)1, k ⎟ ,
⎝ j = k +1 ⎠ ⎝2 2 ⎠

a k( k+)1, k − α a (jkk )
w (k )
1 =w (k )
2 =K= w (k )
k =0, w (k )
k +1 = , w (k )
j = para cada j = k + 2, k + 3, ..., n,
2r 2r

(
P ( k ) = I − 2W ( k ) ⋅ W ( k ) , )
t
e A ( k +1) = P ( k ) A ( k ) P ( k ) , onde

⎡a11( k +1) a12( k +1) 0 L L L 0 ⎤


⎢ ( k +1) ⎥
⎢a 21 O O O M ⎥
⎢ 0 O O O 0 L 0 ⎥
( k +1) ⎢ ( k +1) ( k +1) ( k +1) ⎥
A =⎢ M O a k +1, k a k +1, k +1 a k +1, k + 2 L a k +1, n ⎥ .
⎢ M 0 a ( k +1)
a ( k +1)
L M ⎥
⎢ k + 2 , k +1 k + 2, k + 2

⎢ M M M O O M ⎥
⎢ 0 ( k +1) ( k +1) ⎥
⎣ L 0 a n , k +1 L L a nn ⎦

Continuando desta maneira é formada a matriz tridiagonal e simétrica A ( n −1) , onde


A ( n −1) = P ( n − 2) P ( n −3) L P (1) AP (1) L P ( n −3) P ( n − 2 ) .

⎡4 1 −2 2 ⎤
⎢1 2 0 1 ⎥⎥
Exemplo 1: A matriz do tipo 4×4, A = ⎢ , é simétrica.
⎢− 2 0 3 − 2⎥
⎢ ⎥
⎣2 1 − 2 − 1⎦

Para a primeira aplicação de uma transformação de Householder, tem-se:

112
1 1
⎛ 4 ⎞2 ⎛1 1 ⎞2 ⎛ 6 6 6⎞
α = −(1)⎜⎜ ∑ a 2j1 ⎟⎟ = −3 , r = ⎜ (−3) 2 − (1)(−3) ⎟ = 6 , W = ⎜⎜ 0, ,− , ⎟,

⎝ j = 2 ⎠ ⎝ 2 2 ⎠ ⎝ 3 6 6 ⎠

⎡1 0 0 0⎤ ⎡0⎤ ⎡1 0 0 0⎤
⎢0 ⎥ 2⎢ ⎥ ⎢0 − 1 − 23 ⎥⎥
1 0 0⎥ ⎛ 6 ⎞ ⎢ 2 ⎥ ⎢
2
P (1) =⎢ − 2⎜⎜ ⎟
⎟ ⋅ ( 0, 2, − 1, 1) = 3 3
,e
⎢0 0 1 0⎥ ⎝ 6 ⎠ ⎢− 1⎥ ⎢ 2
0 3 2 1

⎢ 2 ⎥
3 3
⎢ ⎥ ⎢ ⎥
⎣0 − 3
2 1
⎣0 0 0 1⎦ ⎣1⎦ 3 3 ⎦

⎡ 4 −3 0 0⎤
⎢− 3 10 1 4 ⎥
A ( 2) =⎢ 3 3 ⎥
.
⎢0 1 5
− 43 ⎥
⎢ 2 ⎥
3

⎣ 0 4
3
− 4
3 3 ⎦

t
5 2 5 ⎛ 5⎞
Continuando para a segunda iteração, α =− , r= , W = ⎜⎜ 0, 0, 2 5 , ⎟ ,

3 3 ⎝ 5 ⎠
⎡1 0 0 0⎤ ⎡ 4 −3 0 0⎤
⎢0 1 0 0⎥ ⎥ ⎢− 3 10 − 5 0 ⎥⎥
P ( 2) =⎢ , e a matriz tridiagonal simétrica é A = ⎢
( 3) 3 3
.
⎢0 0 − 53 − 5⎥
4
⎢ 0 − 3 − 25
5 33 68

⎢ 3 ⎥ ⎢ 149 ⎥
75

⎣0 0 − 54 5 ⎦ ⎣0 0 68
75 75 ⎦

O algoritmo 5.5 executa o método de Householder como foi descrito aqui, embora as
multiplicações das matrizes tenham sido adaptadas.

Algoritmo 5.5 (O Método de Household)

Para se obter uma matriz tridiagonal simétrica A ( n −1) semelhante à matriz simétrica A = A (1) ,
( )
desenvolvem-se as seguintes matrizes A ( 2 ) , A ( 3) , K , A ( n −1) , onde A ( k ) = a ij( k ) para cada k = 1,

2, ..., n – 1:

INPUT Dimensão n; matriz A.


OUTPUT A ( n −1) . (Em cada passo A pode ser sobreposto)
Passo 1 For k = 1, 2, ..., n – 2 do Passos 2-14.

∑ (a )
n
(k ) 2
Passo 2 Set q = jk .
j = k +1

Passo 3 If a k( k+)1, k = 0 then set α = − q

113
a k( k+)1, k q
else set α = − .
a k( k+)1, k

Passo 4 Set RSQ = α 2 − αa k( k+)1, k . (Nota: RSQ = 2r 2 )

Passo 5 Set v k = 0 ; (Nota: v1 = K = v k −1 = 0 , mas não são necessários)

v k +1 = a k( k+)1, k − α ;

⎛ 1 ⎞
For j = k + 2, …, n set v (kjk ) . (Nota: W = ⎜ ⎟V = 1 V .)
⎜ 2 RSQ ⎟ 2r
⎝ ⎠
n
1
Passo 6 For j = k, k+1, …, n set u j = ∑
RSQ i = k +1
a (jik ) v i .

1 1 1
(Nota: U = A ( k )V = 2 A ( k ) V = A ( k )W )
RSQ 2r r
n
1
Passo 7 Set PROD = ∑v u
i = k +1
i i . (Nota: PROD = V t U =
2r 2
V t A ( k )V )

PROD
Passo 8 For j = k, k+1, ..., n set z j = u j − vj.
2 RSQ
1 1 1 1
(Nota: Z = U − V t UV = U − 2 V t UV = U − WW t U = A ( k )W − WW t A ( k )W )
2 RSQ 4r r r

Passo 9 For l = k + 1, …, n – 1 do Passos 10-11.


(Nota: Calcule A ( k +1) = A ( k ) − VZ t − ZV t = I − 2WW t A ( k ) I − 2WW t ) ( ) ( )
( k +1) ( k +1)
Passo 10 For j = l + 1, …, n set a jl =a (k )
jl − vl z j − v j z l ; a lj = a (jlk +1) .

Passo 11 Set a ll( k +1) = a ll( k ) − 2v l z l .


( k +1)
Passo 12 Set a nn = a nn
(k )
− 2v n z n .

Passo 13 For j = k + 2, ..., n set a kj( k +1) = a (jkk +1) = 0 .

Passo 14 Set a k( k++1,1k) = a k( k+)1, k − v k +1 z k ; a k( k, k++11) = a k( k++1,1k) .

(Nota: Os outros elementos de A ( k +1) são os mesmos de A (k ) )


Passo 15 OUTPUT ( A ( n −1) );
(O procedimento está completo. A ( n −1) é simétrica, tridiagonal e semelhante a A.)
STOP.

114
Para aplicar o algoritmo de Householder a uma matriz arbitrária do tipo n×n, as seguintes
modificações devem ser feitas para colmatar a possível falta de simetria.
n n
1 1
Passo 6 For j = k, k+1, …, n set u j = ∑
RSQ i = k +1
a (k )
ji v i ; y j = ∑
RSQ i = k +1
a ij( k ) v i

PROD
Passo 8 For j = k, k+1, ..., n set z j = u j − vj.
RSQ
Passo 9 For l = k + 1, …, n – 1 do Passos 10-11.
Passo 10 For j = 1, …, k set a (jlk +1) = a (jlk ) − z j vl ; a lj( k +1) = a lj( k ) − y j vl .
Passo 11 For j = k + 1, …, n set a (jlk +1) = a (jlk ) − z j v l − y l v j .

Depois da modificação destes passos, eliminam-se os passos 12 a 14 e extrai-se A ( n −1) .

A matriz resultante não será tridiagonal, a não ser que a matriz original A seja simétrica.
Porém, todos os elementos abaixo da sub diagonal inferior serão iguais a zero. Uma matriz
deste tipo é chamada Hessenberg superior. Isto é, H = ( hij ) é Hessenberg superior se hij = 0

para todos i ≥ j + 2.

Na secção seguinte vamos examinar como o algoritmo QR pode ser aplicado para determinar
os valores próprios de A ( n −1) , que são os mesmos da matriz original A.

Exercícios (5.3)
1. Use o método de Householder para por as seguintes matrizes na forma tridiagonal.

⎡12 10 4 ⎤ ⎡ 2 − 1 − 1⎤ ⎡1 1 1⎤ ⎡ 4.75 2.25 − 0.25⎤


a) ⎢⎢10 8 − 5⎥⎥ b) ⎢⎢− 1 2 − 1⎥⎥ c) ⎢⎢1 1 0⎥⎥ d) ⎢⎢ 2.25 4.75 1.25 ⎥⎥
⎢⎣ 4 − 5 3 ⎥⎦ ⎢⎣− 1 − 1 2 ⎥⎦ ⎢⎣1 0 1⎥⎦ ⎢⎣− 0.25 1.25 4.75 ⎥⎦

⎡ 4 −1 −1 0 ⎤ ⎡ 5 − 2 − 0.5 1.5 ⎤
⎢− 1 4 0 − 1⎥ ⎢ −2 5 1.5 − 0.5⎥⎥
e) ⎢ ⎥ f) ⎢
⎢− 1 0 4 − 1⎥ ⎢− 0.5 1.5 5 −2 ⎥
⎢ ⎥ ⎢ ⎥
⎣ 0 −1 −1 4 ⎦ ⎣ 1.5 − 0.5 − 2 5 ⎦

115
⎡ 2 −1 −1 0 0⎤ ⎡ 8 0.25 0.5 2 −1 ⎤
⎢− 1 3 0 −2 0⎥⎥ ⎢0.25 − 4 0 1 2 ⎥⎥
⎢ ⎢
g) ⎢− 1 0 4 2 1⎥ h) ⎢ 0.5 0 5 0.75 − 1 ⎥
⎢ ⎥ ⎢ ⎥
⎢ 0 −2 2 8 3⎥ ⎢ 2 1 0.75 5 − 0.5⎥
⎢⎣ 0 0 1 3 9⎥⎦ ⎢⎣ − 1 2 − 1 − 0.5 6 ⎥⎦

2. Modifique o algoritmo 5.5 de Householder para calcular matrizes semelhantes Hessenberg


superior para as seguintes matrizes não simétricas.

⎡ 2 − 1 3⎤ ⎡− 1 2 3 ⎤
a) ⎢⎢ 2 0 1⎥⎥ b) ⎢⎢ 2 3 − 2⎥⎥
⎢⎣− 2 1 4⎥⎦ ⎢⎣ 3 1 − 1⎥⎦

⎡ 5 −2 −3 4 ⎤ ⎡ 4 − 1 − 1 − 1⎤
⎢0 4 2 − 1⎥⎥ ⎢− 1 4 0 − 1⎥
c) ⎢ d) ⎢ ⎥
⎢1 3 −5 2 ⎥ ⎢− 1 − 1 4 − 1⎥
⎢ ⎥ ⎢ ⎥
⎣− 1 4 0 3⎦ ⎣− 1 − 1 − 1 4 ⎦

5.4. O algoritmo QR

Os métodos de deflação discutidos na secção 5.2 geralmente não são apropriados para o
cálculo de valores próprios de uma matriz por causa do crescimento do erro de aproximação.
Nesta secção vamos estudar o algoritmo QR, uma técnica de redução de uma matriz usada
para, em simultâneo, determinar todos os valores próprios de uma matriz simétrica.

Para aplicar o método QR começamos com uma matriz simétrica na forma tridiagonal, isto é,
cujos únicos elementos diferentes de zero estão ou na diagonal principal da matriz, ou nas sub
diagonais imediatamente acima ou abaixo dela. Se esta não é a forma da matriz simétrica, o
primeiro passo é aplicar o método de Householder para calcular uma matriz simétrica e
tridiagonal semelhante à matriz dada.

Para efeitos de cálculos subsequentes desta secção assumimos que são tridiagonais as matrizes
simétricas cujos valores próprios devem ser calculados. Se A é uma matriz desse tipo

116
podemos simplificar a notação de alguma maneira etiquetando os elementos de A da seguinte
maneira:

⎡ a1 b2 0 L 0⎤
⎢b a 2 b3 O M ⎥⎥
⎢ 2
A=⎢0 b3 a 3 O 0⎥ (5.13)
⎢ ⎥
⎢M O O O bn ⎥
⎢⎣ 0 L 0 bn a n ⎥⎦

Se b2 = 0 ou bn = 0 a matriz [a1 ] ou [a n ] do tipo 1×1 produz imediatamente um valor

próprio a1 ou an de A.

Se b j = 0 para algum j, onde 2 < j < n, o problema pode ser reduzido para se considerar,

⎡ a1 b2 0 L 0 ⎤ ⎡ aj b j +1 0 L 0⎤
⎢b M ⎥⎥ ⎢b j +1
⎢ 2 a 2 b3 O
⎢ a j +1 b j+2 O M ⎥⎥
em lugar da A, matrizes menores ⎢ 0 b3 a 3 O 0 ⎥ e ⎢ 0 b j+2 a j+2 O 0 ⎥.
⎢ ⎥ ⎢ ⎥
⎢M O O O b j −1 ⎥ ⎢ M O O O bn ⎥
⎢0 L 0 b j −1 a j −1 ⎥⎦ ⎢⎣ 0 L bn a n ⎥⎦
⎣ 0

(5.14)

Se nenhum bj é igual a zero, aplica-se o método QR através da formação da sequência de


matrizes A = A (1) , A ( 2) , A ( 3) , K da seguinte maneira:

1. A (1) = A é factorizado como um produto A (1) = Q (1) R (1) , onde Q (1) é ortogonal e

R (1) é triangular superior.

2. A ( 2) é definido como A ( 2 ) = R (1) Q (1) .

Em geral, A (i ) é factorizado como um produto A ( i ) = Q ( i ) R ( i ) de uma matriz ortogonal

Q (i ) e uma matriz triangular superior R (i ) . A matriz A (i +1) é definida como um produto de

R (i ) e Q (i ) na direcção inversa A ( i +1) = R ( i ) Q ( i ) . Uma vez que Q (i ) é ortogonal,

[ ] t
R (i ) = Q (i ) A (i ) e

[( )t
] ( ) t
A ( i +1) = R ( i ) Q ( i ) = Q ( i ) A ( i ) Q ( i ) = Q ( i ) A ( i ) Q ( i ) . (5.15)

117
Assim, A (i +1) é simétrica com os mesmos valores próprios de A (i ) . Pela maneira como
definimos R (i ) e Q (i ) , também asseguramos que A (i +1) seja tridiagonal.

Continuando por indução, A (i +1) tem os mesmos valores próprios da matriz original A, e
A (i +1) tende a ser uma matriz diagonal com os valores próprios de A na diagonal.

Para descrever a construção das matrizes factores Q (i ) e R (i ) , precisamos da noção de


matriz de rotação.

Def. 5.18 Uma matriz de rotação P difere da matriz identidade num máximo de quatro
elementos. Estes quatro elementos são da forma Pii = Pjj = cos θ e Pij = − Pji = sin θ , para

algum θ e algum i ≠ j.

É fácil mostrar (vide exercício 6) que, para qualquer matriz de rotação P, a matriz AP
difere da A só nas colunas i e j e a matriz PA difere da A só nas linhas i e j. Para qualquer i ≠ j,
o ângulo θ pode ser escolhido de tal forma que o produto PA tem um elemento nulo em
(PA)ij. Adicionalmente, qualquer matriz de rotação P é ortogonal, uma vez que a definição
implica que PPT = I.

A factorização de A (1) em A (1) = Q (i ) R (i ) usa um produto de uma matriz de rotação do

tipo n–1 para construir R (1) = Pn Pn −1 L P2 A (1) .

Começamos por escolher a matriz de rotação P2 com P11 = P22 = cos θ 2 e


b2 a1
P12 = − P21 = sin θ 2 , onde sin θ 2 = e cos θ 2 = .
b22 + a12 b22 + a12

Então a matriz A2(1) = P2 A (1) tem um zero na posição (2,1), isto é, na segunda linha e

primeira coluna, uma vez que o elemento que se encontra nessa posição em A2(1) é
− b2 a1 a1b2
(− sin θ 2 )a1 + (cos θ 2 )b2 = + = 0.
b +a
2
2
2
1 b +a
2
2
2
1

Uma vez que a multiplicação P2 A (1) afecta as duas primeiras linhas de A (1) a nova
matriz não retém necessariamente elementos nulos nas posições (1,3), (1,4), ..., e (1,n). Porém,

118
A (1) é tridiagonal, assim, os elementos (1,4), ..., (1,n) de A2(1) devem ser nulos. Só o elemento
(1,3) pode ser diferente de zero.

Em geral, a matriz Pk é escolhida de tal maneira que o elemento (k, k–1) de Ak(1) = Pk Ak(1−)1

é zero, donde resulta que o elemento (k–1, k+1) será não nulo. A matriz Ak(1) tem a forma

⎡ z1 q1 r1 0 L L L L 0⎤
⎢0 O O O O M ⎥⎥

⎢0 O O O O O M⎥
⎢ ⎥
⎢M O 0 z k −1 q k −1 rk −1 O M⎥
A (1)
=⎢M O 0 xk yk 0 O M⎥
⎢ ⎥
k

⎢M O bk +1 a k +1 bk + 2 O 0⎥
⎢M O O O O 0⎥
⎢ ⎥
⎢M O O O bn ⎥
⎢0 L L L L L a n ⎥⎦
⎣ 0 bn

⎡ I k −1 | O | ⎤
⎢ − + − − − + − ⎥⎥

⎢ | c k +1 s k +1 | ⎥ ← linha k
⎢ ⎥
e Pk +1 =⎢ O | | O ⎥ (5.16)
⎢ | − s k +1 c k +1 | ⎥
⎢ ⎥
⎢ − + − − − + − ⎥
⎢ | Ln − k −1 ⎥⎦
⎣ | O

coluna k ⎯⎯↑

onde O representa a matriz nula com a dimensão apropriada.

As constantes c k +1 = cos θ k +1 e s k +1 = sin θ k +1 em Pk +1 são escolhidas de tal maneira que

o elemento na posição (k+1, k) em Ak(1+)1 é nulo, isto é s k +1 x k − c k +1bk +1 = 0 . Uma vez que

c k2+1 + s k2+1 = 1 , a solução para a esta equação é

bk +1 xk
s k +1 = e c k +1 = e Ak(1+)1 tem a forma
b 2
k +1 +x 2
k b 2
k +1 +x 2
k

119
⎡ z1 q1 r1 0 L L L L 0⎤
⎢0 O O O O M ⎥⎥

⎢0 O O O O O M⎥
⎢ ⎥
⎢M O 0 zk qk rk O M⎥
A (1)
=⎢M O 0 x k +1 y k +1 0 O M ⎥.
⎢ ⎥
k

⎢M O bk + 2 ak +2 bk + 3 O 0⎥
⎢M O O O O 0⎥
⎢ ⎥
⎢M O O O bn ⎥
⎢0 L L L L L a n ⎥⎦
⎣ 0 bn

Continuando com este procedimento de construção da sequência P2, ..., Pn obtém-se a


matriz triangular superior

⎡ z1 q1 r1 0 L L 0 ⎤
⎢0 O O O O M ⎥⎥

⎢M O O O O O M ⎥
⎢ ⎥
R (1)
≡A (1)
n =⎢M O O O O 0 ⎥.
⎢M O O O rn − 2 ⎥
⎢ ⎥
⎢M O z n −1 q n −1 ⎥
⎢0 L L L L z n ⎥⎦
⎣ 0

A outra metade da factorização de QR é a matriz Q (1) = P2t P3t L Pnt , uma vez que a
ortogonalidade das matrizes de rotação implica que

(
Q (1) R (1) = P2t P3t L Pnt ) ⋅ (P P
t
n n −1 L P3 P2 ) A (1) = A (1) .

A matriz Q (1) é ortogonal uma vez que

(Q ) Q
(1) t (1)
(
= P2t P3t L Pnt ) (P P
t
2
t
3
t
)
L Pnt = ( Pn Pn −1 L P3 P2 ) ⋅ ( P2t P3t L Pnt ) = I .

Adicionalmente, Q (1) é uma matriz de Hessenberg superior. Para verificar porque é que
isso é verdade, pode seguir os passos dos exercícios 7 e 8.

Como consequência, A ( 2 ) = R (1) Q (1) é também uma matriz de Hessenerg superior, uma

vez multiplicando Q (1) à esquerda pela matriz triangular superior R (1) não afecta os elementos

120
do triângulo inferior. Isto implica que A ( 2) é de facto tridiagonal, uma vez que já sabemos que
ela é simétrica.

Os elementos da diagonal de A ( 2) serão geralmente menores, em magnitude, do que os


elementos correspondentes de A (1) , e assim A ( 2) estará mais próximo de ser matriz diagonal
do que A (1) . O processo é repetido para construir A (3) , A ( 4) , ...

Se os valores próprios de A têm módulos distintos λ1 > λ 2 > L > λ n , então a taxa de

convergência do elemento b (j i++11) para 0 na matriz A (i +1) depende da razão λ j +1 / λ j . A taxa de

convergência do elemento b (j i++11) para 0 determina a taxa a que o elemento a (ji +1) converge para

o j-ésimo valor próprio λ j . Assim, a taxa de convergência pode ser lenta se λ j +1 / λ j está

próximo da unidade.

Para acelerar esta convergência, é aplicada uma técnica de mudança semelhante à que foi
usada no método de potência inversa da secção 5.2. É escolhida uma constante s próxima de
um valor próprio de A. Isto modifica a factorização da equação (5.15) para uma escolha de
Q (i ) e R (i ) tais que

A ( i ) − sI = Q ( i ) R (i ) , (5.17)

e, correspondentemente, a matriz A (i +1) é definida como sendo

A ( i +1) = R (i ) Q (i ) + sI . (5.18)

Com esta modificação, a taxa de convergência de b (j i++11) para 0 depende da razão

(λ j +1 − s ) /(λ j − s ) . Isto pode resultar numa melhoria significativa da taxa original de

convergência de a (ji +1) para λ j se s estiver próximo de λ j +1 e não de λ j .

Alteramos s em cada passo de tal maneira quequando A tem valores próprios com
módulos distintos, b n( i +1) converge mais rapidamente para 0 do que b (j i +1) para qualquer j inteiro

menor do que n. Quando b n( i +1) suficientemente pequeno, assumimos que λ n ≈ a n( i +1) ,


eliminamos as linha e coluna n da matriz e procedemos da mesma maneira para encontrar uma

121
aproximação de λ n −1 . O processo continua até se determinar uma aproximação para cada valor
próprio.

Esta técnica de mudança escolhe, no passo i, a constante de mudança si onde si é o valor


⎡a n(i−)1 bn(i ) ⎤
próprio da matriz E (i )
= ⎢ (i ) (i )
⎥ que está o mais próximo possível de a n . Esta mudança
⎣ bn a n(i ) ⎦

traduz os valores próprios de A por um factor si. Com esta técnica de mudança, a convergência
é normalmente cúbica. O método acumula estas mudanças até bn( i +1) ≈ 0 e depois adiciona as

mudanças de a n( i +1) para aproximar o valor prórprio λ n .

Se A tem valores próprios com os mesmos módulos, b (j i +1) pode tender para 0 para

algum j ≠ n a uma maior taxa do que b n( i +1) . Neste caso, a técnica de decomposição da matriz

descrita em (5.14) pode ser utilizada para reduzir o problema ao que envolve um par de
matrizes de ordem reduzida.

⎡ 3 1 0 ⎤ ⎡ a1 0 ⎤
(1)
b2(1)
⎢ ⎥
Exemplo 1: Seja A = ⎢⎢1 3 1⎥⎥ = ⎢b2(1) a (1)
2 b3(1) ⎥ .
⎣⎢0 1 3⎥⎦ ⎢⎣ 0 a 3(1) ⎥⎦
(1)
b 3

Para encontrar o parâmetro de aceleração para a mudança é necessário calcular os


⎡a 2(1) b3(1) ⎤ ⎡3 1⎤
valores próprios de ⎢ (1) ⎥=⎢ ⎥ , que são μ1 = 4 e μ 2 = 2 . A escolha do valor
⎣b3 a 3(1) ⎦ ⎣1 3⎦

próprio mais próximo possível de a 3(1) = 3 é arbitrária. Escolhando-se μ 2 = 2 e usando este

⎡ d1 b2(1) 0 ⎤ ⎡1 1 0⎤
⎢ ⎥
valor como constante de mudança, tem-se s1 = 2 e A − 2 I = ⎢b2(1) d2 b3(1) ⎥ = ⎢⎢1 1 1⎥⎥ .
⎢ 0 b3(1) d 3 ⎥⎦ ⎢⎣0 1 1⎥⎦

2 2
Continuando os cálculos obtém-se x1 = 1 , y1 = 1 , z1 = 2 , , c 2 = , s2 = , q1 = 2 ,
2 2
⎡ 2 2 2 ⎤
⎢ ⎥
2
2 2
x 2 = 0 , r1 = e y2 = , e assim, A2(1) = ⎢ 0 0 2 ⎥ . De seguida, z 2 = 1 , c 3 = 0 ,
2 2 ⎢0
⎣ 1 1 ⎥⎦

122
⎡ 2 2 2 ⎤
⎢ ⎥
2
2
s3 = 1, q 2 = 1 e x3 = − , e assim, R (1) = A3(1) =⎢ 0 1 1 ⎥ . Para calcular A ( 2) , tem-
2 ⎢0
⎣ 0 − 22 ⎥⎦

2 2 2
se z3 = − , a1( 2) = 2 , b2( 2 ) = , a 2( 2 ) = 1 , b3( 2 ) = − e a 3( 2 ) = 0 , e assim,
2 2 2
⎡2 2
0 ⎤
⎢ ⎥
2

A ( 2 ) = R (1) Q (1) = ⎢ 22 1 − 22 ⎥ .
⎢0 − 2
0 ⎥⎦
⎣ 2

2 2
Uma iteração do método QR está completa. Uma vez que nem b2( 2 ) = nem b3( 2 ) = − é
2 2
pequeno, outra iteração do método QR é executada. Para esta iteração, calculam-se os valores

1 3 ⎡a ( 2 ) b3( 2 ) ⎤ ⎡ 1 − 2⎤ 1 3
± da matriz ⎢ 2( 2) ⎥=⎢ ⎥ e escolhe-se s 2 = −
2
próprios , valor
2 2 ⎣ b3 a 3( 2 ) ⎦ ⎢⎣− 22 0 ⎥⎦ 2 2

próprio mais próximo de 0. Completando os cálculos obtém-se


⎡ 2,6720277 0,37597448 0 ⎤
A ( 3) ⎢
= ⎢0,37597448 1,4736080 0,030396964 ⎥⎥ . Se b3( 3) = 0,030396964 é
⎢⎣ 0 0,030396964 − 0,047559530⎥⎦

suficientemente pequeno, então a aproximação ao valor próprio λ 3 é 1,5864151, a soma de

1 3
a 3( 3) e as constantes de mudança s1 + s 2 = 2 + − . Eliminando as linha e coluna 3 obtém-
2 2
⎡ 2,6720277 0,37597448⎤
se ⎢ ⎥ , cujos valores próprios são μ1 = 2,7802140 e μ 2 = 1,3654218 .
⎣0,37597448 1,4736080 ⎦
Adicionando as constantes de mudança obtém-se as aproximações λ1 ≈ 4,4141886 e

λ 2 ≈ 2,9993964 .

Uma vez que os valores próprios actuais da matriz A são 4,41420, 3,00000 e 1,58579, o
método QR criou 4 dígitos significativos de exactidão em apenas duas iterações.

123
O algoritmo 5.6 implementa o método QR.

Algoritmo 5.6 (O Método QR)

Para se obter os valores própiros da matriz simétrica e tridiagonal do tipo n×n


⎡a1(1) b2(1) 0 L 0 ⎤
⎢ (1) (1) ⎥
⎢b 2 a 2 b3(1) O M ⎥
A ≡ A1 = ⎢ 0 b (1)
a (1)
O 0 ⎥:
⎢ ⎥
3 3

⎢ M O O O bn(1) ⎥
⎢ 0 L bn(1) a n(1) ⎥⎦
⎣ 0

INPUT Dimensão n; a1(1) , K , a n(1) , b2(1) , K , bn(1) , Tolerância TOL; máximo número de iterações
M.
OUTPUT Valores próprios de A, o parcelamento recomendável de A, ou uma mensagem em
como o máximo número de iterações foi excedido.
Passo 1 Set k = 1; SHIFT = 0. (mudança acumulada)
Passo 2 While k ≤ M do Passos 3-19.
(Os passos 3-7 testam a satisfação da condição.)
Passo 3 If bn( k ) ≤ TOL then set λ = a n( k ) + SHIFT ; OUTPUT(λ); set n = n – 1.

Passo 4 If b2( k ) ≤ TOL then set λ = a1(k ) + SHIFT; OUTPUT(λ); set n =n −1; a1(k ) = a2(k ) ;

for j = 2, … , n set a (jk ) = a (jk+)1 ; b (j k ) = b (j k+1) .

Passo 5 If n = 0 then STOP.


Passo 6 If n = 1 then set λ = a1( k ) + SHIFT ; OUTPUT(λ); STOP.
Passo 7 For j = 3, … , n – 1
if b (j k ) ≤ TOL then OUTPUT(‘separe’, a1( k ) , K , a (jk−)1 , b2( k ) , K , b (j k−1) , ‘e’,

a (jk ) , K , a n( k ) , b (j k+1) , K , bn( k ) , SHIFT ); STOP.

Passo 8 Set b = −(a n( k−)1 + a n( k ) ); c = a n( k ) a n( k−)a − (bn( k ) ) ; d = b 2 − 4c .


2

(Calcula a constante de mudança)

Passo 9 If b > 0 then set μ1 = −2c /(b + d ) ; μ 2 = −(b + d ) / 2


else set μ1 = (d − b) / 2 ; μ 2 = 2c /(d − b) .
Passo 10 If n = 2 then set λ1 = μ1 + SHIFT ; λ 2 = μ 2 + SHIFT ,
OUTPUT( λ1 , λ 2 ); STOP.

124
{
Passo 11 Escolha s tal que s − a n( k ) = min μ 1 − a n( k ) , μ 2 − a n( k ) . }
Passo 12 Set SHIFT = SHIFT + s. (Acumula a constante de mudança.)
Passo 13 For j = 1, ..., n set d j = a (jk ) − s . (Executa a mudança)

Passo 14 (Passos 14 e 15 calculam R ( k ) ) Set x1 = d1 ; y1 = b2 .

b (j k )
Passo 15 For j = 2, ..., n set z j −1 = x 2
j −1 ( )
+ b (k ) 2
j ; cj =
x j −1
z j −1
; sj =
z j −1
;

q j −1 = c j y j + s j d j ; x j = − s j y j −1 + c j d j ;

if j ≠ n then set r j −1 = s j b (j k+1) ; y j = c j b (j k+1) .

( A (j k ) = Pj A (j k−1) acabaram de ser calculados e R ( k ) = An( k ) .)

Passo 16 (Passos 16 – 18 calculam A ( k +1) ) Set z n = x n ; a1(k +1) = s2 q1 + c2 z1 ; b2(k +1) = s2 z2 .

Passo 17 For j = 2, ..., n – 1 set a (jk +1) = s j +1 q j + c j c j +1 z j ; b (j k+1+1) = s j +1 z j +1 .

Passo 18 Set a n( k +1) = c n z n .


Passo 19 Set k = k + 1.
Passo 20 OUTPUT(‘O número máximo de iterações já foi escedido!’);
STOP.
Um procedimento semelhante pode ser usado para achar aproximações dos valores
próprios de uma matriz não simétrica do tipo n×n. A matriz é primeiramente reduzida a uma
matriz de Hessenberg superior semelhante, H, usando-se o algoritmo de Householder s não
simétricas.

O processo de factorização QR assume a seguinte forma: Primeiro, tem-se:

H = H (1) = Q (1) R (1) . (5.19)

Então H ( 2) é definido como sendo

H ( 2 ) = R (1) Q (1) (5.20)

e facforizado da sehuinte maneira:

H ( 2) = Q ( 2) R ( 2) . (5.21)

125
Exercícios (5.4)
1. Aplique duas iterações do algoritmo QR para as matrizes seguintes.

⎡3 1 0 ⎤ ⎡ 4 −1 0 ⎤ ⎡− 2 1 0 0⎤
⎢ 1 − 3 −1 0⎥⎥
a) ⎢⎢1 4 2⎥⎥ b) ⎢⎢− 1 3 − 1⎥⎥
c) ⎢
⎢⎣0 2 1 ⎥⎦ ⎢⎣ 0 − 1 2 ⎥⎦ ⎢ 0 −1 1 1⎥
⎢ ⎥
⎣0 0 1 3⎦

⎡ 2 −1 0 ⎤ ⎡1 1 0 0⎤ ⎡ 0.5 0.25 0 0⎤
⎢1 2 − 1 0⎥⎥ ⎢0.25 0.8 0.4 0 ⎥
d) ⎢⎢− 1 2 − 1⎥⎥
e) ⎢ f) ⎢ ⎥
⎢⎣ 0 − 1 2 ⎥⎦ ⎢0 − 1 3 1⎥ ⎢ 0 0.4 0.6 0.1⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 1 4⎦ ⎣ 0 0 0.1 1 ⎦

2. Use o algoritmo QR para determinar, com uma exactidão de 10 −5 , todos os valores


próprios das seguintes matrizes.

⎡ 2 −1 0 ⎤ ⎡3 1 0 ⎤
a) ⎢⎢− 1 − 1 − 2⎥⎥ b) ⎢⎢1 4 2⎥⎥
⎢⎣ 0 − 2 3 ⎥⎦ ⎢⎣0 2 3⎥⎦

⎡4 2 0 0 0⎤ ⎡ 5 −1 0 0 0⎤
⎢2 4 2 0 0⎥⎥ ⎢− 1 4.5 0.2 0 0⎥⎥
⎢ ⎢
c) ⎢0 2 4 2 0⎥ d) ⎢ 0 0.2 1 − 0.4 0⎥
⎢ ⎥ ⎢ ⎥
⎢0 0 2 4 2⎥ ⎢0 0 − 0.4 3 1⎥
⎢⎣0 0 0 2 4⎥⎦ ⎢⎣ 0 0 0 1 3⎥⎦

3. Use o algoritmo QR para determinar, com uma exactidão de 10 −5 , todos os valores


próprios das matrizes do exercício 1.

4. Use o método de Potências inverso para determinar, com uma exactidão de 10 −5 , os


valores prórprios das matrizes do exercício 1.

126

Você também pode gostar