Para poder multiplicar una matriz por otra matriz, es necesario primero considerar algunas reglas para llegar al resultado correcto.
Una de la cosas que se debe tomar muy en cuenta es que no es necesariamente una matriz debe tener el mismo orden que otra matriz, porque para multiplicar una matriz por la matriz, la matriz izquierda debe tener el mismo número de columnas que las fila de la matriz de la derecha con al que se está multiplicado.
Si escribimos el orden de la matriz izquierda y la matriz derecha como una multiplicación nos daríamos cuenta si esa matriz se puede multiplicar, porque los valoren que se encuentran en el centro nos indicarían de ello. Si los valores del centro son iguales entonces las matrices se pueden multiplicar, si los valores del centro no son iguales entonces las matrices no se pueden multiplicar por ejemplo:
Consideremos las matrices A y B.
4
3 4 5 2 6
A = 8 3 5 1 B = 3
9
Consideremos si es posible calcular la A y B según su orden
(2 x 4)(4 x 1) =A x B Es posible
Es posible por que los valores centrales son iguales
A continuación el algoritmo escrito en java para multiplicar dos matrices
int[][] multiplicar_matriz(int A[][], int B[][]){
int columnaA = A[0].length;
int filaA=A.length;
int filaB = B.length;
int columnaB = B[0].length;
if(columnaA!=filaB){
throw new RuntimeException("Dimensiones Incompatibles");
}else{
int [][]C = new int[filaA][columnaB];
for(int i = 0;i<filaA;i++ ){
for(int j = 0;j<columnaB;j++){
for(int k = 0;k<columnaA;k++) {
C[i][j] = C[i][j] + A[i][k] * B[k][j];
}
}
}
return C;
}
}