Sistemas Lineares e Matrizes

5.1 No computador

Existem vários softwares que implementam as operações e algoritmos com matrizes vistos até aqui (e muito mais, como veremos!). Um deles é o Octave, que é de código aberto e gratuito. Eles pode ser baixado para diversas plataformas em sua página oficial.

Primeiramente, uma matriz é declara com seus elementos entre colchetes, com os elementos de uma mesma linha separados por vírgulas. Inidicamos o fim de uma coluna com ponto e vírgula:

octave:1> A=[1,1,-3,1,41;1,1,-3,0,37;1,2,0,0,5;0,-1,-3,1,36]
A =

    1    1   -3    1   41
    1    1   -3    0   37
    1    2    0    0    5
    0   -1   -3    1   36

A ordem da matriz é dada pelo comando size:

octave:2> size(A)
ans =

   4   5

A soma de duas matrizes é obtida com o símbolo usual de adição de matrizes, desde que as parcelas envolvidas tenham a mesma odem:

octave:3> B=[2,4,-3,3;0,-2,1,-1;2,2,-2,1]
B =

   2   4  -3   3
   0  -2   1  -1
   2   2  -2   1

octave:4> size(B)
ans =

   3   4

octave:5> A+B
error: operator +: nonconformant arguments (op1 is 4x5, op2 is 3x4)

octave:6> C=[2,4,-3,3,-9;0,-2,1,-1,3;2,2,-2,1,5;0,0,0,0,1]
C =

   2   4  -3   3  -9
   0  -2   1  -1   3
   2   2  -2   1   5
   0   0   0   0   1

octave:7> A+C
ans =

    3    5   -6    4   32
    1   -1   -2   -1   40
    3    4   -2    1   10
    0   -1   -3    1   37

Tanto a multiplicação por escalar quanto o produto de matrizes é dado pelo operador * (que se adapta ao contexto):

octave:8> -3*B
ans =

   -6  -12    9   -9
    0    6   -3    3
   -6   -6    6   -3

octave:9> A*B
error: operator *: nonconformant arguments (op1 is 4x5, op2 is 3x4)
octave:10> B*A
ans =

     3    -3   -27     5   323
    -1     1     9    -1  -105
     2    -1   -15     3   182

A eliminação Gaussiana também já está implementada através do comando rref (row reduced echalon form):

octave:11> rref(A)
ans =

    1    0   -6    0   69
    0    1    3    0  -32
    0    0    0    1    4
    0    0    0    0    0

octave:12> rref(B)
ans =

   1.0000        0  -0.5000        0
        0   1.0000  -0.5000        0
        0        0        0   1.0000

octave:13> rref(C)
ans =

   1.0000        0  -0.5000        0        0
        0   1.0000  -0.5000        0        0
        0        0        0   1.0000        0
        0        0        0        0   1.0000

Com isso é fácil estudar sistemas lineares com o computador 1 . Dadas a matriz de coeficientes \(A\) e a de termos independentes \(b\), com ordens compatíveis, o comando para construir a matriz aumentada é [A,b] e consequentemente o estudo do sistemas se dá pelo comando rref([A,b]).

Exercício

Utilize o Octave (ou o software equivalente de sua preferência) para estudar todos os sistemas lineares apresentados anteriormente.

  1. Em teoria, pois na prática podemos esbarrar em problemas numéricos que serão abordados em disciplinas vindouras.