Project DelphiTaller de Tensores

El tamaño de una componente CP vive en un solo peso

Una componente CP es un vector por eje y nada más: T[i, j, k] = a[i] · b[j] · c[k].

t1 = np.einsum("i,j,k->ijk", a, b, c) t2 = np.einsum("i,j,k->ijk", 2 * a, b / 2, c) assert np.allclose(t1, t2) # el tensor no se movió

Duplica un vector y divide otro a la mitad y el tensor de rango 1 no se mueve, así que la magnitud de un vector de factores es aritmética, no datos. Solo dos cosas se pueden leer: el perfil de norma unitaria —la forma de los picos y valles— y un único peso que guarda todo el tamaño, lam, que es lo que tensorly devuelve como weights. Normaliza antes de comparar dos componentes o de nombrar un pico.