Métodos de eliminação de Gauss
O método de Gauss é um dos métodos mais familiar pra resolução de sistemas lineares. Ele consiste de 2 partes: Fase de eliminação e Fase de solução.
Fase de eliminação
A fase de eliminação utiliza uma das operações elementares descritas anteriorermente: Multiplicação de uma equação (digamos que seja a equação \(i\)) por um constante \(\lambda\) diferente de zero e subtração por outro linha de equação (equação \(j\)):
\[Eq_{1}\Leftarrow Eq_{1}- \lambda \times Eq_{2}\]Como iremos utilizar o formato de matriz, adotaremos a seguinte representação equivalente:
\[L_{1} = L_{1}- \lambda \times L_{2}\]Exemplo fase de eliminação
Para ilustrar essa fase, vamos utilizar como exemplo a seguinte matriz:
\[ \left[\begin{matrix} 1& -2& -1& 2 \\ -2& 5& 3& -3 \\ -2& 6& 5& -2 \\ 2& -4& -1& 5 \end{matrix} \right. \left| \begin{matrix} 1 \\4 \\ 13 \\7 \end{matrix} \right] \]E já pensando na forma de implementação, iremos decompor o valor de \(\lambda\), como sendo a divisão dos elementos \((i, j)\) da Matriz \(M\) (perceba que o valores \((i, j)\) estão invertidos no numerador, isso foi proposital e será útil na implementação):
\[ \lambda = \frac{M_{ji}}{M_{ii}} \]Acompanhe os passos para resolução:
- \[\left[\begin{matrix} \color{blue}1& -2& -1& 2 \\ \color{red} -2& 5& 3& -3 \\ -2& 6& 5& -2 \\ 2& -4& -1& 5 \end{matrix} \right. \left| \begin{matrix} 1 \\4 \\ 13 \\7 \end{matrix} \right] \begin{matrix} \textrm{ } \\ \Rightarrow L_2= L_2 - \frac{\color{red}M_{21}}{\color{blue}M_{11}} L_1 \left| L_2= L_2 - \frac{\color{red}-2}{\color{blue}1} L_1 \right. \\ \textrm{ } \\ \textrm{ } \end{matrix} \]
- \[ \left[\begin{matrix} \color{blue}1& -2& -1& 2 \\ 0& 1& 1& 1 \\ \color{red}-2& 6& 5& -2 \\ 2& -4& -1& 5 \end{matrix} \right. \left| \begin{matrix} 1 \\6 \\ 13 \\7 \end{matrix} \right] \begin{matrix} \textrm{ } \\ \textrm{ } \\ \Rightarrow L_3= L_3 - \frac{\color{red}M_{31}}{\color{blue}M_{11}} L_1 \left| L_3= L_3 - \frac{\color{red}-2}{\color{blue}1} L_1 \right. \\ \textrm{ } \end{matrix} \]
- \[ \left[\begin{matrix} \color{blue}1& -2& -1& 2 \\ 0& 1& 1& 1 \\ 0& 2& 3& 2 \\ \color{red}2& -4& -1& 5 \end{matrix} \right. \left| \begin{matrix} 1 \\6 \\ 15 \\7 \end{matrix} \right] \begin{matrix} \textrm{ } \\ \textrm{ } \\ \textrm{ } \\ \Rightarrow L_4= L_4 - \frac{\color{red}M_{41}}{\color{blue}M_{11}} L_1 \left| L_4= L_4 - \frac{\color{red}2}{\color{blue}1} L_1 \right. \end{matrix} \]
- \[ \left[\begin{matrix} 1& -2& -1& 2 \\ 0& \color{blue}1& 1& 1 \\ 0& \color{red}2& 3& 2 \\ 0& 0& 1& 1 \end{matrix} \right. \left| \begin{matrix} 1 \\6 \\ 15 \\5 \end{matrix} \right] \begin{matrix} \textrm{ } \\ \textrm{ } \\ \Rightarrow L_3= L_3 - \frac{\color{red}M_{32}}{\color{blue}M_{22}} L_2 \left| L_3= L_3 - \frac{\color{red}2}{\color{blue}1} L_2 \right. \\ \textrm{ } \end{matrix} \]
- \[ \left[\begin{matrix} 1& -2& -1& 2 \\ 0& \color{blue}1& 1& 1 \\ 0& 0& 1& 0 \\ 0& \color{red}0& 1& 1 \end{matrix} \right. \left| \begin{matrix} 1 \\6 \\ 3 \\5 \end{matrix} \right] \begin{matrix} \textrm{ } \\ \textrm{ } \\ \textrm{ } \\ \Rightarrow L_4= L_4 - \frac{\color{red}M_{42}}{\color{blue}M_{22}} L_2 \left| L_4= L_4 - \frac{\color{red}0}{\color{blue}1} L_2 \right. \end{matrix} \]
- \[ \left[\begin{matrix} 1& -2& -1& 2 \\ 0& 1& 1& 1 \\ 0& 0& \color{blue}1& 0 \\ 0& 0& \color{red}1& 1 \end{matrix} \right. \left| \begin{matrix} 1 \\6 \\ 3 \\5 \end{matrix} \right] \begin{matrix} \textrm{ } \\ \textrm{ } \\ \textrm{ }\\ \Rightarrow L_4= L_4 - \frac{\color{red}M_{43}}{\color{blue}M_{33}} L_3 \left| L_4= L_4 - \frac{\color{red}1}{\color{blue}1} L_3 \right. \end{matrix} \]
- \[ \textrm{Matriz equivalente: }\left[\begin{matrix} 1& -2& -1& 2 \\ 0& 1& 1& 1 \\ 0& 0& 1& 0 \\ 0& 0& 0& 1 \end{matrix} \right. \left| \begin{matrix} 1 \\6 \\ 3 \\2 \end{matrix} \right] \]
Resumo dos passos e comando em HP PPL correspondente (faça uma correlação com a coluna \(i\) e \(j\)):
| Forma simbólica | Comando HP PPL | \(i\) | \(j\) |
|---|---|---|---|
| \( \Rightarrow L_2= L_2 - \frac{\color{red}M_{21}}{\color{blue}M_{11}} L_1 \) | SCALEADD(M1,-(M1(2,1)/M1(1,1)),1,2) |
\(1\) | \(2\) |
| \( \Rightarrow L_3= L_3 - \frac{\color{red}M_{31}}{\color{blue}M_{11}} L_1 \) | SCALEADD(M1,-(M1(3,1)/M1(1,1)),1,3) |
\(1\) | \(3\) |
| \( \Rightarrow L_4= L_4 - \frac{\color{red}M_{41}}{\color{blue}M_{11}} L_1 \) | SCALEADD(M1,-(M1(4,1)/M1(1,1)),1,4) |
\(1\) | \(4\) |
| \( \Rightarrow L_3= L_3 - \frac{\color{red}M_{32}}{\color{blue}M_{22}} L_2 \) | SCALEADD(M1,-(M1(3,2)/M1(2,2)),2,3) |
\(2\) | \(3\) |
| \( \Rightarrow L_4= L_4 - \frac{\color{red}M_{42}}{\color{blue}M_{22}} L_2 \) | SCALEADD(M1,-(M1(4,2)/M1(2,2)),2,4) |
\(2\) | \(4\) |
| \( \Rightarrow L_4= L_4 - \frac{\color{red}M_{43}}{\color{blue}M_{33}} L_3 \) | SCALEADD(M1,-(M1(4,3)/M1(3,3)),3,4) |
\(3\) | \(4\) |
Equação genérica
Com base na tabela acima, podemos reescrever a equação de forma genérica:
- Forma matemática:\[L_j= L_j - \frac{M_{ji}}{M_{ii}} L_i\]
- Programação:
SCALEADD(M1,-(M1(j,i)/M1(i,i)),i,j)
E por conseguinte, os valores de \(i\) e \(j\) podem ser obtidos através de 2 laços de repetição, para nosso exemplo, onde temos um sistema linear com 4 incognítas, ficaria:
EXPORT gauss()
BEGIN
PRINT();
LOCAL DIMENSAO := 4;
FOR I FROM 1 TO DIMENSAO-1 DO
FOR J FROM I+1 TO DIMENSAO DO
PRINT("i:" + I + ", j:" + J);
END;
END;
END;
Atividade 1
Dado os sistemas lineares a seguir, apresente a lista de comandos SCALE e SCALEDD, para transforma-lós em sistemas equivalentes de acordo com o método de escalonamento de de Gauss:
- \[ \left[\begin{matrix} 2 & -4 & 2 \\ 4 & -6 & 4 \\ 4 & -4 & 6 \end{matrix} \right. \left| \begin{matrix} 2 \\ 10 \\ 24 \end{matrix} \right] \]
- \[ \left[\begin{matrix} 1 & -1 & 0 \\ -2 & 3 & 0 \\ 4 & -6 & 1 \end{matrix} \right. \left| \begin{matrix} 8 \\ -17 \\ 36 \end{matrix} \right] \]
- \[ \left[\begin{matrix} 1 & -1 & 3 & 7 \\ 1 & 0 & 1 & 3 \\ 1 & 1 & 0 & 0 \\ 1 & -1 & 3 & 8 \end{matrix} \right. \left| \begin{matrix} -19 \\ -5 \\ 3 \\ -21 \end{matrix} \right] \]
- \[ \left[\begin{matrix} 2 & -1 & 2 & 6 & -2 \\ -2 & 2 & -3 & -8 & 2 \\ 4 & -4 & 7 & 18 & -5 \\ -6 & 4 & -8 & -20 & 6 \\ 6 & -2 & 6 & 14 & -4 \end{matrix} \right. \left| \begin{matrix} 17 \\ -20 \\ 49 \\ -54 \\ 34 \end{matrix} \right] \]