LECCIÓN 10

Multiplicar matrices

¿Y si aplicas dos transformaciones seguidas? Pues sale otra transformación, y se puede empaquetar en UNA sola matriz: el producto de las dos. Misma receta que matriz·vector, pero a lo grande.

Recuerda de la lección anterior: cada matriz deforma el plano de una forma específica — rota, escala, inclina. Aprendiste el truco: las columnas de la matriz te dicen adónde van los vectores base (1,0) y (0,1). Hoy: ¿qué pasa si aplicas dos transformaciones seguidas?

1Encadenar transformaciones

Imagina que primero aplicas una transformación B a un vector, y luego al resultado le aplicas otra A:

v  →  B·v  →  A·(B·v)

¿Eso es una nueva transformación? Sí — y se puede empaquetar en una sola matriz. ¿Por qué? Porque las transformaciones lineales solo hacen sumas y multiplicaciones. Y combinar sumas y multiplicaciones siempre da otra suma y multiplicación — lo que significa otra transformación lineal. Esa matriz combinada se llama el producto A·B:

A·(B·v) = (A·B)·v
⚠️ Ojo con el orden: A·B significa "primero B, luego A" (se lee de derecha a izquierda, pegado al vector). Es como una pila — el más cercano al vector se aplica primero. Y casi siempre: A·B ≠ B·A (¡no es conmutativo!).

2La receta para multiplicar matrices

La regla es la misma que matriz·vector (lección 8), pero ahora cada columna de la segunda matriz hace el papel de "vector". Ve primero el ejemplo numérico en la sección 3, y regresa aquí para ver la fórmula general:

[
ab
cd
]
· [
ef
gh
]
 =  [
ae+bgaf+bh
ce+dgcf+dh
]

cada celda del resultado = producto punto de una fila de A con una columna de B.

3Un ejemplo numérico completo, paso a paso

Calculemos A · B con:

A = [
12
34
]
    B = [
20
12
]
✍️ Las 4 celdas del resultado, una por una
resultado[1,1] = fila 1 de A · columna 1 de B
                = (1, 2) · (2, 1)
                = 1·2 + 2·1   = 2 + 2 = 4

resultado[1,2] = fila 1 de A · columna 2 de B
                = (1, 2) · (0, 2)
                = 1·0 + 2·2   = 0 + 4 = 4

resultado[2,1] = fila 2 de A · columna 1 de B
                = (3, 4) · (2, 1)
                = 3·2 + 4·1   = 6 + 4 = 10

resultado[2,2] = fila 2 de A · columna 2 de B
                = (3, 4) · (0, 2)
                = 3·0 + 4·2   = 0 + 8 = 8
A · B = [
44
108
]

4Atención: A·B ≠ B·A casi siempre

A diferencia de los números (donde 3·5 = 5·3), con matrices el orden importa. Tiene sentido si lo piensas geométricamente: primero rotar y luego escalar no es lo mismo que primero escalar y luego rotar en general.

✍️ Comprobémoslo: calcula B·A con las mismas matrices
B · A =  fila 1 B · col 1 A:  (2, 0)·(1, 3) = 2·1+0·3 = 2
         fila 1 B · col 2 A:  (2, 0)·(2, 4) = 2·2+0·4 = 4
         fila 2 B · col 1 A:  (1, 2)·(1, 3) = 1·1+2·3 = 7
         fila 2 B · col 2 A:  (1, 2)·(2, 4) = 1·2+2·4 = 10

B · A = [[2, 4], [7, 10]]    vs    A · B = [[4, 4], [10, 8]]
                                                ↑ ¡diferente!

5La regla del "encajado" de formas

Para multiplicar dos matrices, sus dimensiones tienen que encajar:

A  es  m × k   ·   B  es  k × n   →   A·B  es  m × n

El número del medio tiene que coincidir — es la condición de "encajado" que mencionamos en la lección 7. Recuerda: "m×k" significa m filas y k columnas. El resultado toma las dimensiones de los extremos:

📐 Este es el error de formas que más vas a ver en PyTorch. Cuando salga "shape mismatch", revisa que el número del medio coincida.

6Pruébalo: dos matrices, una composición

Modifica A y B. Verás la matriz resultado A·B calculada en vivo, y cómo la deformación combinada se aplica a una rejilla.

Matriz A (segunda en aplicarse)

1
0
0
2

Matriz B (primera en aplicarse)

0
-1
1
0

7Esto es, literalmente, toda una red neuronal

🌟 Una red de N capas (ignorando las funciones de activación — las pequeñas "decisiones" que cada neurona toma después del cálculo) es esto:
salida = MN · MN-1 · ... · M2 · M1 · entrada
Multiplicaciones encadenadas de matrices. Cada Mᵢ es una capa, con pesos que la red ajusta durante el entrenamiento. Por eso entender este producto = entender qué hace una red por dentro a nivel de operaciones.

8Lo que aprendiste

Lo que aprendiste hoy: multiplicar matrices es encadenar transformaciones — aplicar B y luego A es lo mismo que aplicar la matriz A·B de una vez. Cada celda del resultado es un producto punto de una fila de A con una columna de B. Las dimensiones deben encajar: el número de columnas de A debe ser igual al número de filas de B. El orden importa: A·B ≠ B·A casi siempre.

En la próxima lección: el determinante, un único número que mide cuánto agranda (o achica) el espacio una matriz.