Multiplicación de Matrices:
En el caso de la multiplicación de matrices, para que dicha operación pueda realizase, se requiere que el número de columnas de la primera matriz sea igual al de filas de la segunda matriz. Si dicha condición se cumple, entonces se puede concebir que cada elemento de la multiplicación sea resultado de aplicar de la siguiente fórmula:
donde A y B son las matrices a multiplicar, C es la matriz donde se guarda el resultado y C[i,j] es un elemento de la matriz C. Nótese el uso del elemento k. El elemento k es un entero que sirve como contador de las columnas en la matriz A y como contador de filas en la matriz C. Para ilustrar un poco es el proceso, se tienen las siguientes matrices:
A
B
C
1 2 3 4 1 5 10 30 70 120
5 6 7 8
X
2 6 11
=
70 174 304
9 10 11 12 3 7 12 110 278 488
4 8 13
Si se desea obtener el elemento C[2,2] de la matriz C, se tienen que efectuar las siguientes operaciones:
C[2,2] =
A[2,1] * B[1,2]
=
5 * 5
A[2,2] * B[2,2]
=
6 * 6
A[2,3] * B[3,2]
=
7 * 7
A[2,4] * B[4,2]
=
8 * 8
Suma:
174
Si este proceso se extiende para cualquier elemento de la matriz C, el código en pascal para obtener la sumatoria de los productos de las filas y columnas quedaría de la siguiente manera:
suma := 0;
for k := 1 to N do
suma:= suma + A[i,k]*B[k,j];
C[i,j] := suma;
El siguiente fragmento de código muestra cómo se pueden obtener todos los elementos de la matriz C.