Vamos usar o sistema Scilab para resolver alguns problemas com matrizes.
Como definir matrizes?
Sejam
\[
A = \begin{pmatrix} 1 & -1 & -2 \\ 0 & 3 & -1 \\ -1 & 0 & -2 \end{pmatrix},\quad
B = \begin{pmatrix} 2 & 2 \\ 0 & -2 \\ -2 & 2 \end{pmatrix}
\]
e
\[
b=\begin{pmatrix} 2 \\ -3 \\ 4 \end{pmatrix}
\]
Estas matrizes podemos definir em Scilab pelas seguintes instruções.
--> A = [1 -1 -2; 0 3 -1; -1 0 -2]
A =
1. -1. -2.
0. 3. -1.
-1. 0. -2.
--> B = [2 2; 0 -2; -2 2]
B =
2. 2.
0. -2.
-2. 2.
--> b = [2; -3; 4]
b =
2.
-3.
4.
Operações com matrizes
As operações entre matrizes, podem ser feitas usando os símbolos $+$ (soma), $-$ (diferença), $*$ (produto entre matrizes, ou múltiplo escalar), e
Veja os seguintes exemplos e explique porque os sistema dá erros em alguns casos.
--> A*B
ans =
6. 0.
2. -8.
2. -6.
--> B*A
Operator *: Wrong dimensions for operation [3x2] * [3x3].
--> A+B
Operator +: Wrong dimensions for operation [3x3] + [3x2], same dimensions expected.
--> A+A
ans =
2. -2. -4.
0. 6. -2.
-2. 0. -4.
--> A+(2*A)
ans =
3. -3. -6.
0. 9. -3.
-3. 0. -6.
--> A*b
ans =
-3.
-13.
-10.
--> b*A
Operator *: Wrong dimensions for operation [3x1] * [3x3].
--> b+A
Operator +: Wrong dimensions for operation [3x1] + [3x3], same dimensions expected.
--> A^-1
ans =
0.4615385 0.1538462 -0.5384615
-0.0769231 0.3076923 -0.0769231
-0.2307692 -0.0769231 -0.2307692
--> B^-1
at line 20 of function %s_pow ( /usr/local/lib/scilab-2023.0.0/share/scilab/modules/overloading/macros/%s_pow.sci line 32 )
at line 3 of function %s_p_s ( /usr/local/lib/scilab-2023.0.0/share/scilab/modules/overloading/macros/%s_p_s.sci line 15 )
%s_pow: Wrong size for input argument #1: Square matrix expected.
O Determinante
O determinante de uma matriz $A$ pode ser calculado pela função
--> A
A =
1. -1. -2.
0. 3. -1.
-1. 0. -2.
--> det(A)
ans =
-13.000000000000001776357
Note que o resultado não é um número inteiro, mesmo que as entradas da matriz sejam inteiras. Isso acontece porque o sistema Scilab usa aproximações para fazer computações numéricas. O determinante desta matriz é $-13$ e a pequena diferença obtida nesta computação geralmente não faz problema na prática.
Acessar entradas e partes de matrizes
Observe nas seguintes instruções como acessar entradas e submatrizes de matrizes.
// definimos uma matriz A
--> A = [1 -1 -2; 0 3 -1; -1 0 -2]
A =
1. -1. -2.
0. 3. -1.
-1. 0. -2.
// a entrada de A na primeira linha e segunda coluna
--> A(1,2)
ans =
-1.
// a primeira linha de A
--> A(1,:)
ans =
1. -1. -2.
// a segunda coluna de A
--> A(:,2)
ans =
-1.
3.
0.
// a submatriz de entradas nas linhas 1-2 e nas colunas 2-3
--> A(1:2,2:3)
ans =
-1. -2.
3. -1.
\[
A = {\begin{pmatrix}4&1&2&4&2&2\cr 2&2&2&3&3&4\cr 4&2&1&4&0&2\cr 1&0&2&4&3&0\cr 0&4&0&4&0&0\cr 2&3&4&1&2&1\cr \end{pmatrix}}
\]
e
\[
B={\begin{pmatrix}2&5&4&4&1&2\cr 2&4&4&2&4&3\cr 0&5&1&0&4&0\cr 5&3&1&3&5&4\cr 0&4&2&1&5&5\cr 1&5&4&5&0&1\cr \end{pmatrix}}
\]
Decida se elas são invertíveis. Se sim, caclule os inversos e os determinantes. Calcule, $AB$, $A^{-1}B$, $B^{-2}A$ e $(A+2B)^{-1}$.
Para definir as matrizes no Scilab, pode copiar a colar o texto no seguinte campo.
// matriz A
[ 4. 1. 2. 4. 2. 2.
2. 2. 2. 3. 3. 4.
4. 2. 1. 4. 0. 2.
1. 0. 2. 4. 3. 0.
0. 4. 0. 4. 0. 0.
2. 3. 4. 1. 2. 1. ]
// matriz B
[ 2. 5. 4. 4. 1. 2.
2. 4. 4. 2. 4. 3.
0. 5. 1. 0. 4. 0.
5. 3. 1. 3. 5. 4.
0. 4. 2. 1. 5. 5.
1. 5. 4. 5. 0. 1. ]