Eliminação de Gauss - Cálculo da Matriz Inversa Profa. Cynthia de O. Laga Ferreira Métodos Numéricos e Computacionais I - SME0305 Eliminação de Gauss Considere o sistema Ax = b, onde A é uma matriz quadrada de dimensão n ⇥ n cujos elementos aij são reais ou complexos e x e b são vetores colunas de dimensão n, x é um vetor desconhecido e b é um vetor dado. Suponha que todas as submatrizes principais Ak são não singulares, isto é, det(Ak ) 6= 0, para k = 1, 2, ..., n 1. O método da eliminação de Gauss consiste em transformar o sistema dado em um sistema triangular superior equivalente Ãx = b̃, através de operações elementares sobre as linhas do sistema original. A solução deste sistema é calculada usando o algoritmo de substituições regressivas. Descrição do Algoritmo (k+1) Ai (k+1) bi (k) bi (k) (k) (k) Ai mik Ak , com mik = (k) mik bk , k = 1, ..., n aik (k) akk , 1 e i = k + 1, ..., n Vejamos como o algoritmo é aplicado na prática. Consideremos o caso de uma matriz 4x4. 1. Consideremos a matriz aumentada 2 (1) (1) (1) 6 a11 a12 a13 6 (1) (1) (1) 6 a 6 21 a22 a23 6 (1) (1) (1) 6 a 4 31 a32 a33 (1) a41 (1) a42 (1) a43 1 (1) a14 (1) a24 (1) a34 (1) a44 .. . .. . .. . .. . (1) b1 (1) b2 (1) b3 (1) b4 3 7 7 7 7 7 7 5 (1) 2. Primeiro passo m21 = 2 a21 (1) a11 (1) (2) (1) 6 a11 6 6 0 6 6 (1) 6 a 4 31 (1) 2 6 6 6 6 6 6 4 (1) a11 (2) a22 (2) a23 (2) a24 (1) a33 (1) a43 0 a22 0 a32 (1) a42 2 (1) a11 (1) 6 a11 6 6 0 6 6 6 0 4 0 (2) 5. Quarto passo m32 = 2 a32 (2) a22 (1) 6 a11 6 6 0 6 6 6 0 4 0 (1) a44 (1) (1) (1) (1) a13 (2) a23 (2) a33 (1) a43 (1) a41 a34 (2) (1) a12 4. Terceiro passo m41 = (1) , A 3 = A3 (1) a11 a41 (1) a14 a42 a31 (1) a13 (1) 3. Segundo passo m31 = (1) (2) a24 (2) a34 (1) a44 (2) (2) (2) (1) (1) (1) (1) (1) a14 (2) a22 (2) a23 (2) a24 a33 (2) a43 a42 (3) (2) a34 (2) a44 (2) , A3 = A3 (1) (1) (2) (2) (2) b2 (1) b3 (1) b4 .. . .. . .. . .. . (1) m31 b1 (1) m41 b1 7 7 7 7 7 7 5 (2) (1) b1 3 (2) b2 (2) b3 (1) b4 .. . .. . .. . .. . (1) (2) b2 (2) b3 (2) b4 (1) a14 (2) a22 (2) a23 (2) a24 0 a33 (2) a43 (3) a34 (3) (2) a44 (2) .. . .. . .. . .. . (1) (2) b2 (3) b3 (2) b4 (1) 3 7 7 7 7 7 7 5 (3) b1 (1) 7 7 7 7 7 7 5 (2) b1 (1) 3 (1) (2) a13 2 (1) b1 (2) m32 A2 , b3 = b3 a12 a42 .. . .. . .. . .. . (1) a13 (2) m21 b1 m41 A1 , b4 = b4 a12 a32 (1) m31 A1 , b3 = b3 (1) a14 , A 4 = A4 (2) m21 A1 , b2 = b2 a12 a32 a41 (1) , A 2 = A2 3 7 7 7 7 7 7 5 (2) m32 b2 (2) 6. Quinto passo m42 = 2 a42 (2) a22 (1) 6 a11 6 6 0 6 6 6 0 4 0 (3) 7. Sexto passo m43 = a43 (3) a33 2 6 6 6 6 6 6 4 (3) (2) , A4 = A4 (1) (1) (2) (1) a12 a13 a14 (2) a22 (2) a23 (2) a24 0 a33 0 a43 (4) (3) (2) m42 A2 , b4 = b4 (1) b1 (2) b2 7 7 7 7 7 7 5 a34 (3) a44 (3) m43 A3 , b4 = b4 (1) a11 (1) a12 (1) a13 0 a22 (2) a23 0 0 0 0 (3) (3) (1) a14 (2) a24 (2) a33 (3) a34 0 a44 (3) (4) .. . .. . .. . .. . (3) 3 (3) , A4 = A4 (3) .. . .. . .. . .. . b3 (3) b4 (4) (1) b1 (2) b2 (3) b3 (4) b4 (2) m42 b2 (3) (3) m43 b3 3 7 7 7 7 7 7 5 Função Matlab x = eliminacao_gauss(A,b) % Resolver sistema Ax = b, usando Eliminacao de Gauss % Input: Matriz quadrada A e vetor b. % Output: Vetor solução x. function x=eliminacao_gauss(A,b) n=size(A,1); for k=1:n-1 for i=k+1:n m = A(i,k)/A(k,k); A(i,:) = A(i,:) - m*A(k,:); b(i) = b(i) - m*b(k); end end x = backsub(A,b); Exercício: Resolva o sistema abaixo pelo método da eliminação de Gauss 0 10 1 0 1 6 2 1 x1 7 @ 2 4 1 A @ x2 A = @ 7 A 3 2 8 x3 13 3 Eliminação de Gauss X Decomposição LU O método da eliminação de Gauss é equivalente ao método da decomposição LU no seguinte sentido: Denotando por [A|b](1) a matriz aumentada, o cálculo feito para a obtenção de [A|b](2) é equivalente a multiplicar [A|b](1) por uma matriz M1 , na qual 2 3 1 (1) 6 m21 1 7 a 6 7 M1 = 6 , com mi1 = i1 , isto é, 7 .. . (1) .. 4 5 . a11 1 mn1 [A|b](2) = M1 [A|b](1) . Analogamente, tem-se 2 6 6 6 com M2 = 6 6 4 [A|b](3) = M2 [A|b](2) , 3 1 1 m32 .. . .. . 1 mn2 [A|b](n) = Mn 7 (2) 7 a 7 . Consequentemente, 7, com mi2 = i2 (2) 7 a22 5 1 [A|b] (n 1) Portanto, = Mn 1 · · · M1 [A|b](1) . | {z } A(n) = M A(1) = M A = U, onde U é a matriz triangular superior da decomposição LU . Como M é o produto de matrizes não singulares, M M 1 1 existe e = M1 1 M2 1 . . . Mn 11 . Assim, A=M É fácil verificar que 4 1 U. M 1 2 6 6 6 =6 6 4 1 m21 m31 .. . 1 m32 .. . mn1 mn2 3 1 .. . 1 7 7 7 7 = L, 7 5 onde L é a matrix triangular inferior da decomposição LU . Aplicação: cálculo da matriz inversa h . . . c1 .. c2 .. c3 .. a matriz inversa de A, onde cj é uma coluna de A 1 . Considerando que AA 1 = I, temos Seja A uma matriz não singular, isto é, det(A) 6= 0 e A A h c1 .. . c2 .. . c3 .. . ··· .. . cn i = h e1 1 .. . e2 = .. . e3 .. . ··· .. . en onde ej é a j-ésima coluna da matriz identidade. Assim, calcular as colunas da matriz inversa de A é equivalente a resolver n sistemas lineares Acj = ej , j = 1, ...n. Podemos inverter uma matriz utilizando qualquer um dos métodos estudados até agora. Exercícios: 1) Considere a matriz 2 Determine A 1 3 A=4 2 1 0 2 2 3 3 1 5 0 utilizando o método da eliminação de Gauss. 2) Considere o sistema 0 10 @ 7 8 Ax = b, dado por 10 1 0 1 7 8 x1 3 5 6 A @ x2 A = @ 1 A . 6 10 x3 7 Determine a inversa de A pelo método da Eliminação de Gauss e resolva o sistema dado utilizando A 1 . 5 ··· i , .. . cn i