UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA Unidade II SISTEMAS LINEARES 0011 0010 1 452 Introdução 0011 0010 1 452 A resolução de sistemas lineares pode surgir em diversas áreas do conhecimento. O caso geral, em que o sistema linear envolve m equações com n incógnitas, o sistema pode apresentar uma única solução, infinitas soluções ou não admitir solução. Neste capítulo vamos analisar esquemas numéricos para soluções de sistemas lineares de n equações com n incógnitas, supondo que este tenha uma única solução: a11x1 a12 x2 a13 x3 ... a1n xn b1 a x a x a x .... a x b 21 1 22 2 23 3 2n n 2 an1 x1 an 2 x2 an3 x3 ... ann xn bn 0011 0010 1 452 O sistema é representado por A x = b onde aij são os coeficientes, xj são as incógnitas e os bj são os termos independentes. Os métodos de resolução de equações lineares são classificados em: Métodos Diretos - fornecem a solução exata de um sistema linear, a menos dos erros de máquina, através da realização de um número finito de operações. Métodos Iterativos – fornecem uma seqüência de aproximações para a solução X a partir de uma solução inicial X(0). 0011 0010 1 452 Métodos Iterativos 0011 0010 1 452 Métodos Iterativos Vamos considerar um sistema linear AX = b, onde: A: matriz de coeficientes, n x n; X =(x1, x2, ..., xn)t: vetor de variáveis, n x 1 b: vetor independente, n x 1 (constantes) Tal sistema linear pode ser escrito na forma equivalente: X = CX + d onde: C: matriz com dimensões n x n; d: vetor com dimensões n x 1; 0011 0010 1 452 Partindo de um vetor X(0) (vetor aproximação inicial), constrói-se uma seqüência iterativa de vetores: X(1) = CX(0) + d Primeira aproximação X(2) = CX(1) + d Segunda aproximação De um modo geral, a aproximação X(k+1) é dada por: X ( k 1) CX ( k ) d k = 0, 1, 2, ... OBSERVAÇÃO: k é chamado de índice de iteração. Sendo um processo iterativo, necessitamos de um critério de parada. E para isto temos que ter uma medida entre as aproximações X(k+1) e X(k). Para isto vamos usar o conceito de norma de matrizes. 0011 0010 1 452 Definição: Uma norma em R nm é uma aplicação satisfaz as seguintes propriedades: : R nm R que P.1- A 0 e A 0 A 0, A R nm P.2 - A A , R ; A R nm P.3 - A B A B , A, B R nm As normas matriciais mais usadas são: n A 1 max aij 1 j m i 1 m A max aij 1i m j 1 Norma coluna Norma linha 1/ 2 0011 0010 n m 2 A 2 aij i 1 j 1 Norma Euclidiana 1 452 Além disso, as normas seguintes propriedades: 1, 2 e satisfazem as P.4 - AX A X P.5 - AB A B A norma vetorial pode ser vista como um caso particular da norma n matricial, onde um vetor X R é equivalente a uma matriz de ordem n 1.Com isto temos as normas de vetores dadas por: n X 1 Xi Norma 1 (norma coluna) i 1 X max X i 2 0011 0010 1/ 2 2 Xi i 1 n X Norma infinita (norma linha) 1i n Norma Euclidiana 1 452 O conceito de norma nos permite definir convergência de uma seqüência de vetores {Xk}. Dizemos que X(k)→X se lim X ( k ) X 0 k onde X é a solução do sistema linear. 0011 0010 1 452 Com isto podemos definir os critérios de parada: Dado um e > 0 X ( k 1) X ( k ) e X ( k 1) X ( k ) || X ( k 1) || b AX ( k ) e k k max 0011 0010 e Erro Absoluto Erro Relativo Teste do Resíduo Número máximo de iterações 1 452 Critério de convergência 0011 0010 1 452 Critério de convergência Seja ║.║ uma norma qualquer de matriz. Se ║C║<1 o processo iterativo X(k+1)=CX(k)+d fornecerá uma seqüência {X(k)} convergente para a solução do sistema AX = b. Demonstração: Seja X solução do sistema. Então: X = CX + d. Subtraindo membro a membro de X = CX + d e X(k+1)=CX(k)+d tem-se: X ( k 1) X CX ( K ) d CX d X ( k 1) X C X (k ) X Sendo o erro em cada iteração dado por e(k) =X(k) – X e usando as propriedades de norma AB A B 0011 0010 segue que: 1 452 e ( k 1) C e ( k ) C 2 e ( k 1) C k 1 e(0) Logo a seqüência {X(k)} converge para a solução do sistema X se lim e( k 1) lim C k k 1 e( 0) 0, e isto ocorre se a matriz C satisfaz a k condição C 1. Quanto menor || C || mais rápido a convergência do processo. 0011 0010 1 452 Método iterativo de Gauss-Jacobi 0011 0010 1 452 Seja o sistema linear: a11x1 a12 x2 a13 x3 ... a1n xn b1 a x a x a x .... a x b 21 1 22 2 23 3 2n n 2 an1 x1 an 2 x2 an3 x3 ... ann xn bn Supondo aii 0, i 1, 2,..., n, isole a coordenada xi do vetor X, na i-ésima equação, da seguinte forma: 1 x1 a (b1 a12 x2 a13 x3 ... a1n xn ) 11 1 x (b2 a21 x1 a23 x3 ... a2 n xn ) 2 a22 1 x n a (bn an1 x1 an 2 x2 ... ann1 xn 1 ) nn 0011 0010 1 452 Desta forma, tem-se o sistema equivalente X = CX + d, onde a / a 21 22 C a31 / a33 an1 / ann a12 / a11 a32 / a33 an 2 / ann b1 / a11 a13 / a11 a1n / a11 b2 / a22 a23 / a22 a2 n / a22 a3n / a33 e d b3 / a33 b / a an3 / ann n nn Dada uma aproximação inicial: X(0) o Método de G.Jacobi consiste em obter seqüência: X(1), X(2),..., X(k) através da relação recursiva: X(k+1)=CX(k)+d. 0011 0010 1 452 Assim, ( k 1) 1 (k ) (k ) (k ) x ( b a x a x ... a x ) 1 1 12 2 13 3 1 n n a11 1 ( k 1) (k ) (k ) (k ) x ( b a x a x ... a x 2 2 21 1 23 3 2n n ) a 22 1 ( k 1) (k ) (k ) (k ) x ( b a x a x ... a x n n1 1 n2 2 nn1 n 1 ) n ann Observe que o processo iterativo utiliza somente estimativas da iteração anterior. 0011 0010 1 452 Método iterativo de Gauss-Seidel 0011 0010 1 452 Observando as equações de iteração no método de Jacobi ou seja (k1) 1 (k ) (k ) (k ) x ( b a x a x ... a x ) 1 1 12 2 13 3 1 n n a11 1 ( k 1) (k ) (k ) (k ) x ( b a x a x ... a x 2 2 21 1 23 3 2n n ) a22 1 ( k 1) (k ) (k ) (k ) x ( b a x a x ... a x n n1 1 n2 2 nn1 n 1 ) n ann nota-se que na iteração de ordem (k+1) são usadas as componentes xj(k) da iteração anterior. 0011 0010 1 452 No Método de Gauss-Seidel para calcular a componente xj da iteração (k+1), utiliza-se as componentes já atualizadas x1(k+1), x2(k+1), ..., xj-1(k+1) e as componentes ainda não atualizadas da iteração anterior xj+1(k), xj+2(k), ..., xn(k). x1(k+1)= 1 a x2(k+1)= 1 a x3(k+1)= 1 a . .. x (k+1)= 1 n (k+1) a (b1 - a12 x2 (k) - a13 x3 (k) - a13 x3 (k) - ... - a1n xn (k) 11 (b2 - a21 x1 (k+1) - a23 x3 (k) – a24 x4 (k) - ... - a2n xn (k) 22 (b3 - a31 x1(k+1) - a32 x2 (k+1) – a34x4 (k) - ... - a3n xn (k) 33 nn 0011 0010 (bn - an1 x1(k+1) - an2 x2 (k+1) – an3x4 (k+1) - ... - ann-1 xn-1 1 452 Interpretação Geométrica do Método de Gauss-Seidel Considere o sistema linear 2x2 dado pelas equações abaixo e geometricamente representados pela retas r1 e r2. y r1 : a1 x1 b1 x2 c1 r2 : a2 x1 b2 x2 c2 r2 r1 x Temos: r1 : a1 x1 b1 x2 c1 r1 : x1 (c1 b1 x2 ) / a1 r2 : a2 x1 b2 x2 c2 r2 : x2 (c2 b2 x2 ) / a2 0011 0010 1 452 y ( x11 , x12 ) r2 r1 0, 0) Inicie no ponto (x1 x2 = (0,0). ( x10 , x20 ) ( x11 , x20 ) x Para determinar (x11, x20), substitua na reta r1 o valor x20, ou seja mova ao longo da reta horizontal iniciando no ponto (0, 0) até encontrar a reta r2. O próximo ponto (x11, x21), é determinado movendo-se ao longo de uma reta vertical iniciando no ponto (x11, x20) até encontrar a reta r1. 1 452 Continuando desde modo, aproxima-se sucessivamente da solução do sistema, no caso da seqüência ser convergente. 0011 0010 y r2 ( x11 , x12 ) 3 1 2 1 1 2 (x , x ) 3 2 (x , x ) ( x13 , x22 ) r1 ( x12 , x22 ) 0 1 0 2 (x , x ) 0011 0010 1 1 0 2 (x , x ) x 1 452 Critério de Sassenfeld 0011 0010 1 452 Seja o sistema linear a11x1 a12 x2 a13 x3 ... a1n xn b1 a x a x a x .... a x b 21 1 22 2 23 3 2n n 2 an1 x1 an 2 x2 an3 x3 ... ann xn bn definindo: 1 j a12 a13 a14 ....... a1n a11 a j1 1 a j 2 2 .............. a jj 1 j 1 a jj 1 ...... . a jn para j = 2, 3, ..., n. 0011 0010 e a jj 1 452 Define-se max j 1 j n Se β<1, então o Método de Gauss-Seidel gera uma seqüência convergente para a solução do sistema, qualquer que seja o vetor inicial. Além disso, quanto menor for o valor de β mais rápida é a convergência. 0011 0010 1 452 Métodos diretos 0011 0010 1 452 Os Métodos Diretos são aqueles que após um número finito de operações fornecem a solução exata do sistema, a menos dos erros de arredondamentos. Definição: Dois sistemas lineares são equivalentes se estes tem a mesma solução. Podemos obter um sistema equivalente ao dado, efetuando as seguintes operações elementares: Trocar duas equações; multiplicar uma equação por uma constante; 1 452 somar uma equação a outra multiplicada por uma constante; 0011 0010 Sistema Triangular Superior Denomina-se sistema triangular superior a todo sistema Ax =b em que aij = 0, para j < i. a11x1 a12 x2 a13 x3 ... a1n xn b1 a22 x2 a23 x3 .... a2 n xn b2 a33 x3 .... a3n xn b3 ann xn bn 0011 0010 1 452 Método de Eliminação de Gauss 0011 0010 1 452 O Método de Eliminação de Gauss consiste em transformar um sistema linear Ax= b em um sistema triangular superior equivalente. Considere o sistema linear: a11x1 a12 x2 a13 x3 ... a1n xn b1 a x a x a x .... a x b 21 1 22 2 23 3 2n n 2 an1 x1 an 2 x2 an3 x3 ... ann xn bn onde det(A) ≠ 0, isto é, o sistema admite uma única solução. 0011 0010 1 452 O sistema linear pode ser representado na forma de matriz estendida [A0 | b0 ], ou seja: a11( 0 ) (0) a 21 (0) a n1 a12( 0 ) a (220 ) a (n02 ) a1(n0 ) a (20n ) a (nn0 ) b1( 0 ) (0) b2 bn onde o índice superior indica a etapa do processo. Etapa 1 Eliminar a incógnita x1 das equações k = 2, 3, ..., n. Sendo a11(0) ≠0, subtraímos da linha k a primeira linha multiplicada por: 0011 0010 (0) k1 (0) 11 a mk1 a 1 452 Os elementos mk1 são chamados de multiplicadores e o elemento a11(0) é chamado de pivô da Etapa 1. Indicando a linha k da matriz por Lk(0), esta etapa se resume em: L1(1) L1( 0) L(k1) L(k0) mk1L1( 0) , k 2, 3, ..., n Ao final desta etapa tem-se: a 11(1) a 12(1) a 13(1) (1) (1) a a 22 23 a (321) a (331) (1) a n2 a 1(1n ) a (21n) a (31n) a (nn1) b1(1) b2(1) b3(1) bn(1) 1 452 que representa um sistema linear equivalente ao sistema original, onde a incógnita x1 foi eliminada das equações k = 2, 3,..., n. 0011 0010 Etapa 2 Eliminar a incógnita x2 das equações k = 3, 4, ..., n. Supondo que a22(1) ≠ 0,vamos tomar este elemento como pivô desta etapa e desta forma os multiplicadores são dados por mk 2 ak( 12 ) (1) a22 A eliminação segue com as seguintes operações sobre as linhas: L1( 2) L1(1) L(22) L(21) L(k2) L(k1) mk 2 L(21) , k 3, 4, ..., n 0011 0010 1 452 obtendo ao final da etapa a matriz a 11( 2 ) a 12( 2 ) a (222 ) a 13( 2 ) a 1(n2 ) a (232 ) a (22n ) a (332 ) a (32n ) a (n23 ) a (nn2 ) b1( 2 ) b2( 2 ) b3( 2 ) bn( 2 ) Com procedimentos análogos ao das etapas 1 e 2 elimina-se as incógnitas xk das equações k + 1, k + 2, ..., n e ao final de n -1 etapas tem-se a matriz: 0011 0010 1 452 a 11( n 1) a 12( n 1) a (22n 1) a 13( n 1) a1(nn 1) a (23n 1) a (2nn 1) a (33n 1) a (3nn 1) a (nnn 1) b1( n 1) ( n 1) b2 b3( n 1) bn( n 1) Esta matriz representa um sistema triangular superior equivalente ao sistema original. Logo a solução deste sistema, obtido pela Retro-Solução (substituição regressiva), é solução do sistema original. 0011 0010 1 452 Assim, ( n 1) n ( n 1) nn b xn a bn( n11) an( n11) xn xn 1 an( n11n)1 n 1 ( n 1) xi bi aij x j aii j i 1 0011 0010 1 452 Pivotamento Parcial 0011 0010 1 452 Em cada etapa k da eliminação temos o cálculo do multiplicador mkj akj( k 1) akk( k 1) Se o pivô |akk(k-1)| << 1, ou seja, próximo de zero, os erros de arredondamento se tornam significativos, pois operar números de grandezas muito diferentes aumenta os erros. A estratégia de pivotamento parcial é baseada na operação elementar: Trocar duas equações. No início de cada etapa k escolhemos como pivô o elemento de maior módulo entre os coeficientes akk(k-1) para i = k, k + 1, ..., n. 0011 0010 1 452 Inversão de matrizes pelo método de Gauss 0011 0010 1 452 Vamos supor que desejamos resolver os sistemas lineares Ax = b1, Ax = b2, Ax = bk, onde a matriz A é a mesma para todos os sistemas. A matriz triangular superior, resultante do processo de eliminação, não depende do vetor b e portanto será a mesma em qualquer um dos sistemas. Assim podemos resolver estes sistemas num único processo de eliminação usando a matriz estendida (A |b1|b2|...| bk) e aplicando a Retro-Solução para cada vetor bk. 0011 0010 1 452 O Cálculo da inversa de uma matriz é um caso particular do esquema acima. A inversa de uma matriz ARnxn, denotada por A-1, é uma matriz nxn tal que AA-1 = I Como exemplo vamos considerar uma matriz A de dimensão 3 3 a11 a12 a21 a22 a 31 a32 a13 a23 a33 cuja a inversa A-1 é dada por x11 x21 x 31 0011 0010 x12 x22 x32 x13 x23 x33 1 452 Logo tem-se: a11 a12 a21 a22 a 31 a32 0011 0010 a13 x11 a23 x21 a33 x31 x12 x22 x32 x13 1 0 0 x23 0 1 0 x33 0 0 1 1 452 Portanto cada coluna k da inversa da matriz A é solução de um sistema linear, onde o vetor dos termos independentes é a k-ésima coluna da matriz identidade, isto é a11 a12 a21 a22 a 31 a32 a13 x11 1 a23 x21 0 a33 x31 0 a11 a12 a21 a22 a 31 a32 a13 x12 0 a23 x22 1 a33 x32 0 a11 a12 a21 a22 a 31 a32 a13 x31 0 a23 x23 0 a33 x33 1 0011 0010 1 452 Portanto, se temos uma matriz nxn, podemos achar a inversa resolvendo n sistemas lineares, representados pela matriz estendida (A | b1| b2 | ... | bk) , onde os vetores bk são os vetores unitários ( 1 na posição k e zeros nas demais posições). 0011 0010 1 452