Inicio · Parte 05 — Álgebra lineal I: vectores y matrices
(AB)ᵢⱼ = Σₖ AᵢₖBₖⱼ
(AB)C = A(BC) pero AB ≠ BA
(AB)ᵀ = BᵀAᵀ
El producto matricial no se define elemento a elemento porque no representa una suma: representa una composición. Aplicar B y luego A es aplicar la matriz AB, y de esa definición se deduce la fórmula «filas por columnas», no al revés.
Que sea asociativo pero no conmutativo tiene consecuencias prácticas. La asociatividad permite elegir el orden de evaluación, y esa elección puede cambiar radicalmente el coste: calcular (AB)C con A de (1000,1000), B de (1000,1) y C de (1,1000) cuesta muchísimo más que A(BC). Es una optimización real que hacen los compiladores de grafos de cómputo.
La no conmutatividad es la que hace que el orden de las capas importe, que rotar y luego escalar difiera de escalar y luego rotar (clase 073), y que las derivadas matriciales tengan que respetar el orden.
El coste del algoritmo ingenuo es O(n³). Strassen redujo el exponente a 2.807 en 1969, y el récord teórico actual está por debajo de 2.372, aunque esos algoritmos no son prácticos por sus constantes. En la práctica, el rendimiento lo determinan la localidad de caché y el paralelismo, no el exponente asintótico, y esa es la razón de existir de BLAS y de las unidades tensoriales de las GPU.
El producto no conmuta.
A = [[1,2],[3,4]] B = [[0,1],[1,0]] (intercambia columnas)
AB = [[2,1],[4,3]]
BA = [[3,4],[1,2]]
¿AB = BA? No ✗
Transpuesta del producto:
(AB)ᵀ = [[2,4],[1,3]]
BᵀAᵀ = [[2,4],[1,3]] ✓ con el orden invertido
Coste ingenuo n×n: O(n³)
AB ≠ BA y el coste cúbico del producto.
python classes/part-05-algebra-lineal-i-vectores-y-matrices/111-producto-de-matrices/lab.py
compmath run 111
ABABBAconmutan(AB)ᵀBᵀAᵀidentidad_de_transpuestacoste_naive_nxn{
"A": [
[
1.0,
2.0
],
[
3.0,
4.0
]
],
"B": [
[
0.0,
1.0
],
[
1.0,
0.0
]
],
"AB": [
[
2.0,
1.0
],
[
4.0,
3.0
]
],
"BA": [
[
3.0,
4.0
],
[
1.0,
2.0
]
],
"conmutan": false,
"(AB)ᵀ": [
[
2.0,
4.0
],
[
1.0,
3.0
]
]
}
Composición de capas, pipelines de transformación gráfica, optimización del orden de evaluación en grafos de cómputo y atención multi-cabeza.
Cada capa densa es un producto matriz-vector. Los embeddings viven en subespacios y la similitud entre ellos es producto punto normalizado.
9781421407944 verificado en International ISBN Agency (2026-08-19).10.1007/bf02165411 verificado en Crossref (2026-08-19).