Beruflich Dokumente
Kultur Dokumente
Os métodos que se apresenta aqui serão exatos ou iterativos. Os métodos exatos, são
aqueles nos quais, em hipóteses que os cálculos são feitos exatamente (sem
aproximações), se produzem valores exatos para as incógnitas xi . Por causa dos
números aproximados utilizados nas aplicações práticas, seus resultados também são
aproximados. Dentre os métodos exatos tem-se o método de Gauss e o método da raiz
quadrada; dentre os métodos iterativos tem-se os métodos de Seidel e o da Relaxação.
P( x1 , x2 ,..., xn ) = a11 x12 + ... + ann xn2 + 2a12 x1 x2 + 2a13 x1 x3 + ... + 2an−1,n xn−1 xn (1)
Página 1 de 62
Definição 2 : Uma forma quadrática (1) é chamada "positiva-definida" se ela assume
valores positivos, anulando-se apenas quando x1 = x2 = = xn = 0 . Se a forma
quadratica (1) assume valores negativos é denominada "negativa-definida".
P( x1 , x2 ,..., xn ) = K > 0
é uma equação de uma elipsoide num espaço n-dimensional, e mais aii > 0 para todo
i = 1, 2,…, n , e mais
∑a x
j =1
ij j = bi
Seja
Ax = b (1)
⎧
⎪
⎪
⎪
⎪
⎪ aij( k−1) para i ≤ k-1
⎪
⎪
aij( k ) = ⎨0 para i ≥ k, j ≤ k-1
⎪
⎪
⎪
⎪ ai(,kk−−1)1
⎪ aij − ( k−1) − bk(−k−1 1)
(k )
para i ≥ k, j ≥ k (3)
⎪
⎪ ak−1,k−1
⎪
⎩
⎧
⎪bi( k−1) para i ≤ k-1
⎪
⎪
bi( k ) = ⎪⎨ ( k−1) ai(,kk−−1)1 ( k−1)
⎪
⎪ bi − ( k−1) bk−1 para i ≥ k
⎪
⎪
⎩ ak−1,k−1
LUx = b( ) ∴ LU = A
n
(4)
⎧⎪
⎪⎪
⎪⎪ 0 para i < k
⎪
lik = ⎪⎨1 para i = k (5)
⎪⎪
⎪⎪ aik( k )
⎪⎪ ( k ) para i > k
⎪⎩ akk
1
xn = gn
unn
(6)
1⎛ n ⎞
xi = ⎜⎜⎜ gi − ∑ uij x j ⎟⎟⎟
uii ⎜⎝ j =i +1 ⎠⎟
Página 3 de 62
a11 x1 + a12 x2 + a13 x3 + a14 x4 = a15
a21 x1 + a22 x2 + a23 x3 + a24 x4 = a25
(7)
a31 x1 + a32 x2 + a33 x3 + a34 x4 = a35
a41 x1 + a42 x2 + a43 x3 + a44 x4 = a45
Seja, por hipótese, a11 ≠ 0 (elemento pivot) . Dividindo-se a primeira equação de (7)
por a11 , obtém-se:
a1 j
onde b1 j = , ∀j = 2,3,…, 5 .
a11
Usando (8), vê-se que é fácil eliminar x1 da segunda, terceira e quarta equações de (7).
Para fazer isto, multiplique a equação (8) por a21 , a31 , a41 e subtraia o resultado assim
obtido da segunda, terceira e quarta equações de (7) respectivamente. Assim reduz-se o
sistema original a um outro com apenas 3 equações e três incógnitas:
()1 () 1 () ()
1 1
a22 x2 + a23 x3 + a24 x4 = a25
()1 () 1 () ()
1 1
a32 x2 + a33 x3 + a34 x4 = a35 (9)
()1 () 1 () ()
1 1
a42 x2 + a43 x3 + a44 x4 = a45
(1)
Dividindo agora a primeira equação de (3), pelo elemento pivot a22 , encontra-se:
() ()
x4 = b2(5)
1 1 1
x2 + b23 x3 + b24
a2( j)
2
(1)
onde b2 j = () 1
, ∀j = 3, 4,5 .
a22
( )
2 ( )2 ( ) 2
a33 x3 + a34 x4 = a35
(10)
( )
2 ( )2 ( ) 2
a43 x3 + a44 x4 = a45
( 2)
Dividindo-se a primeira equação de (10) pelo o elemento pivot a33 , obtém-se:
( )
x4 = b3(5)
2 2
x3 + b34 (11)
a3( j)
2
b3( j) =
2
onde ( )
2
, ∀j = 4, 5 .
a33
Então, com ajuda de (11) elimina-se x3 da segunda equação de (10), e assim encontra-
(3) (3)
onde a4( j) = a4( j) − a43
( ) ( )
3 2 2 2
se: a44 = a45 b3 j , ∀j = 4, 5 .
Desta forma consegue-se reduzir (6) a um sistema equivalente com matriz triangular:
variáveis.
Página 5 de 62
⎧
⎪
⎪
⎪
⎪
aij( ) , para i ≤ k-1
k −1
⎪
⎪
⎪
aij( ) = ⎪ 0 para (i ≥ k ) ∧ ( j ≤ k-1)
k
⎨
⎪
⎪
⎪
⎪ (k −1) ai(,k−1)ak( −1, )j
k −1 k −1
⎪
⎪a − (k −1)
para (i ≥ k ) ∧ ( j ≥ k ) (14)
⎪
ij
⎪
⎩ a k −1,k −1
⎧
⎪ bi( ) , para i ≤ k-1
k −1
⎪
⎪
bi( ) = ⎪
⎨ (k−1) a (i,k-1
k-1) (k −1)
k
bk−1
⎪
⎪b - para (i ≥ k ) ∧ ( j ≤ k )
⎪
⎪
i
a ( k −1)
⎩ k −1,k −1
1. Para k = 1 fazer A( ) = A, b( ) = b
k k
ai(,k−1)ak( −1, )j
k −1 k −1
(k ) (k −1)
8. Senão aij = aij −
ak( −1,k)−1
k −1
{ }
n
3. Calcule o indice do pivot j ≤ p ≤ n tal que C pj = max Cij
i= j
Teorema 1: Seja uma matriz A tal que a eliminação de Gauss definida acima produza
(k )
elementos diagonal não nulos, akk , k = 1, 2,…, n . Então A é uma matriz não-singular e
() ( ) ( )
det ( A ) = a11
1 2 n
a22 ann (15a)
LU = A (15b)
⎧
⎪
⎪
⎪
⎪
⎪ 0 para i<k
⎪
⎪
mik = ⎨1 para i=k (15c)
⎪
⎪
⎪
⎪ aik( )
k
⎪
⎪ (k )
para i>k
⎪
⎪
⎩ a kk
O vetor final
b( ) ≡ L-1b
n
(15d)
Demonstração:
Teorema 2: Seja uma matriz A com rank r . Então se pode encontrar uma sequencia
de índices de linhas e colunas distintas (i1. j1 ) , (i2 , j2 ) ,…, (ir , jr ) tal que os elementos
pivot correspondentes em A( ) , A( ) ,…, A( ) são não nulos e aij( ) = 0, se i ≠ i1 , i2 ,…, ir .
1 2 r r
(
P ≡ e( 1 ) , e( 2 ) , … , e( r ) , … , e ( n )
i i i i
)
(16)
Q ≡ ( e( ) , e( )
j2 )
, … , e ( r ) , … , e( n )
j1 j j
Demonstração:
Página 7 de 62
A eliminação generalizada altera a matriz A ≡ A( ) pela reformulação sucessiva de
1
combinações lineares das linhas. Assim, enquanto elementos pivot nulos forem achados
as linhas nulas são linearmente dependentes de linhas contendo pivots não nulos. As
permutações por P e Q simplesmente rearranjam a ordem das equações e incógnitas,
respectivamente, assim bvv = aiv , jv , v = 1, 2,…, n . Pela pimeira parte do teorema, a matriz
reduzida B( ) é triangular uma vez que todas as linhas após a r-ésima linhas se anulam.
r
A = LU
onde
li1 = ai1
j−1
lij = aij − ∑ lik ukj , ∴ i ≥ j > 1
k =1
a1 j
u1 j =
l11
⎛ 1 ⎞⎛ i−1 ⎞
uij = ⎜⎜ ⎟⎟⎟⎜⎜aij − ∑ lik ukj ⎟⎟⎟ ∴ 1 < i < j
⎜⎝ l ⎠⎟⎝⎜ k =1 ⎠
ii
Logo,
A = LU ⇒ Ax = LUx = b
b1
y1 =
l11
⎛ 1 ⎞⎛ i−1 ⎞
yi = ⎜⎜ ⎟⎟⎟⎜⎜bi − ∑ lik yk ⎟⎟⎟ , ∀i > 1
⎜⎝ l ⎠⎟⎝⎜ k =1 ⎠
ii
xn = yn
n
xi = yi − ∑ uik xk , ∀i < n
k =i+1
A = TTT
t11 = a11
a1 j
t1 j = , ∀j > 1
t11
i−1
tii = ai ,i − ∑ t ki ∀ 1 < i ≤ n
2
k =1
i−1
aij − ∑ t.ki tkj
tij = k =1
∀i<j
ti ,
tij = 0, ∀i > j
Página 9 de 62
Achando-se a matriz T , de forma semelhante ao processo anterior, tem-se dois
sistemas equivalentes ao original:
TT y = b
Tx = y
b1
y1 =
t11
⎛ 1 ⎞⎛ i−1 ⎞
yi = ⎜⎜ ⎟⎟⎟⎜⎜bi − ∑ tki yk ⎟⎟⎟ , ∀i > 1
⎜⎝ tii ⎠⎟⎜⎝ k =1 ⎠
yn
xn =
tnn
⎛ 1 ⎞⎛ n ⎞
xi = ⎜⎜ ⎟⎟⎟⎜⎜ yi − ∑ tik xk ⎟⎟⎟ , ∀i < n
⎜⎝ t ⎠⎟⎜⎝ k =i+1 ⎠⎟
ii
EXERCÍCIO
Resolva o sistema:
bi
βi =
aii
aij
cij = − , ∀i ≠ j
aii
cii = 0, ∀i
x( ) = β
0
x( ) = β + Cx( )
1 0
x( ) = β + Cx( )
2 1
(1)
x(
k+1)
= β + Cx(
k)
xi( ) = βi
0
n
xi( = βi + ∑ cij x(j )
k +1) k
(2)
j =1
cii = 0, ∀i = 1, 2,…, n
Quando se usa o processo iterativo , não é necessário se fazer o vetor constante β como
primeira aproximação de x . A convergência do processo iterativo depende unicamente
das propriedades da matriz C . Pode-se provar que, se os elementos cij ∈ C satisfizerem
uma das seguintes condições:
n
∑c
j =1
ij ≤ α < 1, ∀i = 1, 2,…, n (3)
∑c
i =1
ij ≤ γ < 1, ∀j = 1, 2,…, n (4)
Página 11 de 62
⎡ α ⎤
xi − xi( ) ≤ ⎢⎢ ⎥ max x(jk ) − x(jk−1)
k
⎥ (5)
⎣⎢ (1 − α) ⎦⎥
⎡ γ ⎤
xi − xi( ) ≤ ⎢⎢ ⎥ max x(jk ) − x(jk−1)
k
(6)
⎢⎣ (1 − γ ) ⎥⎥⎦
i−1 n
xi( = βi + ∑ cij x(j + ∑ cij x(j )
k +1) k +1) k
j =1 j =1
Demonstração :
(A T A ) = (A T )(A T )
T T
= ATA
n n n n ⎛ n n ⎞
P = ∑∑∑ aki akj xi x j = ∑ ⎜⎜⎜∑ aki xi i∑ akj x j ⎟⎟⎟ ≥ 0
k =1 i =1 j =1 k =1 ⎜
⎝ i=1 j =1 ⎠⎟
n ⎛ n 2
⎞
P = ∑ ⎜⎜∑ aki xi ⎟⎟⎟ ≥ 0
⎜
k =1 ⎝ i =1 ⎠
A = D-L-U (1)
onde D é uma matriz diagonal, L uma matriz triangular inferior e U uma matriz
triangular superior:
⎧
⎪a se i=k
Dik = ⎪⎨ ik
⎪
⎩0
⎪ se i ≠ k
⎧−a
⎪ se i>k
Lik = ⎪⎨ ik (2)
⎪
⎩0
⎪ se i ≤ k
⎧
⎪−a se i<k
U ik = ⎪⎨ ik
⎪
⎩0
⎪ se i ≥ k
b - Ax(
k +1)
=0 (3)
ou
n
aii xi( k +1) = −∑ aij x (jk ) + bi (4)
j =1
j ≠i
Página 13 de 62
ou ainda
⎛ ⎞⎟
1 ⎜⎜ n
(k ) ⎟
x( k +1)
= ⎜⎜bi − ∑ aij x j ⎟⎟⎟ , i = 1, 2,..., n
aii ⎜ ⎟
i
⎜⎝ ⎠⎟
j =1
j ≠i
ou na forma matricial:
ou ainda
1 ⎛⎜ i−1 n ⎞
xik +1 = ⎜⎜ i ∑ ij j
b − a x k +1
− ∑ aij x kj ⎟⎟⎟
aii ⎜⎝ j =1 j =i+1 ⎠⎟
ou na forma matricial:
Dx ( k +1) = Lx ( k +1) + Ux ( k ) + b
⇒ ( D − L) x ( k +1) = Ux ( k ) + b (5)
⇒ x ( k +1) = ( D − L)−1 Ux ( k ) + ( D − L)−1 b
⎛ i−1 n ⎞
xi( k +1) = ω ⎜⎜⎜bi − ∑ aij x kj +1 − ∑ aij x kj ⎟⎟⎟ + (1 − ω ) xi( k ) , ∀i =1,2, . . . ,n (9)
⎜⎝ j =1 j =i+1 ⎠⎟
A = D-L-U (3)
Página 15 de 62
com
As técnicas de blocos podem ser definidas, em termos mais gerais. Primeiro, pelo uso
de blocos que permitam a atualização arbitrária de grupos de componentes, e segundo,
pela permissão de sobreposição de blocos. Assim, o particionamento deve ser baseado
em um conjunto-partição do conjunto de variáveis S = {1, 2,…, n} em subxonjuntos
S1 , S2 ,…, S p com a condição de que dois quaisquer subconjuntos distindos são
disjuntos ( Si ∩ S j = ∅, ∀i, j ) . Na teoria dos conjuntos, isto é chamado de partição de S .
Mais genericamente, um conjunto-decomposição de S remove as restrições de
disjunção. Em outras palavras, ele requer que a união de subconjuntos Si seja igual a
S:
Si ⊆ S ∪ Si = S
i =1, s
Uma iteração genérica em blocos de Jacobi pode ser definida assim: seja Vi uma matriz
n x ni
Wi = ⎡⎢⎣ ηmi (1)emi (1) , ηmi (2)emi (2) ,..., ηmi ( ni ) emi ( ni ) ⎤⎦⎥
WiT Vi = I
Quando não existe sobreposição, isto é, quando Si formam uma partição do conjunto
inteiro {1, 2,…, n} , então define-se ηmi ( j ) = 1 .
A ij = WiT AVj
ξi = Wi T x, βi = Wi T b
s
x = ∑ Vi ξi
i =1
Cada componente da iteração de Jacobi pode ser obtido pela imposição da condição que
a projeção do resídual no espaço gerado por Si seja zero, isto é,
⎡ ⎛ ⎞⎤
WiT ⎢⎢b − A ⎜⎜⎜ Vi WiT x ( k +1) + ∑ Vj WjT x ( k ) ⎟⎟⎟⎥⎥ = 0
⎣⎢
⎜⎝ j ≠i ⎠⎟⎦⎥
Relembre-se que
Página 17 de 62
ξ j = WjT x → ξ (k+1) i + A ii Wi ( b − Ax )
= ξ (k) -1 T (k)
i
→ A iiξ (k+1) i + A ii A ii Wi ( b − Ax )
= A iiξ (k) -1 T (k)
i
→ A ii (ξ (k+1)
i i ) = Wi ( b − Ax )
− ξ (k) T (k)
fazendo δi = (ξ (k+1)
i i ) tem-se
− ξ (k)
A iiδi = WiT (b − Ax (k) )
em que
G JA ( A ) = I − D−1A
(2)
GGS ( A ) = I − ( D − L)−1 A
Análise e Métodos Numéricos Aplicados a Engenharia
A = M-N (3)
onde A é associada ao sistema linear Ax = b uma iteração linear de ponto-fixo pode ser
definida pela formula de recorrência:
A iteração x (k+1) = Gx (k) + d pode ser vista como uma técnica para resolver sistemas do
tipo
(I − G) x = d (6)
Como G tem a forma G = I - M -1A , o sistema acima pode ser reescrito como
O sistema (7) acima que tem a mesma solução do sistema original é chamado de sistema
precondicionado e M é a matriz de precondicionamento ou precondicionadora. Em
outras palavras, um esquema de relaxação é semelhante ou equivalente a uma iteração
de ponto-fixo sobre um sistema precondicionado.●
M JA = D
M GS = D − L (8)
1
M SOR = ( D − ωL )
ω
Página 19 de 62
r = Av
ω = M−1r
r = Nv
w = M -1r
w←v-w
A matriz N pode ser mais esparsa que A e Nv pode ser menos custoso que Av .
7.5.2.5 – Convergência
Todos os métodos vistos nas seções anteriores definem uma sequência de iterações da
forma:
na qual G é uma certa matriz de iteração. As questões que se abordam aqui são: (a) se a
iteração converge é o seu limite a solução do sistema original? (b) sob que condições a
iteração converge?, (c) quando uma iteração converge, com que velocidade o faz ? .
x = Gx + d (2)
Nesse caso onde a equação acima aparece da separação A = M − N , é fácil ver que a
solução x para o sistema acima é identica ao do sistema original Ax = b . Além disso,
neste cado a sequencia (1) tem a forma:
Mx = Nx + b
Agora se I - G é não singular então existe uma solução x* para a equação (2).
Subtraindo (2) de (1), tem-se
ρ ( A ) = max λi (4)
1≤i≤m
Demonstração :
k
Para provar a condição necessária, seja A → 0 e considere u1 um autovetor
associado com o autovalor λ1 de modulus máximo. Tem-se então
Ak u1 = λ1k u1
o que implica, dado pela norma ||. ||2 de ambos os lados:
λ1k = Ak u1 → 0 ⇒ ρ ( A) = λ1 <1
2
Ak = XJ k X −1
k k
Para provar que A converge para zero, é suficiente mostrar que J converge
para zero. Uma observação importante, é que J preserva sua forma de blocos. Assim
é suficiente provar que cada bloco de Jordan converge para zero. Cada bloco tem a
forma
J i = λi I + Ei
Como λi <1, cada termo da soma finita acima converge para zero quando k
k
→ ∞ . Dessa forma, a matriz Ji converge para zero. Como cada bloco converge para
zero, a matriz inteira J também converge para zero, e isto prova o teorema.
Página 21 de 62
∞
Teorema 2 : A serie ∑A k
converge se e somente se ρ(A) < 1 . Sob esta
k =0
-1
condição I-A é não singular e o limite da série é igual a (I – A) .
Demonstração:
A primeira parte do teorema é uma conseqüência imediata do teorema 1
acima. Além disso, se a série dada converge, então Ak → 0 então, pelo teorema
anterior, implica que ρ(A) < 1. Para mostrar que o inverso também é verdadeiro, usa-
se a igualdade
I − A k +1 = (I − A )(I + A + A 2 + ... + A K )
e explorando o fato de que ρ(A) < 1 então I-A é não-singular, e dessa forma
(I − A )
−1
(I − A K +1 ) = I + A + A 2 + ... + A K
Isso mostra que a série converge e que o lado esquerdo da expressão
-1
converge para (I – A) e prova também a segunda parte do teorema. Logo o teorema
está demonstrado.
Demonstração :
i =0
1
Au = ρ ( A ) u ⇔ C−1u = u
1− ρ (A)
-1
Assim u e C são não negaticos, e I − A é não singular; isto mostra que 1 -
ρ(A) > 0, e o teorema está provado.
Teorema 5 : Seja G uma matriz n x n. Então as seguintes afirmações são
equivalentes:
limk→∞G(k) = 0.
ρ(G) < 1.
Note que o radius espectral também provêr uma medida de quantidade da taxa de
convergência:
x ( k ) − x* ≤ G ( k ) . x (0) − x*
x ( k ) − x* (5)
⇒ ≤ G(k )
x (0) − x*
⎛J ⎞
k
d k = λ X ⎜⎜ ⎟⎟⎟ X -1d 0
k
(8)
⎜⎝ λ ⎠
Página 23 de 62
É util verificar que as potencias de J/λ mostram que todos os seus blocos, exceto o
bloco associado com o autovalor λ, converge para zero quando k tende ao infinito.
Assim esse bloco de Jordan será de tamanho p e é da forma
J λ = λI + L (9)
⎛ k ⎞⎟ p−1
J λk ≈ λ k − p+1 ⎜⎜ ⎟L (11)
⎜⎝ p −1⎠⎟⎟
⎛ k ⎞⎟
d k ≈ C. λ k − p+1 ⎜⎜ ⎟ (12)
⎜⎝ p −1⎠⎟⎟
⎛1⎞
φ = ln ⎜⎜ ⎟⎟⎟ = ln1− ln ρ = − ln ρ
⎜⎝ ρ ⎠⎟
A definição acima depende do vetor inicial x(0) assim ele pode ser chamado de fator de
convergência específico. Um fator de convergência geral pode também ser definido por
1
⎛ d k ⎞⎟ k
Com uma divisão regular, associa-se a iteração (vide expressão (4) da seção 7.5.2.2):
Definição 2 : Uma matriz é dita ser uma M-matriz se ela satisfaz as quatro seguintes
propriedades:
A=D–(D–A)=D(I–(I–D-1A)) (2)
Definindo
B=I–D-1A (3)
Demonstração :
A = M ( I - G) (4)
Página 25 de 62
segue que A é não-singular. As hipóteses do teorema 4 da seção anterior são satisfeitas
-1
para a matriz G desde que G = M N seja não negativo e ρ(G)<1. Dessa maneira, (I
– G)-1 é não negativa bem como
Para provar a condição de suficiência, considere que A seja não-singular e que sua
inversa seja não negativa. Desde que A e M sejam não singulares, a relação (4) mostra
novamente que que I – G é não singular e mais
A -1N = (M (I - M -1N)) N ⇒
-1
-1
É claro que G = M N é não negativo por hipótese, e como resultado do teorema de
Perron-Frobenius, existe um autovetor não negativo x associado com ρ(G) que por sua
vez é um autovalor, tal que
Gx = ρ (G) x
ρ (G )
A −1N x = x
1 − ρ (G )
ρ (G )
≥0
1 − ρ (G )
e isto só pode ser verdadeiro se o denominador da expressão acima for maior que zero,
isto é, se e somente se 0 ≤ ρ(G) ≤ 1. Desde que I – G seja não singular, então ρ(G) ≠
1, o que implica que ρ(G) < 1.
Este teorema também estabelece que a iteração (1) também converge, se M, N são uma
divisão regular de A e também A seja uma M-matriz.
n
a jj ≥ ∑ aij , j = 1,..., n
i =1
i≠ j
em outras palavras,
n
∀λ ∈ σ ( A ) , ∃i ∴ λ − aii ≤ ∑ aij (1)
j =1
j ≠i
Demonstração :
o que produz
Página 27 de 62
n n
λ − amm ≤ ∑ amj ξ j ≤ ∑ amj = ρm (2)
j =1 j =1
j ≠m j ≠m
Uma vez que o resultado também é válido para a transposta de A, uma versão do
teorema pode ser formulada baseada na soma das colunas ao invés da soma das linhas.
Demonstração :
|ξm| = 1 e |ξ i|≤1 para i ≠ m. Começando da equação (2) acima, a qual estabelece que o
ponto λ pertence ao m-ésimo disco. Além disso, λ pertence ao contorno da união de
todos os discos. Como consequencia disso, ele não pode ser um ponto interior do disco
D(λ,ρm) . Isto implica que |λ - amm|=ρm . Dessa forma as desigualdades em (2) se
transformam em igualdade:
n n
λ − amm = ∑ amj ξ j = ∑ amj = ρm (3)
j =1 j =1
j ≠m j ≠m
e isto é válido para todo i=1, 2, ..., k . No final, será provado que λ pertence ao contorno
do j-ésimo disco para um j arbitrário.
Demonstração:
Demonstração :
Provar-se-á primeiro o resultado para matrizes A estritamente dominantes
diagonalmente. Seja λ um autovalor dominante da matriz M J = D-1 (L + U) da iteração
-1
de Jacobi e de M GS = (D - L) U da iteração de Gauss-Seidel. À semelhança do que foi
feito na demonstração do teorema de Gershgorin, seja x um autovetor associado com λ,
com ξm = 1 e ξi ≤ 1 para i ≠ 1. Da equação (2) no teorema de Gershgorin
n n
λ − amm ≤ ∑ amj ξ j ≤ ∑ amj = ρm
j =1 j =1
j ≠m j ≠m
n amj n amj
para MJ tem-se: λ ≤∑ ξj ≤ ∑ <1
j =1 amm j =1 amm
j ≠m j ≠m
Página 29 de 62
⎛ ⎞
∑a ξ j = λ ⎜⎜⎜ammξm + ∑ amj ξ j ⎟⎟⎟
⎜⎝ ⎠⎟
mj
j<m j>m
∑a
j>m
mj ξj ∑a
j>m
mj
λ≤ ≤
amm − ∑ amj ξ j amm − ∑ amj
j>m j>m
Este último termo da equação acima tem a forma σ2 / (d − σ1 ) onde d, σ1, σ2 são
todos não negativos e d - σ1 - σ2 > 0. Assim
σ2
λ≤ <1
σ2 + (d − σ2 − σ1 )
No caso em que a matriz é apenas irreduzivelmente dominante diagonalmente, as
provas acima apenas mostram que ρ ( M −1 N ) ≤ 1 , onde M -1N é a matriz de iteração ou de
Jacobi ou de Gauss-Seidel. Uma prova por contradição será usada para mostrar que de
fato tem-se ρ (M -1N) ≤ 1 . Assumindo que λ é um autovalor de M -1N com |λ| = 1, então a
-1
matriz M N − λI será singular, e como resultado, A′ = N − λ M também precisa ser
singular. Como |λ| = 1, é claro que A′ é também irreduzivelmente dominante
diagonalmente. Isto contradiz o corolario 1. Logo o teorema está demonstrado.
Os métodos vistos nas seções anteriores, se prestam também para matrizes cheias,
porém são mais empregados nos processos onde envolve matrizes esparsas.
Análise e Métodos Numéricos Aplicados a Engenharia
Devido a isso, é de bom senso que se fale algumas linhas sobre tais tipos de matrizes,
suas interpretações e operações que se pode fazer sobre elas para que se melhor aplique
os métodos de solução de sistemas lineares por meios iterativos.
A teoria dos grafos, nesse ponto, é uma ferramenta ideal para a representação da
estrutura das matrizes esparsas e jogam um papel relevante nas técnicas de
manipulação das mesmas. Por exemplo, a teoria dos grafos é o ingrediente chave
utilizado no desembaraçamento do paralelismo nas técnicas de precondicionamento e de
eliminação de Gauss.
Assim ,vamos relembrar que um grafo ér definido por dois conjuntos, um conjunto de
vértices V = {v1 , v2 ,..., vn } e um conjunto de arestas ou ligações L que consiste de um par
(vi , v j ) os quais por sua vez são elementos de V , isto é, L ⊆ V × V . Um grafo
G = (V, L) é normalmente representado por um conjunto de pontos em um plano
ligados por uma linha entre os pontos que são conectados por uma ligação. Um grafo é
uma maneira de representação de uma relação binária entre objetos do conjunto V . Por
exemplo, V pode repesentar cidades de um país servidas por linhas aéreas enquanto L
representa a ligação entre elas por vôos sem escalas. Quando uma ligação do ponto (A)
para o ponto (B) significar que existe um vôo de (A) para (B) e também de (b) para (A),
isso gera um grafo chamado não-dirigido, em caso contrário, ele é dito dirigido.
1
4 1
4
3 3
2
2
Figura 1 Figura 2
O grafo da figura 1 é dito não-dirigido enquanto o grafo da figura dois é dito dirigido.
As matrizes que representam estas duas figuras são respectivamente
Página 31 de 62
⎛1 1 0 1⎞⎟ ⎛1 1 0 0⎞⎟
⎜⎜ ⎟ ⎜ ⎟
⎜⎜1 1 1 0⎟⎟ ⎜⎜⎜0 1 0 1⎟⎟
⎜⎜ ⎟
⎟ ⎜ ⎟
⎟ onde aij ≠ 0 significa que existe uma ligação de i para j
⎜⎜0 1 1 1⎟⎟⎟ ⎜⎜⎜0 1 1 0⎟⎟⎟
⎜⎜ ⎟ ⎜ ⎟
⎜⎜⎝1 0 1 1⎠⎟⎟ ⎜⎜⎜⎝1 0 1 1⎠⎟⎟
e de j para i no caso de grafos não-dirigido e no caso de grafos dirigido, que existe
apenas uma ligação de i para j . Vê-se que no caso de grafos não dirigido a matriz
resultante é simétrica.
Para equações diferenciais parciais envolvendi apenas uma incógnita física por ponto da
malha, o grafo de adjacência da matriz surgida da discretização é normalmente
representada pela própria malha. Entretanto é muito comum haverem diversas
incógnitas por ponto da malha. Por exemplo, as equações modelando o fluxo de fluidos
podem envolver duas componentes da velocidade (em duas dimensões) bem como a
energia e o momento em cada ponto da malha. Em tais situações, existem duas escolhas
quando classificando as incógnitas. Elas podem ser classificadas continuamente em
cada ponto da malha; assim, para o exemplo supra mencionado, pode-se classificar
todas as quatro variáveis (duas velocidades seguidas de momento e pressão) em cada
ponto dado da malha como u(k), ..., u(k+3).
Permutando linhas ou colunas ou ambas de uma matriz esparsa é uma operação comum.
De fato, o reordenamento de linhas e colunas é um dos mais importantes imgrediemtes
utilizados na computação paralela tanto nas técnicas diretas quanto nas iterativas.
Aπ ,* = {aπ ( i ), j }
i =1,...,n ; j =1,...,m
(0.1)
A*,π = {ai ,π ( j ) }
i =1,...,n ; j =1,...,m
Análise e Métodos Numéricos Aplicados a Engenharia
A mesma observação pode ser feita com relação as colunas de uma matriz: para realizar
a troca da coluna i pela j, se pós-multiplica a matriz por Xij . Veja o exemplo abaixo:
4 503 80 41
0 0 0 1
71 71 40 10
0 1 0 0 Matriz unitária onde a 1ª e
A
60 08 21 51 X14 4ª linhas estão trocadas.
0 0 1 0
90 91 06 1
1 0 0 0
90 91 6 1 41 503 80 4
71 71 40 10 10 71 40 71
X14 . A = A . X14 =
60 8 21 51 51 8 21 60
4 503 80 41 1 91 6 90
1ª e 4ª linhas 1ª e 4ª colunas
trocadas trocadas
Aπ ,* = Pπ A
(0.2)
A*,π = AQπ
Página 33 de 62
Pπ = X in , jn X in−1 , jn−1 ... X i1 , j1
onde (0.3)
Qπ = X i1 , j1 X i2 , j2 ... X in , jn
PπQ π = I (0.4)
transposta de Pπ . Assim
Q π = PπT = Pπ-1
Assim uma permutação do tipo Q π APπ = PπT APπ é conhecido como permutação
simétrica, e é denotada por Aπ,π , é uma permutação que preserva os elementos da
diagonal, o que é muito desejável na solução de problemas de engenharia. Assim, como
no exemplo anterior, tem-se
Análise e Métodos Numéricos Aplicados a Engenharia
4 503 80 41
0 0 0 1
71 71 40 10
A 0 1 0 0
60 08 21 51 X14
0 0 1 0
90 91 06 1
1 0 0 0
90 91 6 1 41 503 80 4
71 71 40 10 10 71 40 71
X14 . A = A . X14 =
60 8 21 51 51 8 21 60
4 503 80 41 1 91 6 90
1 91 6 90
10 71 40 71
X14 . A . X14 =
51 8 21 60
41 503 80 4
Do ponto de vista da teoria dos grafos, outra importante interpretação das permutações
simétricas é que elas são equivalentes a reordenar os vértices do grafo sem alterar as
arestas. Além do mais, seja (i , j) uma aresta em um grafo de adjacência da matriz
´
original A e seja A´ uma matriz permutada. Então aij = aπ ( i ),π ( j ) e o resultado (i , j) é
uma aresta no grafo de adjacência da matriz permutada A´, se e somente se, (π(i) , π(j))
é uma aresta no grafo de adjacência da matriz original A . Dessa forma, o grafo de uma
matriz permutada não se altera. Por outro lado, permutações não simétricas não
preservam o grafo. podendo inclusive tranformarem grafos não dirigidos em grafos
dirigidos.
Página 35 de 62
7.5.2.11 Reordenamentos comuns.
Esta estratégia simples é chamada, na teoria dos grafos, de Primeira Busca de Breadth
(ou BFS = Breadth First Search) transversal . O ordenamento dependerá da maneira na
qual os nós serão atravessados em cada conjunto de nível. Na BFS os elementos de um
conjunto de nível serão smepre atravessados em ordem natural que eles forem listados.
Já na estratégia conhecida como Ordenamento de Cuthill-McKee ou ordenamento
CMK, os elementos de um conjunto de nível são atravessados ou visitados dos nós de
menor grau para os de maior grau:
O array iperm obtido do procedimento acima lista os nós na ordem em que foram
visitados e pode, em implementações práticas, ser usado para o armazenamento dos
conjuntos de níveis, em sua sucessão. É óbvio que será necessário um apontador para
indicar o ínicio de cada conjunto de nível.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 1 1
2 1 1 1 1 1
3 1 1 1 1
4 1 1 1 1
5 1 1 1 1 1
6 1 1 1
7 1 1 1 1 1
8 1 1 1 1 1 1 1
9 1 1 1 1 1
10 1 1 1 1
11 1 1 1 1 1 1
12 1 1 1 1 1 1 1
13 1 1 1 1 1
14 1 1 1 1 1
15 1 1 1 1 1
DISCRETIZAÇÃO ORIGINAL
Página 37 de 62
A seguir mostra-se a aplicação dos algoritmos de ordenamento de Cuthill-
McKee, do ordernamento reverso de Cuthill-McKee (RCMK) e de ordenamento de
Cuthill-McKee iniciando com ii = 1, todos aplicados a partir da discretização original
vista acima.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 1 1 1
2 1 1 1 1 1 1 1
3 1 1 1 1
4 1 1 1 1 1
5 1 1 1 1 1
6 1 1 1 1 1 1 1
7 1 1 1 1 1
8 1 1 1
9 1 1 1 1 1
10 1 1 1 1 1 1 1
11 1 1 1 1 1
12 1 1 1 1 1
13 1 1 1 1 1
14 1 1 1 1
15 1 1 1
ORDENAMENTO DE CUTHILL-McKEE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 1 1
2 1 1 1 1
3 1 1 1 1 1
4 1 1 1 1 1
5 1 1 1 1 1
6 1 1 1 1 1 1 1
7 1 1 1 1 1
8 1 1 1
9 1 1 1 1 1
10 1 1 1 1 1 1 1
11 1 1 1 1 1
12 1 1 1 1 1
13 1 1 1 1 1
14 1 1 1 1 1 1 1
15 1 1 1 1
ORDENAMENTO REVERSO DE CUTHILL-McKEE
Análise e Métodos Numéricos Aplicados a Engenharia
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 1 1
2 1 1 1 1
3 1 1 1 1 1
4 1 1 1 1 1
5 1 1 1 1 1
6 1 1 1 1 1 1 1
7 1 1 1 1 1
8 1 1 1
9 1 1 1 1 1
10 1 1 1 1 1 1 1
11 1 1 1 1 1
12 1 1 1 1 1
13 1 1 1 1 1
14 1 1 1 1 1 1 1
15 1 1 1 1
ORDENAMENTO REVERSO DE CUTHILL-McKEE
As matrizes que aparecem nos problemas modelados por elementos finitos são todas
caracterizadas por um bloco superior esquerdo que é diagonal, isto é, tem a seguinte
estrutura:
⎛D U ⎞⎟
A = ⎜⎜ ⎟
⎜⎝ L C⎠⎟⎟
Página 39 de 62
Referindo-se ao grafo de adjacência G = (V, E) da matriz, e denotando por (x,
y) o elo ou ligação de um vértice x ao vértice y, um conjunto independente S é um
subconjunto de vértices de V tal que:
se x ∈ S, entao {( x, y ) ∈ E ∨ ( y, x ) ∈ E} → y ∉ S
Para explicar isso em outras palavras, diz-se que elementos de S não são permitidos
estarem conectados a outros elementos de E .
Um conjunto independente é dito ser maximal se ele não pode ser aumentado por
elementos no seu complemento para formar conjuntos independentes maiores. Note que
um conjunto independente maximal é o maior conjunto independente que pode ser
achado.
n
s≥
1+ µ
Isso nos sugere que é uma boa política de visitação, visitar-se primeiro os nós de menor
grau. Isso pode ser feito pelo algoritmo definido acima, apenas substituindo o modo de
visitação por uma permutação que englobe primeiro os nós de menor grau.
n
s≥
1 + µs
O algoritmo pode ser visto então como: em cada tempo que um nó é visitado, ele e seus
vizinhos próximos são retirados do grafo e então se visita um nó do grafo restante;
continua-se até que todos os nós forem visitados. Cada nó visitado pertence a S e seus
vizinhos próximos pertencem a S’ . Como resultado, se µi é o grau do nó visitado no
passo i, ajustado para todas as arestas removidas resultante das visitas anteriores, então
o número ni de nós que são retirados no passo i satisfaz a seguinte relação:
ni = ni−1 − µi − 1
Os métodos básicos para obter uma multicoloração de uma malha arbitrária é bastante
simples:
Página 41 de 62
Aqui, Adj(i) representa o conjunto de nós que são adjacentes ao nó i. A cor designada
para o nó i na linha 5 é a menor cor permitida de modo que assegure ao nó i uma cor
diferente das cores de seus vizinhos.
Exercícios
⎧* * 0 * 0 0⎫ ⎧* 0 0 0 0 0⎫
⎪0 * 0 0 0 *⎪ ⎪* 0 * 0 * 0⎪
⎪ ⎪ ⎪ ⎪
⎪0 * * 0 0 0⎪ ⎪0 * 0 0 0 0⎪
A=⎨ ⎬ B=⎨ ⎬
⎪0 * 0 0 * 0⎪ ⎪* * 0 0 0 0⎪
⎪0 0 0 0 * 0⎪ ⎪0 * 0 * * 0⎪
⎪ ⎪ ⎪ ⎪
⎩0 0 0 0 0 *⎭ ⎩0 0 * 0 0 *⎭
2
c – Considere agora B=A, e depois B=A . Dê interpretações para C=AB e mostre
seu grafo de adjacência.
n
d – Generalize a questão c acima para o caso de B=A .
2. Seja
⎛* * * ⎞
⎜* * * * ⎟⎟
⎜
⎜ * * ⎟
A=⎜ ⎟
⎜ * * ⎟
⎜* * * *⎟
⎜ ⎟
⎝ * * *⎠
Uma definição alternativa é a de que uma matriz tem a Propriedade A se ela pode ser
permutada por uma matriz com a seguinte estrutura:
Página 43 de 62
⎛D -U ⎞⎟
A´= ⎜⎜ 1 ⎟
⎜⎝ -L D 2 ⎠⎟⎟ (2)
onde D1 e D2 são matrizes diagonais. Esta estrutura pode ser obtida pela primeira
rotulação de todas as incógnitas em S1 de 1 até n1, no qual n1 = |S1| e o resto de n1 + 1
até n. Note que a matriz de iteração de Jacobi tem a mesma estrutura, exceto que os
blocos D1 e D2 são trocados por blocos zerados. Essas matrizes de iteração de Jacobi
satisfazem um importante propriedade estabelecida na seguinte proposição:
⎛ 0 A 12 ⎞⎟
A = ⎜⎜ ⎟ (3)
⎜⎝ A 21 0 ⎠⎟⎟
Os autovalores da matriz
1
A(α) = α L + U (4)
α
Demonstração:
⎛ x⎞
A primeira propriedade é demonstrada por simples observação de que ⎜⎜ ⎟⎟⎟ é um
⎜⎝υ⎠⎟
⎛ x⎞
autovetor associado com λ, então ⎜⎜ ⎟⎟⎟ é um autovetor de A associado com o autovalor
⎜⎝−υ⎠⎟
-λ .
⎛1 0 ⎞⎟
X = ⎜⎜ ⎟
⎜⎝0 α⎠⎟⎟
⎛ D1 T12 ⎞⎟
⎜⎜ ⎟⎟
⎜⎜T21 D2 T23 ⎟⎟
⎜⎜ ⎟
T = ⎜⎜ T32 D3 ⎟⎟⎟ (5)
⎜⎜ ⎟
⎜⎜ Tp−1, p ⎟⎟⎟
⎜⎜ ⎟⎟
⎜⎜⎝ Tp , p−1 D p ⎟⎟⎠
⎟
cujos blocos diagonais Di são matrizes diagonais, são denominadas T-matrizes. Essas
matrizes são consistentemente ordenadas. Note que as matrizes da forma (2) são um
caso particular de T-matrizes com p=2.
Seja agora considerar um matriz consistentemente ordenada geral. Por definição, existe
uma permutação π de {1, 2, ... , n} a qual é a união de p subconjuntos disjuntos
π = π1 ∪ π2 ∪ πp (6)
A´= PT AP
é uma T-matriz.
Nem toda matriz que pode ser simetricamente permutada em uma T-matriz é
consistentemente ordenada. A propriedade importante aqui é que a partição {πi }
preserva a ordem dos índices i, j dos elementos não nulos. Em termos de grafos de
adjacência, existe uma partição do grafo com a propriedade que uma ligação orientada
i,j de i para j sempre aponta para um conjunto com um indice maior se j > i, ou em
caso contrária, para um de indice menor. Em particular, uma consequencia muito
impoortante que as ligações correspondendo para a parte triangular inferior permanecerá
assim na matriz permutada. O mesmo é verdadeiro para a parte triangular superior.
'
Além disso, se um elemento não nulo na matriz permutada é ai´ , j´ = aπ−1 ( i ),π−1 ( j ) ≠ 0
com i ' > j ' , então por definição de permutação π (i ' ) > π ( j ' ) ou
Página 45 de 62
i = π (π−1 (i )) > j = π (π−1 ( j )) . Devido a preservação da ordem, é necessário que i > j.
Uma observação similar também é verdadeira para a parte triangular superior.
1
B(α) = α L + U
α
Demonstração:
1 T
P T B(α)P = αP T LP + P UP
α
⎛1 ⎞⎟
⎜⎜ ⎟⎟
⎜⎜ α I ⎟⎟
⎜ ⎟⎟
X = ⎜⎜⎜ α2 I ⎟⎟
⎜⎜ ⎟⎟
⎜⎜ ⎟⎟
⎜⎜ p−1 ⎟
⎟
⎜⎝ α I ⎠⎟⎟
Análise e Métodos Numéricos Aplicados a Engenharia
Note queT-matrizes e matrizes com a estrutura (2) são dois casos particulares de
matrizes com total atendimento às hipóteses da proposição acima. Existe um número de
bem conhecidas propriedades relacionadas com a Propriedade A e consistentemente
ordenadas. Por exemplo, é possivel mostrar que, a Propriedade A é invariante sob
permutações simétricas.●
(ωU + (1− ω ) D) =
−1
M SOR = ( D − ω L)
−1
= ( I − ω D −1 L ) (ω D−1U + (1− ω ) I )
Teorema 1 : Seja A uma matriz consistentemente ordenada tal que aii ≠ 0
para i = 1,..., n , e seja ω ≠ 0 . Então se λ é um autovalor não nulo da matriz de
iteração SOR, MSOR , qualquer escalar µ tal que
2
(λ + ω −1) = λω 2µ 2 (8)
um autovalor, então
( (
det λI − (I − ωL')
−1
(ωU' + (1− ω ) I))) = 0
Página 47 de 62
⎛ λ + ω −1 ⎞
det ⎜⎜⎜ I − (λL' + U')⎟⎟⎟ = 0
⎝ ω ⎠
λ + ω −1
a qual significa que é um autovalor de λL' + U' . Assim, como A é
ω
consistentemente ordenada, os autovalores de λL' + U' a qual é por sua vez igual a
λ
1
2
(λ 1
2
L' + λ
−1
2
) 1
U' são os mesmos de λ 2 (L' + U') onde L'+U' é a matriz de
iteração de Jacobi. A prova segue imediatamente.
Este teorema permite o cálculo de um valor ótimo para ω, o qual ´pde ser
mostrado ser igual a
2 (9)
ωotimo =
2
1 + 1− ρ ( B )
O método implícito das direções alternadas (conhecido por ADI = Alternating Direction
Methods) foi introduzido em meados da década de 50 do seculo XX por Paeceman e
Rachford especificamente para resolver equações que apareciam nos problemas de
discretização por diferença finita de equações em derivadas parciais elípticas e
parabólicas.
∂ ⎛⎜ ∂u ( x, y ) ⎞⎟ ∂ ⎛⎜ ∂u ( x, y ) ⎞⎟
⎜⎝⎜a ( x, y ) ⎟⎟ + ⎜b( x, y ) ⎟ = f ( x, y )
∂x ∂x ⎠ ∂y ⎜⎝ ∂y ⎠⎟⎟
(1)
em um domínio retangular com as condições de contorno de Dirichlet. As equações são
discretizadas com diferenças finitas centrais usando n+2 pontos na direção x e m+2
pontos na direção y. O resultado é um sistema de equações
Hu + Vu = b
(2)
∂ ⎜⎛ ∂⎞ ∂ ⎜⎛ ∂⎞
⎜⎜⎝a ( x, y ) ⎠⎟⎟⎟ e ⎜⎜b( x, y ) ⎟⎟⎟⎟
∂x ∂x ∂y ⎝ ∂y ⎠
respectivamente. No que se segue, a mesma notação é usada para representar a versão
da discretização da função incógnita u.
O algoritmo ADI consiste em iterações para resolver (2) nas direções x e y de forma
alternada.
3. Resolva ( V + ρk H ) uk +1 = (ρk I − H) u 1 +b
k+
2
4. Fim
Aqui ρk , k=1,2,... é uma sequencia de paramentros positivos de aceleração.
O caso específico onde ρk é escolhido ser uma constante ρ merece uma atrenção
particular. Neste caso, pode-se formular a iteração acima na forma usual
xk +1 = Gxk + f com
−1 −1
G = (V + ρ I ) ( H − ρ I )( H + ρ I ) (V − ρ I )
f = (V + ρ I ) ⎡⎢ I − ( H − ρ I )( H + ρ I ) ⎤⎥ b
−1 −1
⎣ ⎦
(3)
ou quando ρ > 0, na forma xk +1 = M−1Nxk + M−1b com
1
M= (H + ρI)( V + ρI)
2ρ
1
N = (H − ρI)( V − ρI)
2ρ
(4)
Note que f em (3) pode ser reescrita em uma forma mais simples (veja nos exercícios).
∂u ∂⎛ ∂u ⎞ ∂ ⎛ ∂u ⎞
= ⎜⎜a ( x, y ) ⎟⎟⎟ + ⎜⎜b( x, y ) ⎟⎟⎟
∂t ∂x ⎜⎝ ∂x ⎠ ∂y ⎜⎝ ∂y ⎠⎟
(5)
Página 49 de 62
em um domínio ( x, y, t ) ∈ Ω×[0, T ] ≡ (0,1)×(0,1)×[0, T ] . As condições iniciais e as
condições de contorno são:
u ( x, y, 0) = x0 ( x, y ), ∀ ( x, y ) ∈ Ω
u ( x , y , t ) = g ( x , y , t ), ∀ ( x , y ) ∈ ∂Ω, t > 0
(6)
onde ∂Ω é o contorno do quadrado unitário Ω . As equações são discretizadas com
relação ao espaço de variáveis x e y como antes, resultando então em um sistema de
equações diferenciais ordinarias, do tipo
du
= Hu + Vu
dt
(7)
nas quais as matrizes H e V já foram definidas anteriormente. O algoritmo ADI avança
no tempo, alternando as direções x e y como se segue:
⎛ ⎞ ⎛ ⎞
⎜⎜ I − 1 tH ⎟⎟ u 1 = ⎜⎜ I + 1 tV ⎟⎟ uk
⎜⎝ 2 ⎟
⎠ 2 ⎝
k + ⎜ 2 ⎠⎟
⎛ ⎞ ⎛ ⎞
⎜⎜ I − 1 tV ⎟⎟ uk +1 = ⎜⎜ I + 1 tH ⎟⎟ u 1
⎜⎝ 2 ⎠⎟ ⎝⎜ 2 ⎠⎟ k + 2
19 20 21 22 23 24 4 8 12 16 20 24
13 14 15 16 17 18 3 7 11 15 19 23
7 8 9 10 11 12 2 6 10 14 18 22
1 2 3 4 5 6 1 5 9 13 17 21
Ordenam ento Horizontal Ordenam ento Vertical
Assumindo que os pontos da malha são ordenados por linha na direção x, então o
promeiro passo do algoritmo ADI constitue um conjunto de m sistemas lineares
tridiagonais independentes cada um com tamanho n. No entanto, o segundo passo
contitue um grande sistema tridiagonal cujas diagonais são balizadas por –m, 0 e m
respectivamente. Este segundo sistema pode também ser reescrito como um conjunto de
n sistemas tridiagonais independentes de tamanho m pelo reordenamento dos pontos da
malha por linhas no sentido de y. Os ordenamentos naturais vertical ou horizontal são os
representados acima. Entretanto no movimento de meio passo do ADI para o próximo,
precisa-se implicitamente trabalhar com a transposta da matriz representando a solução
nos nXm pontos da malha. Esta operação é, em geral, uma tarefa trabalhosa e custosa e
é normalmente citada como uma das dificuldades deste caso.
Análise e Métodos Numéricos Aplicados a Engenharia
Exercícios
b – Agora dado α=2, como esta matriz secrelaciona com as matrizes de iteração de
Jacobi, de Gaus-Seidel e SOR ? qual dessas matrizes de iteração convergirá para a
matriz dada acima e com qual faotr de convergência ? No caso do SOR para que valores
de ω o processo SOR irá convergir ?
2 – Dada
⎛ D1 U2 ⎞⎟
⎜⎜
⎜⎜ L2 D2 U3 ⎟⎟⎟
⎜ ⎟⎟
A = ⎜⎜⎜ L3 D3 ⎟⎟
⎟⎟
⎜⎜
⎜⎜ U M ⎟⎟⎟
⎜ ⎟⎟
⎜⎜⎝ LM DM ⎠⎟⎟
onde os blocos Di são matrizes não singulares os quais não são necessáriamente
diagonais.
Página 51 de 62
3 – Mostre que f = (V + ρ I ) ⎡⎢ I − ( H − ρ I )( H + ρ I ) ⎤⎥ b pode ser reescrito como
−1 −1
⎣ ⎦
−1 −1
f = 2ρ (V + ρ I ) ( H + ρ I ) b
4 – Mostre que uma matriz tem a Propriedade A se e somente se existe uma matriz de
permutação P tal que A´= PT AP é consistentemente ordenada.
⎛ 0 E 0 ⎞⎟
⎜⎜ ⎟
B = ⎜⎜ 0 0 F⎟⎟⎟
⎜⎜ ⎟⎟
⎝⎜H 0 0 ⎠⎟
b – Assuma que a matriz A tenha a forma A=D+B onde D é uma matriz diagonal não
singular e B uma matriz tri-cíclica. Como podem os autovalores da matriz de iteração de
Jacobi serem relacionados com aqueles da matriz de iteração de Gauss-Seidel?
Projeção
É necessário antes de tudo definir e compreender o que é uma projeção; para isso
nxm
seja A uma matriz de C .
Ran( A ) {Ax ∴ x ∈ m }
Definição 2: Seu kernel (núcleo) ou espaço nulo é definido por:
Ker ( A ) {x ∈ m
Ax = 0}
Análise e Métodos Numéricos Aplicados a Engenharia
Se x ∈ Ker (P) → Px = 0
n
Qualquer que seja x ∈ C , ele pode ser escrito como x = Px + (I-P)x
n
O espaço C pode ser decomposto como a soma direta Cn = Ker(P) ⊕ Ran(P)
n
Assim, cada par de espaços M e Q que formam a soma direta de C define um único
projetor P, tal que
Ran (P) = M
Ker (P) = Q
n
Esse projetor P mapeia um elemento de x ∈ C em um componente x1, onde x1 é um
componente em M, da decomposição única x = x1 + x2 associado à soma direta
definida na propriedade 6 acima. Assim, para qualquer x, o vetor Px satisfaz a seguinte
condição:
Px ∈ M
x – Px ∈ Q
Página 53 de 62
⊥
Se por sua vez, em vez de tomar Q se tomar L = Q , um espaço perpendicular a Q, e
fazendo u = Px, as expressões acima tornam-se:
u ∈M
x–u ⊥L
u ∈ M (Px ∈ M )
x–u ⊥ L (x-Px ∈ Q )
Prova:
∀x ∈ M, ∃u, w → x = u + w, ∴ u ∈ M ∧ w = (x − u) ∈ L⊥ .
Px ∈ M
(I − P) x ⊥ M
ou equivalentemente
Px ∈ M
((I − P) x, y ) = 0, ∀y ∈ M
sendo M = [ M ] e L = [ L ].Assim, Px e (I-P)x na decomposição x = Px + (I-P)x
são ortogonais, donde
Análise e Métodos Numéricos Aplicados a Engenharia
x 22 = Px 2
2 + ( I − P) x 2
2
→ Px 22 = x 2
2 − (I − P) x 22 ⇒ Px 22 ≤ x 22 → Px 2 ≤ x 2
ou ainda
2 2 2
Px x Px
2
≤ 2
⇒ 2
≤ 1, ∀x ∈ Cn
x x x
Com isso, o valor máximo que é alcançado por qualquer elemento em Ran(P) é
2
P = 1.
Dessa forma, um projetor ortogonal tem apenas dois autovalores: zero e um. Qualquer
vetor de Ran(P) é um autovetor associado com o autovalor 1(um) bem como qualquer
vetor de Ker(P) é um autovetor assciado com o autovalor 0(zero).
min x − y 2 = x − Px 2
y∈ M
Prova:
min x − y 2 = x − y*
Corolário : Seja M um subespaço, e seja x ∈ Cn , então y∈ M 2
se e
somente se
(i) y* ∈ M
e (ii) A´= PT AP
Página 55 de 62
Definições Básicas
onde A é uma matriz real n x n. A ideia de técnica de projeção é extrair uma solução
n
aproximada do problema acima, no espaço R . Se K é um subespaço onde se localiza
a solução aproximada, o denominamos de subespaço de pesquisa, sendo m sua
dimensão, então, em geral, restrições sobre m precisam ser impostas para se ser hábil
para extrair a aproximação desejada.
n
Sejam A um matriz real n x n e K e L dois m-dimensionais subespaços de R . Uma
técnica de projeção sobre o subespaço K e ortogonal a L é um processo que acha uma
solução aproximada ξ de (1) pela imposição da condição de que ξ pertença a K e que o
vetor residual seja ortogonal a L.
Note que se ξ for erscrito como ξ = x0 + δ, com o vetor residual inicial r0 definido
como r0 = b – Ax0 (4)
ξ = x0 + δ, δ ∈ K, (5)
Análise e Métodos Numéricos Aplicados a Engenharia
Este é o passo básico de projeção, na sua forma mais geral. Muitas técnicas utilizam um
sucessão de tais projeções, Tipicamente, um novo passo de projeção usa um novo par de
subespaços K e L e uma nova aproximação inicial que é igual a última aproximação
achada no passo anterior.. Assim cada aproximação é definida via m graus de liberdade
(subespaço K ) e m restrições (subespaço L ).
Sejam V = [v1, . . .,vm], uma matriz n x m cujos vetores-coluna formam uma base de
K e similarmente W = [w1, . . ., wm], uma matriz n x m cujos vetores-coluna formam
uma base de L. Se a solução aproximada é
ξ = x 0 + Vy
W T AVy = W Tr0
T
Se por hipótese considerar-se que a matriz m x m W AV seja não-singular, pode-se
reescrever a expressão da solução aproximada da seguinte maneira:
ξ = x0 + V(WTAV)-1WTr0
A seguir apresenta-se um algoritmo que representa uma ideia geral para o método da
projeção:
ALGORITMO
Faça até convergir
Selecione um par de subespaços K eL
r := b - Ax
y := (WTAV)-1WTr
x := x + Vy
Fim
T
A solução aproximada acima é definida apenmas quando a matriz (W AV) for
não-singular, o que não é garantido ser verdadeiro sempre que A for não-singular. Isso
pode ser visto pelo exemplo a seguir: Seja a matriz A
Página 57 de 62
⎛0 I⎞
A=⎜ ⎟
⎜ I I⎟
⎝ ⎠
Existem, porém, dois casos particulares nos quais pode-se garantir a não-singularidade
T
de (W Av).
B = WTAV = GTVTAV
T
Como, por hipótese, A é positiva definida, então V AV também é positiva definida
que por sua vez leva B a ser não-singular.
Seja agora o caso ii. De forma semelhante ao caso anterior, tem-se L = AK, assim W
pode ser expressado por W = AVG, . Então
B = WTAV = GT(AV)TAV
Onde
1
E ( x ) = ( A( x* − x ) , ( x* − x ))
2
onde x* é a solução
exata.
Como foi visto na introdução deste tópico e na proposição anterior, para que ξ minimize
R(x) é necesário e suficiente que b-Aξ seja ortogonal a todos os vetores de forma v =
Ay onde y ∈ K, isto é,
(b − Aξ , v ) = 0, ∀v ∈ AK
É bom notar que A necessita ser não-singular na proposição acima. Quando A for
singular, existirão infinitos vetores ξ que satisfafem a condição de otimização.
b − Axm ⊥ Lm
Página 59 de 62
K m ( A, r0 ) = span {r0 , Ar0 , A2 r0 , …, Am−1r0 }
onde r0 = b – Ax0.
No software MathCad (versão 2001 utilizado), existem funções que ajudam a resolver
sistemas de equações lineares:
Dada uma matriz A , a função lu( A ) retorna uma matriz contendo 3 matrizes
quadradas, da ordem de A , P, L e U, juntas lado a lado, nesta ordem. Essas matrizes
satisfazem a equação PM=LU.
T
Outra função, cholesky( A ) retorna uma matriz triangular inferior L, tal que LL =M.
Quando um bloco de solução envolve apenas uma incógnita, a função minerr retorna um
escalar. Caso contrário, ela retorna um vetor cujo primeiro elemento é x, o Segundo
elemento é y e assim por diante.
Fie na mente que a função minerr retorna uma resposta que minimiza o erro nas
restrições dadas. Entretanto a função minerr não pode verificar se a resposta representa
uma mínimo absoluto para os erros das restrições. Se usamos minerr, precisamos incluir
checagens sobre a razoabilidade do resultado. A função minerr é particularmente útil
para resolver certos problemas de mínimos quadrados não-lineares.
erros com relação as variáveis a serem resolvidas para criar uma matriz Jacobiana.
Ordinariamente, Mathcad pode determinar a próxima estimative calculando passo s de
Gauss-Newton para cada variável. Em notação matricial, MathCad resolve a equação
matricial:
J.s = -f(x)
O cálculo deste passo nem sempre é possível. Ele falha quando o Jacobiano não puder
ser invertida ou quando existem mais restrições que incógnitas a serem resolvidas.
Nesses casos, Mathcad adiciona uma condição adicional que a quantidade que se seque
será reduzida a um mínimo :
∑ ( D ) (s )
2 2
j j
j
A seguir vamos ver alguns exemplos, para os quais se utilizará MathCad e MatLab para
a solução de sistemas de equações lineares.
Página 61 de 62