How CP would differ
CP keeps the three original axes as rank-one outer products: T[h,w,c] ≈ Σᵣ A[h,r] · B[w,r] · C[c,r], storing R · (H + W + C) scalars when the weights are absorbed into a factor.
SVD of (H, W · C) leaves each right factor free to mix width and channels; CP requires each component’s width/channel pattern to separate into two vectors. So a CP rank-R model has unfolding rank at most R — but the reverse need not hold.
And CP fitting is iterative and generally nonconvex: it does not inherit the matrix SVD’s global optimality guarantee. Deep dive 14 fits it.