Escolar Documentos
Profissional Documentos
Cultura Documentos
0. INTRODUÇÃO
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.
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:
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]).
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
converge para x.
a) f é contínua em x0.
lim f ( xn ) = f ( x0 ) .
n →∞
Se f é uma função definida num intervalo aberto contendo x0, então f é diferenciável
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
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.
4
Fig. 1.3
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
que f
(n)
(c ) = 0 .
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
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]
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:
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]
Resolvido:
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]
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
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
(Mais exemplos de operações elementares e conversões dos sistemas de uma base para
outra).
2+3=5 2+3=5
4 × 4 = 16 4 × 4 = 16
( 3) 2
=3 ( 3) 2
≈3
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).
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
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:
0 1000010 101100110000010000000000
representa precisamente o número decimal
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
Com esta representação, o número positivo mais pequeno que pode ser expresso é
0 10000000011 1011100100010000010000000000000000000000000000000000
representa precisamente o número decimal
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.
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.
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
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.
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... ”.
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.
18
Fig 1.7
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 α.
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
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:
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:
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
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!
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:
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.
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:
n an bn pn f(pn) (<> 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:
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.
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:
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:
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.
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:
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:
34
n pn g(pn)
0
1
...
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
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....
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:
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+δ].
f ( x) − f ( Pn−1 )
f ′( Pn−1 ) = lim . Sendo x = Pn–2, teremos
x→ Pn −1 x − Pn−1
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.
n pn f(pn)
0
1
...
E no exemplo anterior a aplicação deste método daria
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
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:
42
Fig. 2.7
Para achar uma solução de p = g(p) dada função f contínua no intervalo [ p 0 , p1 ] , onde f ( p 0 )
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 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?
44
c) ex + 2–x + 2 cos x – 6 = 0
d) x2 + 10 cos x = 0
45
2.4. Análise de erros dos métodos iterativos e técnicas de aceleração de 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
α.
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.
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.
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.
47
O seguinte teorema dá um meio de se identificar zeros simples de uma função, isto é, aqueles
que têm multiplicidade 1.
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.
= (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)
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
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:
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)
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 + δ].
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.
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
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.
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
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á
51
O polinómio designado por Q depende da aproximação usada e das mudanças de iteração para
iteração.
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.
[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.
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.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
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
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⎥⎦
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
60
Exercícios (3.3):
⎡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⎦
⎡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⎦
⎡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
⎧ 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
62
Exercícios (3.4):
⎡ 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 − 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 ⎦
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 ⎥⎦
a. A é não singular;
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.
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,
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
propriedades:
(ii) ||X|| = 0 se e só se X = O;
Para o nosso curso vamos precisar de duas normas em ℜ específicas, apenas, embora uma
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
~ ~
dadas por X − X = ... = 0.2001 e por X − X = = ... = 0.21356.
∞ 2
(k )
norma • , se, dado qualquer ε > 0, existe um número inteiro N(ε) tal que X − X <ε ,
para todos k ≥ 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 • ∞
.
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
(i) A ≥ 0;
(iii) αA = α ⋅ A ;
(iv) A + B ≤ A + B ;
(v) AB ≤ A ⋅ B .
matriz.
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):
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.
−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 .
⎡ 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)
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
74
4.2. Valores e Vectores próprios
Não é difícil mostrar que P(λ) é um polinómio de grau n e que, consequente, tem no máximo n
zeros diferentes.
⎡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.
(i) A 2 = ρ ( A t A) ;
⎡ 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⎦
75
(ii) lim
n→∞
A n
= 0 , para qualquer norma natural.
Exercícios (4.2):
⎡ 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 ⎥⎦
⎡1 0 ⎤ ⎡ 12 0⎤
2. Mostre que ⎢ 1 1 ⎥ não é convergente, mas que ⎢ 1⎥
o é.
⎣4 2⎦ ⎣16 2⎦
⎡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
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 .
78
• Método SOR: AX = b ⇔ (D – L – U)X = b ⇒ (D – ωL)X(k) = [(1 – ω)D + ωU
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
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),
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:
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 .
(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.
⎡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.
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 ⎦⎥
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∞.
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
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.
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:
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)
⎡ 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⎦
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 ∞
.
⎡ 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
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.
{
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
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
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
Teor. 5.5: Um conjunto ortogonal de vectores não nulos é linearmente independente. (pode
ser provado resolvendo-se o exercício 5)
As matrizes de Permutação que ocorrem nas factorizações LU têm esta propriedade, assim,
elas são ortogonais.
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.
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⎥⎦
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 ⎥⎦
⎡− 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).
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
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 →∞
a • ∞
e do componente x (p00) de x ( 0 ) , com x (p00) = 1 = x ( 0) .
∞
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
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 →∞
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.
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:
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
λ
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 .
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
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:
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 ⎥⎦
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.
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
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)
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
onde λ representa o segundo valor próprio de A que está mais próximo de q. O vector y (m ) é
Em geral, o método de eliminação de Gauss com a estratégia de pivotização podem ser usados
para resolver este sistema.
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.
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:
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 .
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.
⎡− 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.
v ( i ) = (λ i − λ1 ) w ( i ) + λ1 x t w (i ) v (1) , (5.5)
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
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 .
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 ⎥⎦
⎡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 ⎦
' '
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.
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 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 ⎥⎦
⎡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⎦
3. Ache as três primeiras iterações obtidas pelo método simétrico de potências, aplicado às
seguintes matrizes:
⎡ 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
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.
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.
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 .
Assim, P −1 = P t = P .
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
Pondo w1 = 0 assegura-se que a11( 2 ) = a11 . O que quer é que P (1) = I − 2 ww t satisfaça
(5.8) torna-se
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
n
4r 2 = ∑ w 2j1 − 2αa 21 + α 2 . (5.12)
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 ⎦
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
⎡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⎦
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.
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:
∑ (a )
n
(k ) 2
Passo 2 Set q = jk .
j = k +1
113
a k( k+)1, k q
else set α = − .
a k( k+)1, k
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
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 .
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.
⎡ 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 − 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 ⎥⎦
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)
1. A (1) = A é factorizado como um produto A (1) = Q (1) R (1) , onde Q (1) é ortogonal e
[ ] 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.
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.
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 ⎯⎯↑
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
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
⎡ 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) .
(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.
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 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)
A ( i +1) = R (i ) Q (i ) + sI . (5.18)
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
121
aproximação de λ n −1 . O processo continua até se determinar uma aproximação para cada valor
próprio.
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
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
⎡ 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
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.
⎢ 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 ) ;
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)
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 ;
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 −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⎥⎦
126