Inicio · Parte 06 — Álgebra lineal II: descomposiciones y tensores
orden = número de índices
índice lineal (row-major) = i·(d₂d₃) + j·d₃ + k
lote de imágenes: (N, C, H, W)
Un tensor generaliza escalar, vector y matriz a un número arbitrario de índices. En computación no es más que un array multidimensional con un shape, y el trabajo real está en no perderse entre los índices.
El orden de aplanado determina cómo se recorre en memoria. En row-major —el de C, Python y NumPy por defecto— el último índice varía más rápido; en column-major —el de Fortran, MATLAB y las rutinas BLAS— es el primero. Recorrer en el orden equivocado destruye la localidad de caché y puede costar un orden de magnitud de rendimiento sin cambiar el resultado.
Las convenciones de shape importan porque no son universales. Un lote de imágenes es (N, C, H, W) en PyTorch y (N, H, W, C) en TensorFlow. Confundirlas produce errores silenciosos: el código corre y el modelo no aprende. Anotar el shape esperado en cada punto del código es la práctica que evita esa clase de bug.
Las operaciones de reordenamiento —transpose, permute, reshape, view— no mueven datos necesariamente: cambian la interpretación de los índices. Esa distinción entre vista y copia es la que explica los errores de contigüidad que aparecen al encadenar operaciones en PyTorch.
Tensor de orden 3 y su aplanado.
shape (2,2,2), 8 elementos
T[0] = [[0,1],[2,3]]
T[1] = [[4,5],[6,7]]
aplanado row-major: [0,1,2,3,4,5,6,7]
elemento T[1][0][1] = 5
índice lineal: 1·4 + 0·2 + 1 = 5 ✓
Convenciones reales:
PyTorch: (N, C, H, W)
TensorFlow: (N, H, W, C)
Orden, shape y reordenamiento de índices.
python classes/part-06-algebra-lineal-ii-descomposiciones-y-tensores/137-tensores-indices-shape-y-orden/lab.py
compmath run 137
ordenshapetensorelementosaplanado_row_majorelemento_[1][0][1]indice_linealun_batch_de_imagenes_es_orden_4{
"orden": 3,
"shape": [
2,
2,
2
],
"tensor": [
[
[
0,
1
],
[
2,
3
]
],
[
[
4,
5
],
[
6,
7
]
]
],
"elementos": 8,
"aplanado_row_major": [
0,
1,
2,
3,
4,
5,
6,
7
],
"elemento_[1][0][1]": 5
}
Representación de lotes de imágenes, secuencias y vídeo; interoperabilidad entre frameworks; optimización de recorridos por localidad de caché.
LoRA factoriza matrices de bajo rango, la atención se define con productos tensoriales y la estabilidad del entrenamiento depende del espectro de los pesos.
10.1137/07070111x verificado en Crossref (2026-08-19).