Kolda - Tensors in MATLAB
Kolda - Tensors in MATLAB
i1 = 1, …, I1
l The order of A is N
¡ “Higher-order” means N > 2
l The nth mode of A is of
3
,I
…
dimension In
,
=1
¡ mode = dimension or way i2 = 1, …, I2
i3
Operations on Tensors
lB is a tensor of size J1 £ J2 £ L £ JN
lNew notation
Multiplication with all but one of a
Sequence of Matrices
l Let A be a tensor of size I1 £ I2 £ L £ IN
l Let each U(n) be a matrix of size Jn £ In
l β is a scalar
lNew notation
Multiplication with all but one of a
Sequence of Vectors
l Let A be a tensor of size I1 £ I2 £ L £ IN
l Let each u(n) be a matrix of size In
l Result is a scalar
l Frobenius norm is just k A k 2 = < A, A >
Multiplying two Tensors
l Let A be of size I1 £ L £ IM £ J1 £ L £ JN
l Let B be of size I1 £ L £ IM £ K1 £ L £ KP
l Result is of size J1 £ L £ JN £ K1 £ L £ KP
Matricize: Converting a Tensor to a Matrix
i2 = 1
,
i2 = 2 i2 = I2
=1
i2 = 1, …, I2
i3
i1 = 1, …, I1
A(1) =
i3 = 1, …, I3 i3 = 1, …, I3 i3 = 1, …, I3
Matricize: Converting a Tensor to a Matrix
i1 = 1, …, I1
3
,I
…
i3 = 1 i3 = 2 i3 = I3
,
=1
i2 = 1, …, I2
i3
i2 = 1, …, I2
A(2) =
i1 = 1, …, I1 i1 = 1, …, I1 i1 = 1, …, I1
Matricize: Converting a Tensor to a Matrix
i1 = 1, …, I1
3
,I
…
i1 = 1 i1 = 2 i1 = I1
,
=1
i2 = 1, …, I2
i3
i3 = 1, …, I3
A(3) =
i2 = 1, …, I2 i2 = 1, …, I2 i2 = 1, …, I2
Inverse Matricize
= λ
CP Model
l “CP” is shorthand for CANDECOMP (Carrol and Chang,
1970) and PARAFAC (Harshman, 1970) – identical
models that were developed independently
l λ is a K-vector
l Each U(n) is an In £ K matrix
l Tensor A is size I1 £ I2 £ L £ IN
CP Model
¼
Tucker Model
l Tucker, 1966
l λ is a tensor of size K1 £ K2 £ L £ KN
¡“Core Tensor” or “Core Array”
l Each U(n) is an In £ Kn matrix
l Tensor A is size I1 £ I2 £ L £ IN
Tucker Model
¼
Higher Order Power Method
De Lathauwer, De Moor, Vandewalle
lCompute a rank-1 approximation to a
given tensor
lIn: A of size I1 £ I2 £ L £ IN
lOut: B = λ u(1) ? u(2) ? L ? u(N) is a rank-
one tensor of size I1 £ I2 £ L £ IN that
estimates A
HO Power Method
MATLAB Classes Examples
Note: MATLAB class does not
replace Bro’s N-Way Toolbox