¼ MÉTODOS DIRETOS
¼ MÉTODOS ITERATIVOS
l11 0 L 0 0 x1 b1
l21 l22 L 0 0 x2 b2
l l32 L 0 0 x3 = b3
31
M M M M M M
ln1 ln 2 L lnn − a lnn xn bn
(1)
¼ Os elementos a11 ( 2)
, a22 ,K, an( n−−1,1n)−1 são denominados de Pivots
ALGORÍTMO
ELIMINAÇÃO RETROSUBSTITUIÇÃO
For k = 1, n − 1 For i = n,1,−1
For i = k + 1, n sum = 0
aik( k ) For k = i + 1, n
mik = ( k )
akk sum = sum + aik(i ) * xk
For j = k + 1, n + 1 end
aij( k +1) = aij( k ) − mik akj( k ) ai(,in)+1 − sum
xi =
end aii(i )
end end
end
NÚMERO DE OPERAÇÕES:
ELIMINAÇÃO RETROSUBSTITUIÇÃO
n −1 n
∑ (n − k )(n − k + 1) ≈
k =1
1
3
n 3
∑ (i − 1) =
i =1
1
2
n( n − 1) ≈ 12 n 2
n Eliminação Retrosubstituição
10 0.0050 s 0.0008 s
100 5s 0.075 s
1000 5000 s 7.5 s
PIVOTAMENTO
x1 + x2 + x3 = 1 1 1 1 1
x1 + x2 + 2 x3 = 2 ⇒ 1 1 2 2
x1 + 2 x2 + 2 x3 = 1 1 2 2 1
1 1 1 1 ( 2)
0 0 1 1 → a22 = 0
0 1 1 0
Uma solução seria trocar a posição das linhas 2 e 3, o que já fornece a matriz triangular
OUTRO EXEMPLO: RESOLVER O SISTEMA POR ELMINAÇÃO GAUSSIANA
x1 + x2 + x3 = 1 1 1 1 1
x1 + 1.0001x2 + 2 x3 = 2 ⇒ 1 1.0001 2 2
x1 + 2 x2 + 2 x3 = 1 1 2 2 1
1 1 1 1
0 0.0001 1 1
0 0 9999 10000
O processo de retrosubstituição usando uma precisão de 3 casas decimais fornece:
PIVOTAMENTO PARCIAL
PIVOTAMENTO COMPLETO
PIVOTAMENTO PARCIAL k
No passo k do processo de eliminação
• Escolher r como o menor inteiro tal que k
ark( k ) = max aik( k ) , k ≤ i ≤ n r
• Trocar linhas k e r
PIVOTAMENTO COMPLETO k s
No passo k do processo de eliminação
A T = A ( aij = a ji ) e xT Ax > 0, ∀ x ≠ 0
%===========================================================================
% MEC 1701 - METODOS NUMERICOS PARA ENGENHARIA MECANICA for k=i+1:n
% MEC 2951 - METODOS NUMERICOS E COMPUTACIONAIS
% if (abs(A(k,i))>pivot)
% Departamento de Engenharia Mecânica pivot=abs(A(k,i));
% PUC-Rio irow=k;
% end
% Prof. : Marcio Carvalho
% Monitor: Oscar Coronado end
%===========================================================================
% Checar se a matriz e singular
% PROGRAMA PARA O RESOLUÇÃO DE UM SISTEMA DE EQUAÇÕES POR ELIMINAÇÃO GAUSSIANA
if (pivot < 1e-10)
% SETEMBRO 2001 success=0;
stop;
%=========================================================================== end
success=1; x(i,1)=(b(i)-sum)/A(i,i);
x
DECOMPOSIÇÃO LU
¼ Muitas vezes o mesmo sistema é resolvido com
diferentes termos independente (lado direito do sistema)
Ax1 = b1 ; Ax 2 = b 2 ; L
¼ Pode-se evitar o processo repetido de eliminação gaussiana através
de uma decomposição da matriz A
¼ Todo matriz não singular pode ser decomposta como o produto de uma matriz
triangular inferior L e uma matriz triangular superior U
1 0 0 L 0 u11 u12 u13 L u1n
l21 1 0 L 0 0 u 22 u 23 L u 2 n
A = LU; L = l31 l32 1 L 0 ; U = 0 0 u33 L u3n
M M
l
ln 2 L ln,n −1 1 0 0 L 0 u nn
n1
¼ Uma vez feita a decomposição, a solução do sistema fica reduzida a solução
de dois sistemas triangulares:
Sistema triangular inferior
{ =b ⇒
L Ux Sistema triangular superior
y
Resolver Ly = b e depois Ux = y
EQUIVALÊNCIA ENTRE DECOMPOSIÇÃO LU E ELIMINAÇÃO GAUSSIANA
a11
(1) (1)
a12 L a1(1k) L a1(1n)
( 2)
a22 L a2( 2k) ( 2)
L a2 n
L
tal que A ( k ) = (k ) (k )
0 a kk L akn
L
a (k ) (k )
L ann
nk
∑
k =1
aij( k +1) = ∑
k =1
aij( k ) − ∑
k =1
mik akj( k ) ⇒
r r r
∑a
k =1
( k +1)
ij − ∑a
k =1
(k )
ij = aij( r +1) − aij(1) = aij( r +1) − aij = − ∑m
k =1
(k )
ik a kj ⇒
r
aij = aij( r +1) + ∑m k =1
(k )
ik a kj ⇒
(i ) i −1
a
ij
+ m a (k )
ik kj ; i ≤ j∑
⇒ aij = k =1
j
0 + m a (k ) ; i > j
k =1
ik kj ∑
¼ Definindo mii = 1 ; i = 1,2,K, n
p
aij = ∑
k =1
mik akj( k ) , p = min(i, j )
¼ Observe que a expressão anterior representa o produto de duas matrizes
A = LU
Lik = mik (mii = 1), i ≥ k e U kj = akj( k ) , k ≤ j.
mik = , i = k + 1,K, n
u kk
MÉTODO DE CHOLESKI
u kk = mkk e u pk = mkp
1/ 2
k −1
mkk = akk −
∑ 2
mkp
p =1
k −1
aik − ∑m
p =1
ip mkp
mik = , i = k + 1,K, n
mkk
MATRIZES DE BANDA
g1 = f1 , g i = f i − β i g i −1 ; i = 2,3,K, n
g g −c x
xn = n , xi = i i i +1 ; i = n − 1, n − 1,K,2,1
αn αi
ANÁLISE DE ERRO DA DECOMPOSIÇÃO LU
¼ Considere o sistema Ax = b
x = −00.9911 ⇒
.4870
0 . 8642 1 .2969 0 . 8648 0. 9911 − 10 −8
R = b − Ax = 0.1440 − 0.2161 0.1441 − 0.4870 = −8
10
a21 0.2161
( 2)
a22 = a22 − a12 = 0.1441 − × 0.8648 = 0.1441 − 0.1440999923 ≈ 10 −8
a11 1.2969
a 0.2161
b2( 2) = b2 − 21 b1 = 0.1440 − × 0.8642 = 0.1440 − 0.1440000154 ≈ 10 −8
a11 1.2969
b2( 2)
⇒ x2 = ( 2) = −0.4870
a22
x p
( p
= x1 + x2
p
+ L + xn )
p 1/ p
,1≤ p < ∞
x > 0, se x ≠ 0 e x = 0, se x = 0
αx = α x , α escalar
x+y ≤ x + y
Ax
¼ Norma de uma Matriz A = max
x≠ 0 x
n
Para Norma do máximo, pode-se mostrar que A ∞
= max
1≤ i ≤ n
∑a
j =1
ij
ANÁLISE DE PERTURBAÇÃO
Ax = b ⇒ x = A −1b
A (x + δx) = (b + δb) ⇒ δx = A −1δb ⇒ δx ≤ A −1 δb
(A + δA )(x + δx) = b ⇒ Aδx + δA(x + δx) = 0 ⇒ δx = − A −1δA(x + δx)
−1 δx −1 δA
δ x ≤ A δA x + δ x ⇒ ≤ A A
x + δx 1424 3 A
K (A)
δx δb
Como b = Ax ⇒ b ≤ A x ⇒ ≤ K ( A)
x b
Condicionamento da matriz
x ( 0) ⇒ x (1) ⇒ x ( 2) ⇒ L ⇒ x ( k )
Chute inicial
lim x ( k ) = x
k →∞
∑a
j =1
ij x j = bi , para i = 1,2,K, n
n
− ∑a x
j =1
ij j + bi
n
aii xi + ∑a x
j =1
ij j = bi ⇒ xi =
j ≠i
aii
, para i = 1,2,K, n
j ≠i
n
− ∑a
j =1
(k )
ij x j + bi
j ≠i
xi( k +1) = , para i = 1,2,K, n
aii
MÉTODO DE GAUSS-SEIDEL
i −1 n
i −1 n
− ∑a ij x j − ∑a ij x j + bi
∑
j =1
aij x j + aii xi + ∑
j =i +1
aij x j = bi ⇒ xi =
j =1
aii
j =i +1
, para i = 1,2,K, n
i −1 n
− ∑
j =1
aij x (jk +1) − ∑a x
j = i +1
ij
(k )
j + bi
xi( k +1) = , para i = 1,2,K, n
aii
4 −1 −1 0 1
− 1 4 0 − 1 2
EXEMPLO: Resolver Ax = b A = − 1 0 4 − 1 ; b = 0
0 −1 −1 4 1
0
Chute inicial : x ( 0) = 00
0
MÉTODO DE JACOBI
1 2 0 1
x1(1) = = 0.25 ; x2(1) = = 0.5 ; x3(1) = = 0.0 ; x4(1) = = 0.25
4 4 4 4
− (−1) × 0.5 − (−1) × 0.0 + (0.0) × 0.25 + 1
x1( 2) = = 0.375 ; x2( 2) = L
4
1 − (−1) × 0.25 + 2
x1(1) = = 0.25 ; x2(1) = = 0.5625 ;
4 4
− (−1) × 0.25 + 0 − (−1) × 0.5625 − (−1) × 0.0625 + 1
x3(1) = = 0.0625 ; x4(1) = = 0.40625
4 4
A = D(L + I + U)
¼ O Método de Jacobi pode ser escrito como:
n
− ∑a
j =1
(k )
ij x j + bi
B J = −(L + U )
¼ O Método de Gauss-Seidel pode ser escrito como:
i −1 n
− ∑
j =1
aij x (jk +1) − ∑a
j =i +1
(k )
ij x j + bi
xi( k +1) = , para i = 1,2,K, n ⇒
aii
x ( k +1) = −Lx ( k +1) − Ux ( k ) + D −1b
B GS = −(I + L ) U
−1
ANÁLISE DE CONVERGÊNCIA
x ( k +1) = B x ( k ) + c
Se x é solução do sistema Ax = b : x = B x + c
Autovalores : λ1 , λ2 ,L, λn
Autovetores : u1 , u 2 ,L, u n
x ( 0) − x = α 1u1 + α 2u 2 + L + α n u n
x (1) − x = B(x ( 0) − x) = α 1Bu1 + α 2 Bu 2 + L + α n Bu n ⇒
⇒ x (1) − x = α 1λ1u1 + α 2 λ2u 2 + L + α n λn u n
M
x ( k ) − x = α 1λ1k u1 + α 2 λk2u 2 + L + α n λkn u n
MÉTODO DE GAUSS-SEIDEL
n y
B GS = −(I + L ) U
−1
B GS = max
x =0
∑x
j =1
∞
, y = B GS x
∞
j ≠i
n i −1 n
y ∞
= yk ⇒ yk = ∑b
j =1
kj x j = ∑b
j =1
kj y j + ∑b
j =i +1
kj x j
n aij i −1 aij
y ∞
= yk ≤ sk y ∞
+ rk x ∞ , onde ri = ∑
j = i +1 aii
, si = ∑a
j =1 ii
ri
B GS ∞
≤ max → Processo converge se A for diagonal dominante
1≤i ≤ n 1 − s
i
MÉTODO SOR (SUCCESSIVE OVERRELAXATION)
Bω = (I + ωL) −1 [(1 − ω )I − ωU ]
0 <ω < 2