
Em matemática, especificamente em álgebra linear, a multiplicação de matrizes é uma operação binária que produz uma matriz a partir de duas matrizes. Para a multiplicação de matrizes, o número de colunas na primeira matriz deve ser igual ao número de linhas na segunda matriz. A matriz resultante, conhecida como produto matricial, tem o número de linhas da primeira e o número de colunas da segunda matriz. O produto das matrizes A e B é denotado como AB.
A multiplicação de matrizes foi descrita pela primeira vez pelo matemático francês Jacques Philippe Marie Binet em 1812, para representar a composição de aplicações lineares que são representadas por matrizes. A multiplicação de matrizes é, portanto, uma ferramenta básica da álgebra linear e, como tal, tem inúmeras aplicações em muitas áreas da matemática, bem como na matemática aplicada, estatística, física, economia e engenharia. Calcular produtos de matrizes é uma operação central em todas as aplicações computacionais da álgebra linear.
Este artigo usará as seguintes convenções de notação: matrizes são representadas por letras maiúsculas em negrito, e.g. A; vetores em minúsculas em negrito, e.g. a; e as entradas de vetores e matrizes são itálicas (são números de um corpo), e.g. A e a. A notação de índices é frequentemente a maneira mais clara de expressar definições e é usada como padrão na literatura. A entrada na linha i, coluna j da matriz A é indicada por (A)ij, Aij ou aij. Em contraste, um único subscrito, e.g. A1, A2, é usado para selecionar uma matriz (não uma entrada de matriz) de uma coleção de matrizes.
Se A é uma matriz m × n e B é uma matriz n × p, o produto matricial C = AB (denotado sem sinais de multiplicação ou pontos) é definido como a matriz m × p tal que para i = 1, ..., m e j = 1, ..., p.
Isto é, a entrada do produto é obtida multiplicando termo a termo as entradas da i-ésima linha de A e da j-ésima coluna de B, e somando esses n produtos. Em outras palavras, é o produto escalar da i-ésima linha de A e da j-ésima coluna de B.
Portanto, AB também pode ser escrito como
Assim, o produto AB é definido se e somente se o número de colunas em A for igual ao número de linhas em B, neste caso n.
Na maioria dos cenários, as entradas são números, mas podem ser qualquer tipo de objetos matemáticos para os quais uma adição e uma multiplicação são definidas, que são associativas, e tais que a adição é comutativa, e a multiplicação é distributiva em relação à adição. Em particular, as entradas podem ser próprias matrizes (ver matriz bloco).
Um vetor de comprimento pode ser visto como um vetor coluna, correspondendo a uma matriz cujas entradas são dadas por Se é uma matriz , o produto matriz-vetor denotado por é então o vetor que, visto como um vetor coluna, é igual à matriz Em notação de índices, isso equivale a:
Uma maneira de ver isso é que as mudanças de vetor "simples" para vetor coluna e vice-versa são assumidas e deixadas implícitas.
Similarmente, um vetor de comprimento pode ser visto como um vetor linha, correspondendo a uma matriz . Para deixar claro que um vetor linha é pretendido, é costume neste contexto representá-lo como a transposta de um vetor coluna; assim, ver-se-ão notações como A identidade é válida. Em notação de índices, se é uma matriz , equivale a:
Um vetor com n componentes pode ser representado como uma matriz 1 × n (um vetor linha) ou como uma matriz n × 1 (um vetor coluna). Supondo que e são ambos vetores coluna, o produto escalar (ou produto interno) é igual à única entrada da matriz resultante da multiplicação matricial do vetor linha com o vetor coluna , i.e. .
A multiplicação matricial entre o vetor coluna e o vetor linha , também conhecida como produto externo , dará, em vez disso, uma matriz n × n.

A figura à direita ilustra diagramaticamente o produto de duas matrizes A e B, mostrando como cada interseção na matriz produto corresponde a uma linha de A e uma coluna de B.
Os valores nas interseções, marcados com círculos na figura à direita, são:
Historicamente, a multiplicação de matrizes foi introduzida para facilitar e esclarecer cálculos em álgebra linear. Esta forte relação entre multiplicação de matrizes e álgebra linear permanece fundamental em toda a matemática, bem como na física, química, engenharia e ciência da computação.
Se um espaço vetorial tem uma base finita, seus vetores são cada um representados de forma única por uma sequência finita de escalares, chamada de vetor de coordenadas, cujos elementos são as coordenadas do vetor na base. Esses vetores de coordenadas formam outro espaço vetorial, que é isomorfo ao espaço vetorial original. Um vetor de coordenadas é comumente organizado como uma matriz coluna (também chamada de vetor coluna), que é uma matriz com apenas uma coluna. Assim, um vetor coluna representa tanto um vetor de coordenadas quanto um vetor do espaço vetorial original.
Uma aplicação linear A de um espaço vetorial de dimensão n para um espaço vetorial de dimensão m aplica um vetor coluna
no vetor coluna
A aplicação linear A é, portanto, definida pela matriz
e aplica o vetor coluna no produto matricial
Se B é outra aplicação linear do espaço vetorial precedente de dimensão m para um espaço vetorial de dimensão p, ela é representada por uma matriz Um cálculo direto mostra que a matriz da aplicação composta é o produto matricial A fórmula geral ) que define a composição de funções é instanciada aqui como um caso específico da associatividade do produto matricial (ver § Associatividade abaixo):
Usando um sistema de coordenadas cartesianas em um plano euclidiano, a rotação por um ângulo em torno da origem é uma aplicação linear. Mais precisamente, onde o ponto de origem e sua imagem são escritos como vetores coluna.
A composição da rotação por e por corresponde então ao produto matricial onde identidades trigonométricas apropriadas são empregadas para a segunda igualdade. Ou seja, a composição corresponde à rotação pelo ângulo , como esperado.

Como exemplo, uma fábrica fictícia usa 4 tipos de bens básicos, para produzir 3 tipos de bens intermediários, , que por sua vez são usados para produzir 3 tipos de produtos finais, . As matrizes
fornecem a quantidade de bens básicos necessários para uma dada quantidade de bens intermediários, e a quantidade de bens intermediários necessários para uma dada quantidade de produtos finais, respectivamente. Por exemplo, para produzir uma unidade do bem intermediário , uma unidade do bem básico , duas unidades de , nenhuma unidade de e uma unidade de são necessárias, correspondendo à primeira coluna de .
Usando a multiplicação de matrizes, calcula-se
esta matriz fornece diretamente as quantidades de bens básicos necessários para determinadas quantidades de bens finais. Por exemplo, a entrada inferior esquerda de é calculada como , refletindo que unidades de são necessárias para produzir uma unidade de . De fato, uma unidade de é necessária para , uma para cada uma das duas , e para cada uma das quatro unidades de que entram na unidade de , veja a figura.
Para produzir, por exemplo, 100 unidades do produto final , 80 unidades de e 60 unidades de , as quantidades necessárias de bens básicos podem ser calculadas como
isto é, unidades de , unidades de , unidades de , unidades de são necessárias. Da mesma forma, a matriz produto pode ser usada para calcular as quantidades necessárias de bens básicos para outros dados de quantidade de produtos finais.
A forma geral de um sistema de equações lineares é
Usando a mesma notação acima, tal sistema é equivalente à única equação matricial
O produto escalar de dois vetores coluna é a única entrada do produto matricial
onde é o vetor linha obtido por transpondo . (Como de costume, uma matriz 1×1 é identificada com sua única entrada.)
Mais geralmente, qualquer forma bilinear sobre um espaço vetorial de dimensão finita pode ser expressa como um produto matricial
e qualquer forma sesquilinear pode ser expressa como
onde denota a transposta conjugada de (conjugado da transposta, ou equivalentemente transposta do conjugado).
A multiplicação de matrizes compartilha algumas propriedades com a multiplicação usual. No entanto, a multiplicação de matrizes não é definida se o número de colunas do primeiro fator difere do número de linhas do segundo fator, e é não comutativa, mesmo quando o produto permanece definido após mudar a ordem dos fatores.
Uma operação é comutativa se, dados dois elementos A e B tais que o produto é definido, então também é definido, e
Se A e B são matrizes de tamanhos respectivos e , então é definido se , e é definido se . Portanto, se um dos produtos é definido, o outro não precisa ser definido. Se , os dois produtos são definidos, mas têm tamanhos diferentes; portanto, não podem ser iguais. Somente se , isto é, se A e B são matrizes quadradas do mesmo tamanho, ambos os produtos são definidos e do mesmo tamanho. Mesmo neste caso, tem-se em geral
Por exemplo
mas
Este exemplo pode ser expandido para mostrar que, se A é uma matriz com entradas em um corpo F, então para toda matriz B com entradas em F, se e somente se onde , e I é a matriz identidade. Se, em vez de um corpo, as entradas devem pertencer a um anel, então deve-se adicionar a condição de que c pertence ao centro do anel.
Um caso especial onde a comutatividade ocorre é quando D e E são duas matrizes diagonais (do mesmo tamanho); então DE = ED. Novamente, se as matrizes são sobre um anel geral em vez de um corpo, as entradas correspondentes em cada uma também devem comutar entre si para que isso seja válido.
O produto matricial é distributivo em relação à adição de matrizes. Isto é, se A, B, C, D são matrizes de tamanhos respectivos m × n, n × p, n × p e p × q, respectivamente, tem-se (distributividade à esquerda)
e (distributividade à direita)
Isso resulta da distributividade para coeficientes por
Se A é uma matriz e c um escalar, então as matrizes e são obtidas multiplicando à esquerda ou à direita todas as entradas de A por c. Se os escalares têm a propriedade comutativa, então
Se o produto é definido (isto é, o número de colunas de A é igual ao número de linhas de B), então
Se os escalares têm a propriedade comutativa, então todas as quatro matrizes são iguais. Mais geralmente, todas as quatro são iguais se c pertence ao centro de um anel contendo as entradas das matrizes, porque neste caso, cX = Xc para todas as matrizes X.
Essas propriedades resultam da bilinearidade do produto de escalares:
Se os escalares têm a propriedade comutativa, a transposta de um produto de matrizes é o produto, na ordem inversa, das transpostas dos fatores. Isto é
onde T denota a transposta, isto é, a troca de linhas e colunas.
Esta identidade não é válida para entradas não comutativas, pois a ordem entre as entradas de A e B é invertida, quando se expande a definição do produto matricial.
Se A e B têm entradas complexas, então
onde * denota o conjugado complexo entrada a entrada de uma matriz.
Isso resulta da aplicação à definição de produto matricial do fato de que o conjugado de uma soma é a soma dos conjugados das parcelas e o conjugado de um produto é o produto dos conjugados dos fatores.
A transposição atua sobre os índices das entradas, enquanto a conjugação atua independentemente sobre as próprias entradas. Resulta que, se A e B têm entradas complexas, tem-se
onde † denota a transposta conjugada (conjugado da transposta, ou equivalentemente transposta do conjugado).
Dadas três matrizes A, B e C, os produtos (AB)C e A(BC) são definidos se e somente se o número de colunas de A for igual ao número de linhas de B, e o número de colunas de B for igual ao número de linhas de C (em particular, se um dos produtos é definido, então o outro também é definido). Neste caso, tem-se a propriedade associativa
Como para qualquer operação associativa, isso permite omitir parênteses e escrever os produtos acima como
Isso se estende naturalmente ao produto de qualquer número de matrizes, desde que as dimensões coincidam. Isto é, se A1, A2, ..., An são matrizes tais que o número de colunas de Ai é igual ao número de linhas de Ai + 1 para i = 1, ..., n – 1, então o produto
é definido e não depende da ordem das multiplicações, se a ordem das matrizes for mantida fixa.
Essas propriedades podem ser provadas por manipulações de somatório diretas, embora complicadas. Este resultado também segue do fato de que as matrizes representam aplicações lineares. Portanto, a propriedade associativa das matrizes é simplesmente um caso específico da propriedade associativa da composição de funções.
Embora o resultado de uma sequência de produtos de matrizes não dependa da ordem das operações (desde que a ordem das matrizes não seja alterada), a complexidade computacional pode depender dramaticamente dessa ordem.
Por exemplo, se A, B e C são matrizes de tamanhos respectivos 10×30, 30×5, 5×60, calcular (AB)C precisa de 10×30×5 + 10×5×60 = 4.500 multiplicações, enquanto calcular A(BC) precisa de 30×5×60 + 10×30×60 = 27.000 multiplicações.
Algoritmos foram projetados para escolher a melhor ordem de produtos; veja Multiplicação de cadeia de matrizes. Quando o número n de matrizes aumenta, foi mostrado que a escolha da melhor ordem tem uma complexidade de
Qualquer matriz invertível define uma transformação de similaridade (sobre matrizes quadradas do mesmo tamanho que )
Transformações de similaridade mapeiam produtos em produtos, isto é
De fato, tem-se
Denotemos o conjunto de matrizes quadradas n×n com entradas em um anel R, que, na prática, é frequentemente um corpo.
Em , o produto é definido para cada par de matrizes. Isso torna um anel, que tem a matriz identidade I como um elemento identidade (a matriz cujas entradas diagonais são iguais a 1 e todas as outras entradas são 0). Este anel é também uma R-álgebra associativa.
Se n > 1, muitas matrizes não têm um inverso multiplicativo. Por exemplo, uma matriz tal que todas as entradas de uma linha (ou coluna) são 0 não tem inverso. Se existir, o inverso de uma matriz A é denotado A−1 e, portanto, verifica
Uma matriz que tem um inverso é uma matriz invertível. Caso contrário, é uma matriz singular.
Um produto de matrizes é invertível se e somente se cada fator é invertível. Neste caso, tem-se
Quando R é comutativo, e, em particular, quando é um corpo, o determinante de um produto é o produto dos determinantes. Como os determinantes são escalares, e os escalares comutam, tem-se assim
Os outros invariantes matriciais não se comportam tão bem com produtos. No entanto, se R é comutativo, AB e BA têm o mesmo traço, o mesmo polinômio característico e os mesmos autovalores com as mesmas multiplicidades. No entanto, os autovetores são geralmente diferentes se AB ≠ BA.
Pode-se elevar uma matriz quadrada a qualquer potência inteira não negativa multiplicando-a por si mesma repetidamente da mesma forma que para números ordinários. Isto é,
Calcular a k-ésima potência de uma matriz precisa de k – 1 vezes o tempo de uma única multiplicação de matrizes, se for feito com o algoritmo trivial (multiplicação repetida). Como isso pode ser muito demorado, geralmente se prefere usar a exponenciação por quadratura, que requer menos de 2 log2 k multiplicações de matrizes e é, portanto, muito mais eficiente.
Um caso fácil para a exponenciação é o de uma matriz diagonal. Como o produto de matrizes diagonais equivale simplesmente a multiplicar os elementos diagonais correspondentes entre si, a k-ésima potência de uma matriz diagonal é obtida elevando as entradas à potência k:
A definição de produto matricial requer que as entradas pertençam a um semianel e não exige que a multiplicação de elementos do semianel seja comutativa. Em muitas aplicações, os elementos da matriz pertencem a um corpo, embora o semianel tropical também seja uma escolha comum para problemas de caminho mais curto em grafos. Mesmo no caso de matrizes sobre corpos, o produto não é comutativo em geral, embora seja associativo e seja distributivo sobre a adição de matrizes. As matrizes identidades (que são as matrizes quadradas cujas entradas são zero fora da diagonal principal e 1 na diagonal principal) são elementos identidade do produto matricial. Segue-se que as matrizes n × n sobre um anel formam um anel, que é não comutativo, exceto se n = 1 e o anel de base for comutativo.
Uma matriz quadrada pode ter um inverso multiplicativo, chamado de matriz inversa. No caso comum em que as entradas pertencem a um anel comutativo R, uma matriz tem um inverso se e somente se seu determinante tem um inverso multiplicativo em R. O determinante de um produto de matrizes quadradas é o produto dos determinantes dos fatores. As matrizes n × n que têm um inverso formam um grupo sob a multiplicação de matrizes, cujos subgrupos são chamados de grupos matriciais. Muitos grupos clássicos (incluindo todos os grupos finitos) são isomorfos a grupos matriciais; este é o ponto de partida da teoria das representações de grupos.
As matrizes são os morfismos de uma categoria, a categoria de matrizes. Os objetos são os números naturais que medem o tamanho das matrizes, e a composição de morfismos é a multiplicação de matrizes. A fonte de um morfismo é o número de colunas da matriz correspondente, e o alvo é o número de linhas.

O algoritmo de multiplicação de matrizes que resulta da definição requer, no pior caso, multiplicações e adições de escalares para calcular o produto de duas matrizes quadradas n×n. Sua complexidade computacional é, portanto, , em um modelo de computação para o qual as operações escalares levam tempo constante.
Surpreendentemente, essa complexidade não é ótima, como mostrado em 1969 por Volker Strassen, que forneceu um algoritmo, agora chamado de algoritmo de Strassen, com uma complexidade de O algoritmo de Strassen pode ser paralelizado para melhorar ainda mais o desempenho. Desde janeiro de 2024[update], o melhor algoritmo de multiplicação de matrizes revisado por pares é de Virginia Vassilevska Williams, Yinzhan Xu, Zixuan Xu e Renfei Zhou e tem complexidade O(n2.371552). Não se sabe se a multiplicação de matrizes pode ser realizada em tempo n2 + o(1). Isso seria ótimo, pois deve-se ler os elementos de uma matriz para multiplicá-la por outra matriz.
Como a multiplicação de matrizes forma a base para muitos algoritmos, e muitas operações sobre matrizes têm até a mesma complexidade que a multiplicação de matrizes (a menos de uma constante multiplicativa), a complexidade computacional da multiplicação de matrizes aparece em toda a álgebra linear numérica e na ciência da computação teórica.
Outros tipos de produtos de matrizes incluem:
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, e é muito útil para matrizes grandes sobre domínios exatos tais como corpos finitos, em que a estabilidade numérica não é um problema.