elementos de análise numéricasistemas lineares -matrizes e operações com matrizes -forma geral...
TRANSCRIPT
Elementos de Análise NuméricaSistemas lineares
-matrizes e operações com matrizes-forma geral de sistemas de equações lineares-solução gráfica-métodos directos
-regra de Cramer-Gauss (pivotagem)-matriz inversa (Gauss-Jordan)-factorização LU -análise dos erros (número de cond. da matriz)
-métodos iterativos-Gauss-Siedel-Jacobi
-Sistemas especiais
Resolução de sistemas de equações lineares
Pontos mais importantes:
1
Elementos de Análise NuméricaSistemas lineares
Representação geral de sistemas lineares
-procuramos os valores de x1, x2,........,xn que satisfaçam simultaneamente as funções seguintes:
f1(x1, x2,........,xn )=0f2(x1, x2,........,xn )=0...fn(x1, x2,........,xn )=0
-sistemas lineares (fi (1<i<n) são lineares):a x a x a x
a x a x a x
a x a x a x
c
c
c
n n
n n
n n nn n n
11 1 12 2 1
21 1 22 2 2
1 1 2 2
1
2
...
...
...
ou [A]nn*{x}n={c}n
-Exemplos práticos: reactores, solução numérica de eq. diferenciais, optimização,...2
Elementos de Análise NuméricaSistemas lineares
Solução gráfica
-aplicação para n=2 a x a x
a x a x
c
c
x
x
a
ax
c
aa
ax
c
a
11 1 12 2
21 1 22 2
1
2
2
2
11
121
1
12
21
221
2
22
x2
x1
solução-sistemas singulares:
-sem solução: decl. iguais -infinit num.de sol.: decl.
e intercep. iguais
-mal condicionados:-próximo de singulares-extremamente sens. a erros
3
Elementos de Análise NuméricaSistemas lineares
Métodos de solução
1, Métodos directos: -solução por eliminação de incógnitas-solução “exacta” num número fin. de op. aritméticas simples-regra de Cramer-eliminação Gaussiana-matriz inversa (Gauss-Jordan)-factorização LU
4
Elementos de Análise NuméricaSistemas lineares
Factorização LU (decomposição triangular)
-só envolve operações com a matriz dos coeficientes
-adequada para resolver sistemas com a mesma matriz dos coef. (várias
vectores de segundos membros)
-consequentemente mais eficiente que o método de Gauss-Jordan
-com certas modificações simples permite calcular a matriz inversa de
[A]
-necessita de uma estratégia de pivotagem como os outros métodos
directos
-a eliminação Gaussiana pode ser usada como um método LU
5
Elementos de Análise NuméricaSistemas lineares
Factorização LU (decomposição triangular)
[A]nn*{x}n-{c}n=0
-suponha que esta eq. pode ser reformulada como:
1
0 1
0 0 1
12 1
2
1
2
1
2
a a
a
x
x
x
d
d
d
n
n
n n
ou [U]nn*{x}n-{d}n=0
-suponha também que existe uma matriz triangular inferior:
L
l
l
l ln n nn
11
21 22
1 2
0 0
1 0
1
tal que: [L] nn([U]nn*{x}n-{d}n)= [A]nn*{x}n-{c}n
então: [L] nn[U]nn=[A]nn
e [L] nn {d}n ={c}n6
Elementos de Análise NuméricaSistemas lineares
Factorização LU (decomposição triangular)
diagrama do método: [A]nn*{x}n={c}n
[U] nn [L]nn
[L] nn* {d}n ={c}n
[U]nn *{x}n={d}n
{x}
decomposição
substituição parafrente
substituição paratrás
7
Elementos de Análise NuméricaSistemas lineares
Decomposição Crout
-resulta uma matriz onde [U] contém 1 na diagonal
-determinação de elementos de [L] e [U] simultaneamente usando
as regras de multiplicação da matrizes: [L] nn[U]nn=[A]nn
nn2n1n
n22221
n11211
aaa
aaa
aaa
nn2n1n
n22221
n11211
lll
0ll
00l
1
0 1
0 0 1
12 1
2
u u
un
n
Algoritmo: li1=ai1 1<i<nu1j=a1j/l11 1<j<n
-repetir para j=2,3,,,n-1
l a l u
a l u
l
a l u
ij ij ik kjk
j
jk ji iki
j
jj
nn nk knk
n
1
1
1
1
1
1
para i = j, j +1,..., n
u para k = j +1, j + 2,..., n
l
jk
nn
-e
8
Elementos de Análise NuméricaSistemas lineares
Substituição para frente: aplicação das regras de multiplicação de matrizes
[L] nn* {d}n ={c}n
l
l l
l l l
n
n
m m mn
11 12 1
21 22 2
1 2
0 0
0
d
d
dn
1
2
c
c
cn
1
2
-algoritmo:
dc
l
c l d
l
i ij jj
i
ii
11
11
1
1
d para i = 2,3,..., ni
9
Elementos de Análise NuméricaSistemas lineares
Substituição para trás: aplicação das regras de multiplicação de matrizes
1
0 1
0 0 1
12 1
2
u u
un
n
x
x
xn
1
2
d
d
dn
1
2
[U]nn *{x}n={d}nx d
u x
n n
ij jj i
n
x = d para i = n -1, n - 2,...,1i i
1
-algoritmo:
10
Elementos de Análise NuméricaSistemas lineares
-exemplo:
0
9
10
x
x
x
226
813
731
3
2
1
- decomposição:
226
813
731
333231
2221
11
lll
0ll
00l
100
u10
uu1
23
1312
l11=a11=-1 ; l21=a21=3 ; l31=a31=6
l11u12=a12 ->u12=a12/l11=3/-1=-3
l11u13=a13 ->u13=a13/l11=7/-1=-7
l21u12+ l221 =a22 ->l22=10
l31u12+ l321 =a32 ->l32=20
l21u13+ l22u23 =a23 ->u23=2.9
l31u13+ l32u23 + l331 =a33 ->l33=-1811
Elementos de Análise NuméricaSistemas lineares
18206
0103
001
L
100
9.210
731
U
-Substituição para frente:
[L] nn* {d}n ={c}n
3
2
1
d
d
d
18206
0103
001
0
9
10
d1=-10/-1=10
d2=(9-310)/10=-2.1
d3=(0-610-20(-2.1))/-18=1
1
1.2
10
d
12
Elementos de Análise NuméricaSistemas lineares
Substituição para trás:
[U]nn *{x}n={d}n
3
2
1
x
x
x
100
9.210
731
1
1.2
10
x3=1
x2=-2.1-2.91=-5
x1=10-(-3)(-5)- (-7)1 =2
1x
5x
2x
3
2
1
13
Elementos de Análise NuméricaSistemas lineares
Análise dos erros e número de condição de matrizes
-a solução de um sistema linear envolve a propagação dos erros de
arredondamento, por isso deve ser considerada como uma solução
aproximada
14
-exemplo (solução exacta: x1=8 x2=0,8):
35,6
67,1
4.1000,210,1
0,10 00,205,1
2
1
21
21
x
x
xx
xx
200,00,1006,14,10
120.000,206,100,2
200,0
0,10
120,00
00,205,1
4,10
0,10
00,210,1
00,205,1
2)1(
22)1(
06,105,1
10,1
c
a
f
35,605,1
67,100,20,10
67,1120,0
200,0
1
2
x
x
Elementos de Análise NuméricaSistemas lineares
Análise dos erros e número de condição de matrizes
-erro de aproximação:
-resíduo da solução:
-além de aplicações em engenharia, a matriz inversa indica se um sistema
é mal condicionado (erros grandes):
e x x
R A x A x c A x
A e R
15
- A é normalizada e existem elementos em A-1 que são várias ordens de magnitude maiores que a unidade
- A* A-1 é muito diferente que I
- [A-1] -1 é muito diferente que A
Elementos de Análise NuméricaSistemas lineares
Análise dos erros e número de condição de matrizes
Normas de vectores e matrizes: uma função real que mede o “tamanho”
de vectores e matrizes
-a norma tem propriedades semelhantes ao valor absoluto de um número
F a b F a b ce c 2 2 2vectores: -Euclidiana:
x x x xe ii
n
1 2 nx ...x 2
1
-”uniform vector norm” (elemento de valor maior absoluto):
x x x x ii n
1 2 nx ...x max1
-norma de ordem p:
x x x xp i
p
i
n
p 1 2 nx ...x
116
Elementos de Análise NuméricaSistemas lineares
matrizes: -Frobenius: A aF ijj
n
i
n
2
11
Análise dos erros e número de condição de matrizes
-”uniform matrix norms”
-”row sum” (linha com maior somatório):
-”column sum”(coluna com maior somatório):
A ai n
ijj
n
max
1 1
A aj n
iji
n
11 1
max
17
Elementos de Análise NuméricaSistemas lineares
Análise dos erros e número de condição de matrizes
Características de normas:
( )
( )
( )
( ) *
( )
( )
( )
( , )
i a
ii a a
iii a a b
iv A A B
n
n
n
n n p p p
a e a sse a = 0
e a
e b a + b
e B A * B
(n)
(n,n)
0 0
Resumindo a relação entre erro e resíduo de uma solução aprox.:
R A x A x c A x
A e R e A R
ou 1
então:
R
Ae A R A R 1 1
18
Elementos de Análise NuméricaSistemas lineares
Análise dos erros e número de condição de matrizes
-erro relativo:e
x-resíduo relativo:
R
c
R
Ae A R A R 1 1
-combinando estas expressões, os limites superior e inferior do erro
relativo (desconhecido) em termos do resíduo relativo (conhecido)
podem ser escritos:
c
A x
R
c
e
x
A
x
R
cc
1
ou
11
1
A A
R
c
e
xA A
R
c onde cond(A)=||A||*||A-1||
19
Elementos de Análise NuméricaSistemas lineares
Análise dos erros e número de condição de matrizes
-se cond(a) é próx. de 1, então o erro relativo e o resíduo relativo têm
sempre grandezas semelhantes--------> o resíduo relativo pode ser
usado como uma estimativa do erro relativo
-quanto maior for cond(A) maior é a incerteza associada à solução
aproximada, e menos informação é obtida a partir do resíduo relativo
-é obvio que cond(A) depende da norma usada (sempre >1)
-erros de arredondamento (expressão alternativa):
e
xcond A
E
A
E A A
( )
se os elementos de A têm t algar. sign. (ij aprox. 10-t) e cond(A)=10c ----> a solução pode ser correcta ate t-c dígitos (erro de arredondamento da ordem 10c-t)
20
Elementos de Análise NuméricaSistemas lineares
Métodos de solução
2, Métodos iterativos: -solução por processo iterativo (um número infinito de operações)-necessita de estimativas iniciais para cada incógnita-mais adequado que os métodos directos no caso de sistemas muito grandes (n>100)-vantagem que A nunca é alterada durante o processo iterativo------> fácil “economizar” a memória-a presença de erros de arredondamento origina um limite de melhoramento-método de Jacobi-método de Gauss-Seidel
21
Elementos de Análise NuméricaSistemas lineares
Métodos iterativos
-métodos iterativos em forma geral: [M]{x(k+1)}={c}+[N]{x(k)}
-comparando com a expressão para sistemas lineares: [A]*{x}={c}
[A]= [M]- [N]
-a forma particular de [M] e [N] depende de método utilizado
22
Elementos de Análise NuméricaSistemas lineares
Método de Jacobi
[M]=[D]=diag[A]
e
[N]=[D]-[A]= -([L]+[U])
-onde [L] e [U] são matrizes triagonais (não iguais às matrizes resultantes
de decomp. LU!) com ai i=0.
-o algoritmo em termos de componentes:
ii
n
1j
kjiji
ki
1ki
ii
n
ij1j
kjiji
1ki a
xac
xxou a
xac
x
23
Elementos de Análise NuméricaSistemas lineares
4
5
7
x
x
x
917.0
182
35.07
3
2
1
9
x9xx7.04xx
8-
x8xx25xx
7
x3x5.0x77xx
k3
k2
k1k
31k
3
k3
k2
k1k
21k
2
k3
k2
k1k
11k
1
k=0
4444.09
)0(9)0()0(7.040x
625.08-
)0()0(8)0(250x
17
)0(3)0(5.0)0(770x
13
12
11
k=1
2972.0x
9531.0x
146.1x
23
22
21
k=2
2494.0x
031.1x
059.1x
33
32
31
k=3
2475.0x
019.1x
033.1x
43
42
41
495.0
344.0
127.0146.1
)1146.1(
ea
192.0
076.0
082.0
ea
008.0
012.0
025.0
ea
-exemplo
24
Elementos de Análise NuméricaSistemas lineares
Método de Gauss-Seidel
-semelhante ao método de Jacobi
-diferença: o novo valor de xi é utilizado logo na equação seguinte para
determinar xi+1 ou por outras palavras, a melhor estimativa disponível é
logo utilizada (em caso de convergência)
algoritmo:
[M]=[L]+ [D] e [N]=[D]-[A]= - [U]
x
c a x a x
ax
c a x a x
aik
i ij jk
ij jk
j i
n
j
i
iiik
ik
i ij jk
ij jk
j i
n
j
i
ii
1
1
11
1
1
1
1
1
ou x
25
Elementos de Análise NuméricaSistemas lineares
4
5
7
x
x
x
917.0
182
35.07
3
2
1
9
x9xx7.04xx
8-
x8xx25xx
7
x3x5.0x77xx
k3
1k2
1k1k
31k
3
k3
k2
1k1k
21k
2
k3
k2
k1k
11k
1
k=0
2694.09
)0(9875.017.040x
875.08-
)0()0(81250x
17
)0(3)0(5.0)0(770x
13
12
11
k=1
2517.0x
9976.0x
053.1x
23
22
21
k=2
2517.0x
009.1x
037.1x
33
32
31
k=3
2517.0x
01.1x
036.1x
43
42
41
07.0
123.0
05.0053.1
)1053.1(
ea
%1
0
011.0
015.0
ae
%1
0
001.0
001.0
ae
-exemplo
26
Elementos de Análise NuméricaSistemas lineares
Convergência de métodos iterativos
-como para o caso de funções simples não há sempre convergência
-a partida semelhança com o método de IPF o critério de conv. pode ser
definido da seguinte forma:
f
xi
ji
n
1
1 para j=1,2,...,nou a aii ijjj i
n
1
-matrizes com esta característica são chamadas diagonalmente dominantes
-condição suficiente mas não necessária
27
Elementos de Análise NuméricaSistemas lineares
Aceleração de convergência com relaxação
-modificação do processo no sentido de “antecipar” a evolução das
iterações:
- é o factor de relaxação e pode variar entre 0-2
-=0-1, média pesada entre o novo e o valor presente (sub- relaxação),
para evitar oscilações na solução
- =1-2 , mais peso para o novo valor , só para sistemas muito estáveis
(sobre-relaxação)
-o valor óptimo de é determinada empiricamente (excepto casos muito
simples)
x x xik
ik
ik 1 1 1 ( )
28
Elementos de Análise NuméricaSistemas lineares
-modificação dos métodos com o objectivo de produzir um algoritmo
mais eficaz a partir da estrutura especial da matriz
-matriz esparsa: muitos coeficientes zeros (<---> matriz densa)
-matrizes em banda: algoritmo de Thomas
-matrizes simétricas: método de Cholesky
Sistemas com matrizes especiais
29
Elementos de Análise NuméricaSistemas lineares
Matrizes em banda
0
0
BW
HBW
- o seu armazenamento requer muito menos
espaço de memória do que no caso geral
- o número de operações que nós
precisamos para resolver o problema é
menor do que no caso geralBW=2*HBW+1
aij= 0 onde |i-j|>HBW
30
Elementos de Análise NuméricaSistemas lineares
Sistemas tridiagonais (BW=3 ou HBW=1)
-sistemas tridiagonais são resultado frequente de cálculo de “splines”
e da solução numérica de equações diferenciais 1D.
-exemplo: -u´´(x)=f(x) 0<x<1 u(0)=u(1)=0
u xu u u
h
h
i i i( )*1 1
2
2
2
1
2
2
-1 0
-1 -1
0 -1 2
0
0
-1 0
0 0
0 0
-1 2 -1
-1 2
u
u
u
u
u
f
f
f
f
f
1
2
3
n-1
n
1
2
3
n-1
n
31
Elementos de Análise NuméricaSistemas lineares
Sistemas tridiagonais (BW=3 ou HBW=1)
-representação geral:
e
a e
0 a d
e
a d e
a d
0
a
a
a
a
d
d
d
d
d
e
e
e
e
0
1
2 2
3 3 3
n-1 n-1 n-1
n n
2
3
n-1
n
1
2
3
n-1
n
1
2
3
n-1
d
d1
2
-algoritmo de Thomas(Gauss): -eliminação:
-d´k e c´k são os coeficientes modificados-o núm. de op e proporcional com n em vez de n3 no caso de algoritmo geral de Gauss
d d
c c
para i
d da
de
c ca
dc
k kk
kk
k kk
kk
1 1
1 1
11
11
= 2,..., n fazer: -substituição para trás:
k
kkkk
nnn
d
xecx
para
dcx
1
´
:fazer 2...,1-n1,-n=i
/
32
Elementos de Análise NuméricaSistemas lineares
Matrizes simétricas
-matrizes simétricas: aij=aji
-desejável trabalhar só com um dos
triângulos, superior ou inferior, da
matriz de coeficientes
-o processo de eliminação produz
submatrizes também simétricas
-factorização de Choleski (adaptada
para o método LU): [A]=[L]*[L]T
[A]nn*{x}n={c}n
[L]T nn [L]nn
[L] nn* {d}n ={c}n
[L]T nn *{x}n={d}n
{x}
decomposição
substituição parafrente
substituição paratrás
33
Elementos de Análise NuméricaSistemas lineares
Factorização de Choleski
1k
1j
2kjkkkk
ii
1i
1jkjijki
ki
lal
e
n2,...,=k e 1-k1,2,...,=i para l
lla
l
-aplicando das regras de multiplicações de matrizes (para linha k):
ik ll= llai
1jkjij
n
1jkjjiki
-podemos chegar o algoritmo de Choleski:
-só funciona se a expressão baixo de raiz quadrado é positivo (matrizes definidas positivas)-quase duas vezes mais rápido do que método geral-pode ser mostrado que o método é numericamente estável sem pivotagem
34