Project DelphiTaller de Tensores

El tensor de la multiplicación de matrices

Tensor de la multiplicación de matrices — un arreglo fijo de ceros y unos que es la regla para multiplicar matrices.

Numera las entradas de una matriz 2 × 2 por filas (11, 12, 21, 22 → 0, 1, 2, 3) y da a la rejilla un eje para A, otro para B y otro para C. La celda T[a, b, c] vale 1 exactamente cuando la entrada a de A por la entrada b de B se suma en la entrada c de C. Para 2 × 2 es 4 × 4 × 4: 64 celdas, ocho de ellas con un 1.

product = np.einsum("abc,a,b->c", T, A.ravel(), B.ravel()) # [[1, 2], [3, 4]] por [[5, 6], [7, 8]] -> 19, 22, 43, 50

El tensor no contiene datos. Es la regla; A y B llegan en el momento de la contracción, como dos vectores.