A CP component's size lives in one weight
A CP component is one vector per axis and nothing else: 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) # the tensor did not move
Double one vector and halve another and the rank-1 tensor does not move, so a factor vector’s magnitude is arithmetic, not data. Only two things are readable: the unit-norm profile — the shape of the peaks and troughs — and one weight holding all the size, lam, which is what tensorly returns as weights. Normalise before you compare two components, or before you name a peak.