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 A m , n {\displaystyle A_{m,n}} ) 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 c i j {\displaystyle c_{ij}} da matriz AB (o qual denotaremos por ( A B ) i j {\displaystyle (AB)_{ij}} ) é dado pelo produto da i-ésima linha de A com a j-ésima coluna de B[2], ou seja,

( A B ) i j = r = 1 n a i r b r j = a i 1 b 1 j + a i 2 b 2 j + + a i n b n j {\displaystyle (AB)_{ij}=\sum _{r=1}^{n}a_{ir}b_{rj}=a_{i1}b_{1j}+a_{i2}b_{2j}+\cdots +a_{in}b_{nj}}
para cada par i e j com 1 ≤ im e 1 ≤ jp.

Calculando diretamente a partir da definição

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.

( A B ) 1 , 2 = r = 1 2 a 1 , r b r , 2 = a 1 , 1 b 1 , 2 + a 1 , 2 b 2 , 2 {\displaystyle (AB)_{1,2}=\sum _{r=1}^{2}a_{1,r}b_{r,2}=a_{1,1}b_{1,2}+a_{1,2}b_{2,2}}
( A B ) 3 , 3 = r = 1 2 a 3 , r b r , 3 = a 3 , 1 b 1 , 3 + a 3 , 2 b 2 , 3 {\displaystyle (AB)_{3,3}=\sum _{r=1}^{2}a_{3,r}b_{r,3}=a_{3,1}b_{1,3}+a_{3,2}b_{2,3}}

Propriedades

  • Multiplicação de matrizes não é em geral comutativa, ou seja, ABBA (exceto em casos especiais). Eis um exemplo:

Sejam A = [ 1 0 0 2 ] {\displaystyle A=\left[{\begin{array}{cc}1&0\\0&2\end{array}}\right]} e B = [ 0 1 1 0 ] . {\displaystyle B=\left[{\begin{array}{cc}0&1\\1&0\end{array}}\right].} Note que

A B = [ 1 0 0 2 ] [ 0 1 1 0 ] = [ 0 1 2 0 ] {\displaystyle A\cdot B=\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]}

B A = [ 0 1 1 0 ] [ 1 0 0 2 ] = [ 0 2 1 0 ] {\displaystyle B\cdot A=\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]}
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]:

( A B ) C = A ( B C ) . {\displaystyle \left(AB\right)C=A\left(BC\right)\,.}

  • O produto distribui sob a soma[1]:

( A + B ) C = A C + B C {\displaystyle \left(A+B\right)C=AC+BC}
C ( A + B ) = C A + C B . {\displaystyle C\left(A+B\right)=CA+CB\,.}

  • Sejam A uma matriz de ordem m×n, B uma matriz de ordem n×p e α {\displaystyle \alpha } um número real, então vale que:

( α A ) B = A ( α B ) = α ( A B ) {\displaystyle (\alpha A)B=A(\alpha B)=\alpha (AB)} [4].

  • Se A for uma matriz de ordem m×n, então vale que:

A = A I n = I m A {\displaystyle A=AI_{n}=I_{m}A} [4], pois o número de colunas de A é igual ao número de linhas de I n . {\displaystyle I_{n}.} De modo semelhante, o número de colunas de I m {\displaystyle I_{m}} é igual ao número de linhas da matriz A.

  • Propriedade de matrizes transpostas: ( A B ) T = B T A T {\displaystyle \left(AB\right)^{T}=B^{T}A^{T}} [1].

Observações:

  • No caso das matrizes, se AB = 0, não necessariamente A = 0 ou B = 0[3], pois podemos ter

A = [ 2 1 0 0 ] {\displaystyle A=\left[{\begin{array}{cc}2&1\\0&0\end{array}}\right]} e B = [ 0 2 0 4 ] {\displaystyle B=\left[{\begin{array}{cc}0&2\\0&-4\end{array}}\right]}

tais que

A B = [ 2 1 0 0 ] [ 0 2 0 4 ] = [ 0 0 0 0 ] . {\displaystyle A\cdot B=\left[{\begin{array}{cc}2&1\\0&0\end{array}}\right]\cdot \left[{\begin{array}{cc}0&2\\0&-4\end{array}}\right]=\left[{\begin{array}{cc}0&0\\0&0\end{array}}\right].}

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 A = [ 5 3 0 0 ] , {\displaystyle A=\left[{\begin{array}{cc}5&3\\0&0\end{array}}\right],} B = [ 1 0 1 0 ] {\displaystyle B=\left[{\begin{array}{cc}1&0\\-1&0\end{array}}\right]} e C = [ 1 0 7 3 0 ] . {\displaystyle C=\left[{\begin{array}{cc}-1&0\\{\frac {7}{3}}&0\end{array}}\right].}

Note que AB = AC, pois

[ 5 3 0 0 ] [ 1 0 1 0 ] = [ 5 3 0 0 ] [ 1 0 7 3 0 ] {\displaystyle \left[{\begin{array}{cc}5&3\\0&0\end{array}}\right]\cdot \left[{\begin{array}{cc}1&0\\-1&0\end{array}}\right]=\left[{\begin{array}{cc}5&3\\0&0\end{array}}\right]\cdot \left[{\begin{array}{cc}-1&0\\{\frac {7}{3}}&0\end{array}}\right]}

[ 2 0 0 0 ] = [ 2 0 0 0 ] {\displaystyle \Rightarrow \left[{\begin{array}{cc}2&0\\0&0\end{array}}\right]=\left[{\begin{array}{cc}2&0\\0&0\end{array}}\right]}

porém B ≠ C.

Definições importantes de matrizes derivadas das propriedades da multiplicação

  • Uma matriz quadrada A de ordem n é inversível se tiver uma inversa A 1 {\displaystyle A^{-1}} de tal maneira que sua multiplicação resulte na matriz identidade, ou seja, A A 1 = I n . {\displaystyle A*A^{-1}=I_{n}.}
  • Neste caso, vale a comutatividade e A 1 A = I n {\displaystyle A^{-1}*A=I_{n}} [1].

Algoritmos para a multiplicar matrizes eficientemente

Problema de ciência da computação em aberto:

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 ( n 3 ) . {\displaystyle O(n^{3}).} 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 ( n log 2 7 ) O ( n 2.807 ) . {\displaystyle O(n^{\log _{2}7})\approx O(n^{2.807}).} 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

  1. a b c d e Lay, David C. (2015). Álgebra Linear e suas aplicações. Rio de Janeiro: LTC  |acessodata= requer |url= (ajuda)
  2. a b Lipschutz, Seymour; Lipson, Marc Lars (2011). Álgebra Linear 4 ed. Porto Alegre: Bookman. 432 páginas  |acessodata= requer |url= (ajuda)
  3. a b c José Ruy, Giovanni (2002). Matemática fundamental: uma nova abordagem. São Paulo: FTD  |acessodata= requer |url= (ajuda)
  4. a b Steinbruch, Alfredo; Winterle, Paulo (1987). Álgebra Linear. São Paulo: Pearson  |acessodata= requer |url= (ajuda)
  5. Press 2007, p. 108.

Referências

  • 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

  • «Multiplicação de matrizes». - implementações em várias linguagens de programação, no Rosetta Code 
  • v
  • d
  • e
Tópicos relacionados com álgebra linear
Conceitos básicos
Matrizes
Álgebra linear numérica
Ícone de esboço Este artigo sobre matemática é um esboço. Você pode ajudar a Wikipédia expandindo-o.
  • v
  • d
  • e