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×n (A também pode ser denotada por ) e B é uma matriz n×p, então seu produto é uma matriz m×p[1] definida como AB (ou por A · B). O elemento de cada entrada da matriz AB (o qual denotaremos por ) é dado pelo produto da i-ésima linha de A com a j-ésima coluna de B[2], ou seja,
para cada par i e j com 1 ≤ i ≤ m e 1 ≤ j ≤ p.
Calculando diretamente a partir da definição
[editar | editar código-fonte]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 à linha e coluna que foi considerada.
Propriedades
[editar | editar código-fonte]- Multiplicação de matrizes não é em geral comutativa, ou seja, AB ≠ BA (exceto em casos especiais). Eis um exemplo:
Sejam e Note que
e AB ≠ BA.
Quando AB = BA, diz-se que A e B comutam[3].
- Embora a 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[1]:
- O produto distribui sob a soma[1]:
- Sejam A uma matriz de ordem m×n, B uma matriz de ordem n×p e um número real, então vale que:
[4].
- Se A for uma matriz de ordem m×n, então vale que:
[4], pois o número de colunas de A é igual ao número de linhas de De modo semelhante, o número de colunas de é igual ao número de linhas da matriz A.
- Propriedade de matrizes transpostas: [1].
Observações:
- No caso das matrizes, se AB = 0, não necessariamente A = 0 ou B = 0[3], pois podemos ter
e
tais que
Mas se tivermos A.0, então o resultado necessariamente será 0 (0 denota a matriz nula)[2].
- A lei do cancelamento não é válida, pois se A ≠ 0 e AB = AC, pode acontecer que B ≠ C[3]. O caso a seguir ilustra isso:
Sejam e
Note que AB = AC, pois
porém B ≠ C.
Definições importantes de matrizes derivadas das propriedades da multiplicação
[editar | editar código-fonte]- Uma matriz quadrada A de ordem n é inversível se tiver uma inversa de tal maneira que sua multiplicação resulte na matriz identidade, ou seja,
- Neste caso, vale a comutatividade e [1].
Algoritmos para a multiplicar matrizes eficientemente
[editar | editar código-fonte]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[5], 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
- ↑ a b c d e Lay, David C. (2015). Álgebra Linear e suas aplicações. Rio de Janeiro: LTC
- ↑ a b Lipschutz, Seymour; Lipson, Marc Lars (2011). Álgebra Linear 4 ed. Porto Alegre: Bookman. 432 páginas
- ↑ a b c José Ruy, Giovanni (2002). Matemática fundamental: uma nova abordagem. São Paulo: FTD
- ↑ a b Steinbruch, Alfredo; Winterle, Paulo (1987). Álgebra Linear. São Paulo: Pearson
- ↑ Press 2007, p. 108.
Referências
[editar | editar código-fonte]- Press, William H.; Flannery, Brian P.; Teukolsky, Saul A.; Vetterling, William T. (2007), Numerical Recipes: The Art of Scientific Computing, ISBN 978-0-521-88068-8 3rd ed. , Cambridge University Press.
Ligações externas
[editar | editar código-fonte]- «Multiplicação de matrizes». - implementações em várias linguagens de programação, no Rosetta Code