Em matemática, a multiplicação da matriz ou o produto da matriz é uma operação binária que produz uma matriz a partir de duas matrizes. A definição é motivada por equações lineares e transformações lineares em vetores, que têm inúmeras aplicações em matemática aplicada, física e engenharia. Mais detalhadamente, se A é uma matriz n × m e B é uma matriz m × p, o produto da matriz AB é uma matriz n × p, na qual as entradas m em uma linha de A são multiplicadas pelas entradas m em uma colunas de B e somadas para produzir uma entrada de AB. Quando duas transformações lineares são representadas por matrizes, o produto da matriz representa a composição das duas transformações.
Fonte: Wikipedia
Em outras palavras, multiplicar duas matrizes, por exemplo:
1 2 3 1 4
2 3 4 × 3 1 =
3 4 5 4 6
Primeiro, pegue o número da linha 1 na primeira matriz, o número da coluna 1 na segunda matriz e multiplique 1
por 1
, 2
por 3
e 3
por4
.
1 × 1 = 1
2 × 3 = 6
3 × 4 = 12
Agora adicione-os para obter o seu primeiro item:
1 2 3 1 4 19
2 3 4 × 3 1 =
3 4 5 4 6
Para o segundo número na primeira coluna do resultado, você precisará pegar o número da linha 2 em vez da linha 1 e fazer a mesma coisa.
1 × 2 = 2
3 × 3 = 9
4 × 4 = 16
= 27
Depois de fazer a primeira coluna inteira, o resultado fica assim:
1 2 3 1 4 19
2 3 4 × 3 1 = 27
3 4 5 4 6 35
Agora, faça a mesma coisa exata novamente, mas pegue a segunda coluna em vez da primeira, resultando em:
1 2 3 1 4 19 24
2 3 4 × 3 1 = 27 35
3 4 5 4 6 35 46
Sua tarefa
Dadas duas matrizes (dimensões máximas 200x200), contendo números no intervalo -10000 a 10000, em que o número de colunas na primeira é igual ao número de linhas na segunda, multiplique a primeira pela segunda. (A multiplicação de matrizes não é comutativa.)
Você pode receber e fornecer saída como uma matriz de matrizes (ou equivalente), uma matriz (se o seu idioma tiver esse formato) ou uma sequência de linhas múltiplas.
Você não pode usar nenhum componente interno para multiplicação de matrizes.
Casos de teste
1 2 1 2 3 4 5 13 16 19 22 25
3 4 × 6 7 8 9 10 = 27 34 41 48 55
5 6 41 52 63 74 85
2 3 3 5 15 13
3 4 × 3 1 = 21 19
5 3 11 27
1 3 1 3 7 15
9 3 × 2 4 = 15 39
1 -1000 -1999 -3997
Lembre-se, isso é código-golfe , então o código com o menor número de bytes vence.