Há duas maneiras de multiplicar duas ou mais matrizes
usando os comandos do Maple, onde é necessário que as
matrizes definidas obedeceram a regra básica da
multiplicação entre duas matrizes. Por exemple,
consideramos duas matrizes e
dadas por
e
Então, sabemos que, podemos efetuar o produto AB, pois valem as condições básicas de multiplicação das matrizes.
restart: with(linalg):
A:=array([[4,-3,2],[3,-3,0],[5,-3,1]]);
B:=array([[2,3], [1,-4],[-6,1]]);
`AB`:=evalm(A&*B): A*B=matrix(`AB`);
Se queremos especificar, mais precisamente o produto, podemos dar o seguinte comando:
matrix(A)*matrix(B)=matrix(`AB`);
Quando precisamos calcular o quadrado ou a potência maior de uma matriz dada, devemos dar os seguintes comandos:
`A2`:=evalm(A2): A2=matrix(`A2`);
`A3`:=evalm(A3):A3=matrix(`A3`);
O primeiro comando se refere a e o segundo comando se refere
a
, onde
é a mesma matriz dada acima.
Colocações Importantes
(i) Sabemos que a multiplicação entre matrizes não é comutativa, ou seja, se temos duas matrizes A e B, então não é necessário que exista AB e BA, e caso exista não é necessário que os dois produtos sejam iguais, isto é, em geral AB BA.
Sejam A e B duas matrizes dadas por
A:=array([[2,3,-1],[4,3,-1],[2,1,5]]);B:=array([[-1,3,4],
[-6,2,1],[4,2,3]]);
`AB`:=evalm(A&*B);`BA`:=evalm(B&*A);
Assim, concluímos que
(ii) Se AB = 0, não é necessário que ou A = 0
ou B = 0, ou seja, podemos ter AB = 0, onde A 0 e B
0.
Sejam A e B duas matrizes dadas por
A:=array([[1,-1,1],[-3,2,-1],[-2,1,0]]);
B:=array([[1,2,3],[2,4,6],[1,2,3]]);
`AB`:=evalm(A&*B);
Assim concluímos que nesse caso, AB = 0 mesmo que 0 e
0.
(iii) A lei de cancelamento também não é válida no caso de multiplicação das matrizes, ou seja, se AB = AC, não é necessário que B = C.
Sejam ,
e
três matrizes dadas por
Damos os seguintes comandos:
A:=array([[4,2,0],[2,1,0],[-2,-1,1]]);
B:=array([[2,3,1],[2,-2,-2],[-1,2,1]]);
C:=array([[3,1,-3],[0,2,6],[-1,2,1]]);
`AB`:=evalm(A&*B);`AC`:=evalm(A&*C);
Assim, concluímos que nesse caso, AB = AC, mas .