360 likes | 755 Views
Resolução de sistemas de equações lineares. Pontos mais importantes:. - 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
E N D
Resolução de sistemas de equações lineares Pontos mais importantes: -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 1
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 )=0 f2(x1, x2,........,xn )=0 ... fn(x1, x2,........,xn )=0 -sistemas lineares (fi (1<i<n) são lineares): ou [A]nn*{x}n={c}n 2 -Exemplos práticos: reactores, solução numérica de eq. diferenciais, optimização,...
x2 solução x1 Solução gráfica -aplicação para n=2 -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
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
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
Factorização LU (decomposição triangular) [A]nn*{x}n-{c}n=0 -suponha que esta eq. pode ser reformulada como: ou [U]nn*{x}n-{d}n=0 -suponha também que existe uma matriz triangular inferior: 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}n 6
[A]nn*{x}n={c}n decomposição [U] nn [L]nn [L] nn*{d}n ={c}n substituição para frente [U]nn *{x}n={d}n substituição para trás {x} Factorização LU (decomposição triangular) diagrama do método: 7
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 Algoritmo: li1=ai1 1<i<n u1j=a1j/l11 1<j<n -repetir para j=2,3,,,n-1 -e 8
Substituição para frente: aplicação das regras de multiplicação de matrizes -algoritmo: [L] nn*{d}n ={c}n 9
Substituição para trás: aplicação das regras de multiplicação de matrizes -algoritmo: [U]nn *{x}n={d}n 10
-exemplo: - decomposição: 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=-18 11
[L] nn*{d}n ={c}n -Substituição para frente: d1=-10/-1=10 d2=(9-310)/10=-2.1 d3=(0-610-20(-2.1))/-18=1 12
[U]nn *{x}n={d}n Substituição para trás: x3=1 x2=-2.1-2.91=-5 x1=10-(-3)(-5)- (-7)1 =2 13
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 -exemplo (solução exacta: x1=8 x2=0,8): 14
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): - 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 15
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 vectores: -Euclidiana: -”uniform vector norm” (elemento de valor maior absoluto): -norma de ordem p: 16
Análise dos erros e número de condição de matrizes matrizes: -Frobenius: -”uniform matrix norms” -”row sum” (linha com maior somatório): -”column sum”(coluna com maior somatório): 17
Análise dos erros e número de condição de matrizes Características de normas: Resumindo a relação entre erro e resíduo de uma solução aprox.: então: 18
Análise dos erros e número de condição de matrizes -erro relativo: -resíduo relativo: -combinando estas expressões, os limites superior e inferior do erro relativo (desconhecido) em termos do resíduo relativo (conhecido) podem ser escritos: ou onde cond(A)=||A||*||A-1|| 19
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): se os elementos de A têm t algar. sign. (Eij 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
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
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
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: 23
-exemplo k=1 k=2 k=0 k=3 24
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] 25
-exemplo k=1 k=2 k=0 k=3 26
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: ou para j=1,2,...,n -matrizes com esta característica são chamadas diagonalmente dominantes -condição suficiente mas não necessária 27
Aceleração de convergência com relaxação -modificação do processo no sentido de “antecipar” a evolução das iterações: -l é o factor de relaxação e pode variar entre 0-2 -l=0-1, média pesada entre o novo e o valor presente (sub- relaxação), para evitar oscilações na solução - l=1-2 , mais peso para o novo valor , só para sistemas muito estáveis (sobre-relaxação) -o valor óptimo de l é determinada empiricamente (excepto casos muito simples) 28
Sistemas com matrizes especiais -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 29
HBW 0 BW 0 Matrizes em banda - 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 geral BW=2*HBW+1 aij= 0 onde |i-j|>HBW 30
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 31
Sistemas tridiagonais (BW=3 ou HBW=1) -representação geral: -algoritmo de Thomas(Gauss): -eliminação: -substituição para trás: -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 32
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 decomposição [L]Tnn [L]nn [L] nn*{d}n ={c}n substituição para frente [L]Tnn *{x}n={d}n substituição para trás {x} 33
Factorização de Choleski -aplicando das regras de multiplicações de matrizes (para linha k): -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