<a href="https://colab.research.google.com/github/lcbjrrr/Code_GRSL_2020_1_copy/blob/master/Sistemas_lineares_e_matrizes.ipynb" target="_parent"></a>

# Ficha Técnica

Disciplina - Algebra linear e Processos Dinâmicos.

Conteúdo -

- Resolução de sistemas lineares.

- Representação matricial

- Operações com linhas em matrizes.

Autores: 

- Anderson Borba (anderson.aborba@professores.ibmec.edu.br) e

- Luiz Barboza (luiz.cbjunior@professores.ibmec.edu.br).

Endereço eletrônico: http://quant-ibmec.group/calculos/

# Sistemas de equações lineares:
Um sistema linear de equações com $m$ equações e $n$ incógnitas é um conjunto de equações do tipo:
\begin{equation}\nonumber
    \left\{
    \begin{array}{ccccccccc}
        a_{11}x_1&+& a_{12}x_2&+& \cdots&+& a_{1n}x_{n}&=&b_1 \\
        a_{21}x_1&+& a_{22}x_2&+& \cdots&+& a_{2n}x_{n}&=&b_2 \\
        \vdots & \vdots& && & &\vdots &&\vdots \\
        a_{m1}x_1&+& a_{m2}x_2&+& \cdots&+& a_{mn}x_{n}&=&b_n \\
    \end{array}
    \right.
\end{equation}
A solução do sistema linear é uma $n-$upla de números $(x_1,x_2,\cdots,x_n)$ que satisfaça simultaneamento a $m$ equações.

# Sistema linear na forma matricial:
\begin{equation}\nonumber
    \left[
    \begin{array}{cccc}
        a_{11}& a_{12}& \cdots& a_{1n} \\
        a_{21}& a_{22}& \cdots& a_{2n} \\
        \vdots & \vdots&  &\vdots \\
        a_{m1}& a_{m2}& \cdots& a_{mn} \\
    \end{array}
    \right]
    \left[
    \begin{array}{c}
        x_1 \\
        x_2 \\
        \vdots \\
        x_n \\
    \end{array}
    \right]=
    \left[
    \begin{array}{c}
        b_1 \\
        b_2 \\
        \vdots \\
        b_n \\
    \end{array}
    \right]
\end{equation}
Podemos escrever $Ax=b$.

EX 1:
\begin{equation}\nonumber
    \left\{
    \begin{array}{cccccccc}
         x_1&+& 4x_2&+& 3x_3&=& 1\\
        2x_1&-& 5x_2&-& 4x_3&=& 4\\
         x_1&-& 3x_2&-& 3x_3&=& 5\\
    \end{array}
    \right.,
    \left[
    \begin{array}{rrr|r}
        1&  4&  3& 1\\
        2&  5&  4& 4\\
        1& -3& -2& 5\\
    \end{array}
    \right]
\end{equation}


```python
import numpy as np
import matplotlib.pyplot as plt
import scipy.linalg as la

A = np.array([[1.,4.,3.,1],[2.,5.,4.,4],[1.,-3.,-2.,5]])
print(A)
```

    [[ 1.  4.  3.  1.]
     [ 2.  5.  4.  4.]
     [ 1. -3. -2.  5.]]


Definindo a operação $L_2=>L_2-\frac{a_{21}}{a_{11}}L_1$, isto é, $L_2=>L_2-\frac{2}{1}L_1$


```python
E1 = np.array([[1,0,0],[-2,1,0],[0,0,1]])
print(E1)
```

    [[ 1  0  0]
     [-2  1  0]
     [ 0  0  1]]


\begin{equation}\nonumber
    \left\{
    \begin{array}{cccccccc}
         x_1&+& 4x_2&+& 3x_3&=& 1\\
        0x_1&-& 3x_2&-& 2x_3&=& 2\\
         x_1&-& 3x_2&-& 2x_3&=& 5\\
    \end{array}
    \right.,
    \left[
    \begin{array}{rrr|r}
        1&  4&  3& 1\\
        0&  -3&  -2& 2\\
        1& -3& -2& 5\\
    \end{array}
    \right]
\end{equation}


```python
E1 @ A
```




    array([[ 1.,  4.,  3.,  1.],
           [ 0., -3., -2.,  2.],
           [ 1., -3., -2.,  5.]])



Definindo a operação $L_3=>L_3-\frac{a_{31}}{a_{31}}L_1$, isto é, $L_3=>L_3-\frac{1}{1}L_1$


```python
E2 = np.array([[1,0,0],[0,1,0],[-1,0,1]])
print(E2)
```

    [[ 1  0  0]
     [ 0  1  0]
     [-1  0  1]]


\begin{equation}\nonumber
    \left\{
    \begin{array}{cccccccc}
         x_1&+& 4x_2&+& 3x_3&=& 1\\
        0x_1&-& 3x_2&-& 2x_3&=& 2\\
        0x_1&-& 7x_2&-& 5x_3&=& 4\\
    \end{array}
    \right.,
    \left[
    \begin{array}{rrr|r}
        1&  4&  3& 1\\
        0&  -3&  -2& 2\\
        0& -7& -5& 4\\
    \end{array}
    \right]
\end{equation}


```python
E2 @ E1 @ A

```




    array([[ 1.,  4.,  3.,  1.],
           [ 0., -3., -2.,  2.],
           [ 0., -7., -5.,  4.]])



Definindo a operação $L_3=>L_3-\frac{a_{32}}{a_{22}}L_2$, isto é, $L_3=>L_3-\frac{7}{3}L_2$


```python
E3 = np.array([[1,0,0],[0,1,0],[0,-7/3,1]])
print(E3)
```

    [[ 1.          0.          0.        ]
     [ 0.          1.          0.        ]
     [ 0.         -2.33333333  1.        ]]


Encontramos a matriz triangular superior equivalente: 
\begin{equation}\nonumber
    \left\{
    \begin{array}{cccccccc}
         x_1&+& 4x_2&+& 3x_3&=& 1\\
        0x_1&-& 3x_2&-& 2x_3&=& 2\\
        0x_1&-& 0x_2&-& \frac{1}{3}x_3&=&-\frac{2}{3} \\
    \end{array}
    \right.,
    \left[
    \begin{array}{rrr|r}
        1&  4&  3& 1\\
        0&  -3&  -2& 2\\
        0& 0& -\frac{1}{3}& -\frac{2}{3}\\
    \end{array}
    \right]
\end{equation}


```python
E = E3 @ E2 @ E1
print(E)
```

    [[ 1.          0.          0.        ]
     [-2.          1.          0.        ]
     [ 3.66666667 -2.33333333  1.        ]]



```python
EQ = E @ A
print(EQ)
```

    [[ 1.00000000e+00  4.00000000e+00  3.00000000e+00  1.00000000e+00]
     [ 0.00000000e+00 -3.00000000e+00 -2.00000000e+00  2.00000000e+00]
     [ 0.00000000e+00  4.44089210e-16 -3.33333333e-01 -6.66666667e-01]]


Usamos a matriz equivalente E para encontrar o vetor solução aproximado $(x_1,x_2,x_3)$.


```python
x3=EQ[2,3]/EQ[2,2]
print(x3)
```

    1.9999999999999973



```python
x2=- 1/3 *(2 + 2 * x3) 
print(x2)
```

    -1.9999999999999982



```python
x1= 1 - 4 * x2 - 3 * x3
print(x1)
```

    3.000000000000001


Encontramos a solução numéricamente $(x_1,x_2,x_3) = (3.000000000000001,-1.9999999999999982,1.9999999999999973)$. A solução exata é $(x_1,x_2,x_3)=(3,-2,2)$, assim podemos afirmar que a solução encontrada numéricamente aproxima a solução exata encontrada de forma algébrica. 

Ex 2: a) Escrever o sistema linear na forma padrão,
\begin{equation}\nonumber
    \left[
    \begin{array}{rrrrr|r}
         1&  1&  2& 2&1& 1\\
         2&  2&  4& 4&3& 1\\
         2&  2&  4& 4&2& 2\\
         3&  5& 8& 6&5& 3\\
     \end{array}
\right]
\end{equation}
b) Resolver usando operações por linhas na forma matricial.     

# Referências
- Anton, Howard Rorres, Chris. Álgebra Linear com Aplicações. Editora Bookman- 2012.
- https://www.math.ubc.ca/~pwalls/math-python/linear-algebra/solving-linear-systems/

2142087cdeedbd22ff86f1d646d70ef36476f230
ipynb
Jupyter Notebook
Sistemas_lineares_e_matrizes.ipynb
lcbjrrr/Code_GRSL_2020_1_copy
02f55e01dbcece8994c50208a5f142fe6e158afc
BSD-2-Clause
Sistemas_lineares_e_matrizes.ipynb
lcbjrrr/Code_GRSL_2020_1_copy
02f55e01dbcece8994c50208a5f142fe6e158afc
BSD-2-Clause
Sistemas_lineares_e_matrizes.ipynb
lcbjrrr/Code_GRSL_2020_1_copy
02f55e01dbcece8994c50208a5f142fe6e158afc
BSD-2-Clause
Qwen/Qwen-72B
1. YES
2. YES