Produto de matrizes
Em matemática, o produto de duas matrizes é definido somente quando o número de colunas da primeira matriz é igual ao número de linhas da segunda matriz. Se A é uma matriz m-por-n e B é uma matriz n-por-p, então seu produto é uma matriz m-por-p definida como AB (ou por A · B). O produto é dado por
para cada par i e j com 1 ≤ i ≤ m e 1 ≤ j ≤ p.
Índice |
Calculando directamente a partir da definição[editar]
A figura à esquerda mostra como calcular o elemento (1,2) e o elemento (3,3) de AB se A é uma matriz 4×2, e B é uma matriz 2×3. Elementos de cada matriz são postos par a par na direcção das setas; cada par é multiplicado e os produtos são somados. A posição do número resultante em AB corresponde ao da seta e coluna que foi considerada.
Propriedades[editar]
- Multiplicação de matrizes não é em geral comutativa, ou seja, AB ≠ BA(exceto em casos especiais). Eis um exemplo:
- Embora multiplicação de matrizes não seja comutativa, os determinantes de AB e BA são sempre iguais (se A e B são matrizes quadradas de dimensões iguais). Veja o artigo sobre determinantes para esclarecimento.
- O produto é associativo, ou seja:
- O produto distribui sob a soma:
- Propriedade de matrizes transpostas:
.
Definições importantes de matrizes derivadas das propriedades da multiplicação[editar]
- Uma matriz A é inversível se tiver uma inversa
de tal maneira que sua multiplicação resulte na matriz identidade, ou seja, 
Algoritmos para a multiplicar matrizes eficientemente[editar]
| Qual é o algoritmo mais rápido para a multiplicação de matrizes? |
O tempo de execução da multiplicação de matrizes quadradas, se efetuada de forma intuitiva, é
. O tempo de execução para a multiplicação de matrizes retangulares (uma matriz m×p e outra p×n) é O(mnp), no entanto, existem algoritmos mais eficientes, tais como o algoritmo de Strassen, concebido por Volker Strassen em 1969, e chamado frequentemente de "multiplicação rápida de matrizes". Ele baseia-se em uma forma de multiplicar matrizes 2×2 que exige apenas 7 multiplicações (em vez das 8 usuais), em troca de fazer algumas oprerações de adição e subtração. A aplicação recursiva desse método produz um algoritmo cujo custo multiplicativo é
. O algoritmo de Strassen é mais complexo se comparado com o algoritmo intuitivo, e ele carece de estabilidade numérica. Mesmo assim, está disponível em diversas bibliotecas, tais como BLAS, em que sua eficiência é significativamente maior para matrizes de dimensão n > 100,1 e é muito útil para matrizes grandes sobre domínios exatos tais como corpos finitos, em que a estabilidade numérica não é um problema.
Notas e referências
- ↑ Press 2007, p. 108.
Referências[editar]
- Press, William H.; Flannery, Brian P.; Teukolsky, Saul A.; Vetterling, William T. (2007), Numerical Recipes: The Art of Scientific Computing (3rd ed.), Cambridge University Press, ISBN 978-0-521-88068-8.
Ligações externas[editar]
- Multiplicação de matrizes - implementações em várias linguagens de programação, no Rosetta Code



![\left[\begin{array}{cc}
1 & 0 \\
0 & 2
\end{array}\right]
\cdot
\left[\begin{array}{cc}
0 & 1 \\
1 & 0
\end{array}\right] =
\left[\begin{array}{cc}
0 & 1 \\
2 & 0
\end{array}\right]](http://upload.wikimedia.org/math/6/d/0/6d02094418b33ca5b3ca492935f01cdb.png)
![\left[\begin{array}{cc}
0 & 1 \\
1 & 0
\end{array}\right]
\cdot
\left[\begin{array}{cc}
1 & 0 \\
0 & 2
\end{array}\right] =
\left[\begin{array}{cc}
0 & 2 \\
1 & 0
\end{array}\right]](http://upload.wikimedia.org/math/f/4/a/f4a335685523b3834dddc34a00b713ce.png)



.
de tal maneira que sua multiplicação resulte na 