🧮 Computational Mathematics

Inicio · Parte 05 — Álgebra lineal I: vectores y matrices

110 — Producto matriz-vector

intermedio clase 10 de 20 4 horas demostración matrix_vector

Ax es una combinación lineal de las columnas de A, y por eso vive en el espacio columna.

Fórmulas

Ax = Σ xⱼ · (columna j de A)
Ax = b tiene solución ⟺ b ∈ espacio columna de A

Desarrollo

Hay dos formas de calcular Ax y una de entenderlo. La primera —fila por fila, cada componente del resultado es un producto punto— es la que se enseña para calcular a mano. La segunda —combinación lineal de las columnas de A con los coeficientes de x— es la que explica qué está ocurriendo.

Esa segunda lectura tiene una consecuencia inmediata y muy útil: Ax siempre está en el span de las columnas de A, es decir, en el espacio columna. Y por tanto Ax = b tiene solución si y solo si b pertenece a ese espacio. La existencia de solución deja de ser un misterio y pasa a ser una pregunta sobre pertenencia a un subespacio.

En deep learning, Wx + b es exactamente esto: cada fila de W define una combinación de las entradas, o equivalentemente, la salida es una combinación de las columnas de W. Si W tiene rango deficiente, la salida está confinada a un subespacio de dimensión menor que el número de neuronas: hay capacidad desperdiciada.

El coste de Ax es O(mn), lineal en el número de elementos de la matriz. Es la operación básica sobre la que se construye todo lo demás, y por eso las bibliotecas la implementan en BLAS de nivel 2 con optimizaciones de caché específicas.

Ejemplo trabajado

Ax como combinación de columnas.

A = [[2,1],       x = (4, 5)
     [0,3],
     [1,−1]]

Cálculo por filas:
  (2·4 + 1·5, 0·4 + 3·5, 1·4 + (−1)·5) = (13, 15, −1)

Cálculo por columnas:
  4·(2,0,1) + 5·(1,3,−1) = (8,0,4) + (5,15,−5) = (13,15,−1)   ✓

Ax vive en el span de {(2,0,1), (1,3,−1)}: un plano en ℝ³

Qué calcula el laboratorio

Ax como combinación lineal de las columnas de A.

python classes/part-05-algebra-lineal-i-vectores-y-matrices/110-producto-matriz-vector/lab.py
compmath run 110

Salidas del laboratorio (7)

Muestra de la ejecución real

{
  "A_shape": [
    3,
    2
  ],
  "x": [
    4.0,
    5.0
  ],
  "Ax": [
    13.0,
    15.0,
    -1.0
  ],
  "combinacion_de_columnas": [
    13.0,
    15.0,
    -1.0
  ],
  "coinciden": true,
  "lectura": "Ax vive en el espacio columna de A"
}

Errores comunes

Dónde se usa

Capas densas, transformación de coordenadas, sistemas de ecuaciones y análisis de capacidad de una red.

Idea rectora de la parte

El determinante mide cuánto escala el volumen una transformación.

Error a evitar

Invertir una matriz mal condicionada en lugar de factorizar.

Conexión con IA

Cada capa densa es un producto matriz-vector. Los embeddings viven en subespacios y la similitud entre ellos es producto punto normalizado.

Bibliografía de la clase

Archivos de la clase