Lecture 6. The Tucker Representation - Gene Golub SIAM Summer ...
Lecture 6. The Tucker Representation - Gene Golub SIAM Summer ...
Lecture 6. The Tucker Representation - Gene Golub SIAM Summer ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
From Matrix to Tensor:<br />
<strong>The</strong> Transition to Numerical Multilinear Algebra<br />
<strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong><br />
Charles F. Van Loan<br />
Cornell University<br />
<strong>The</strong> <strong>Gene</strong> <strong>Golub</strong> <strong>SIAM</strong> <strong>Summer</strong> School 2010<br />
Selva di Fasano, Brindisi, Italy<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
Where We Are<br />
<strong>Lecture</strong> 1. Introduction to Tensor Computations<br />
<strong>Lecture</strong> 2. Tensor Unfoldings<br />
<strong>Lecture</strong> 3. Transpositions, Kronecker Products, Contractions<br />
<strong>Lecture</strong> 4. Tensor-Related Singular Value Decompositions<br />
<strong>Lecture</strong> 5. <strong>The</strong> CP <strong>Representation</strong> and Tensor Rank<br />
<strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong><br />
<strong>Lecture</strong> 7. Other Decompositions and Nearness Problems<br />
<strong>Lecture</strong> 8. Multilinear Rayleigh Quotients<br />
<strong>Lecture</strong> 9. <strong>The</strong> Curse of Dimensionality<br />
<strong>Lecture</strong> 10. Special Topics<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
What is This <strong>Lecture</strong> About?<br />
Approximate A ∈ IR n1×···×nd<br />
Find S ∈ IR r1×r2×r3 and orthonormal U1 ∈ IR n1×r1 , U2 ∈ IR n2×r2<br />
and U3 ∈ IR n3×r3 so that<br />
A ≈<br />
r1<br />
j1=1<br />
r2<br />
j2=1<br />
r3<br />
S(j1, j2, j3) · U1(:, j1) ◦ U2(:, j2) ◦ U3(:, j3)<br />
j3=1<br />
Compare with the CP <strong>Representation</strong> from Last <strong>Lecture</strong>...<br />
Find λ ∈ IR r U1 ∈ IR n1×r , U2 ∈ IR n2×r and U3 ∈ IR n3×r so that<br />
A ≈<br />
r<br />
λj · U1(:, j) ◦ U2(:, j) ◦ U3(:, j)<br />
j=1<br />
<strong>The</strong> SVD Ambition: Illuminating Sums of Rank-1 Tensors<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
What is This <strong>Lecture</strong> About?<br />
Approximate A ∈ IR n1×···×nd<br />
Find S ∈ IR r1×r2×r3 and orthonormal U1 ∈ IR n1×r1 , U2 ∈ IR n2×r2<br />
and U3 ∈ IR n3×r3 so that<br />
A ≈<br />
r1<br />
j1=1<br />
r2<br />
j2=1<br />
r3<br />
S(j1, j2, j3) · U1(:, j1) ◦ U2(:, j2) ◦ U3(:, j3)<br />
j3=1<br />
Compare with SVD of Matrix...<br />
Find S ∈ IR r1×r2 and orthonormal U1 ∈ IR n1×r1 and U2 ∈ IR n3×r2 so<br />
that<br />
A ≈<br />
r1<br />
j1=1<br />
r2<br />
S(j1, j2) · U1(:, j1) ◦ U2(:, j2)<br />
j2=1<br />
But we will not be able to make S(1:r1, 1:r2, 1:r3) diagonal.<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
What is This <strong>Lecture</strong> About?<br />
<strong>The</strong> Plan...<br />
Review the <strong>Tucker</strong> <strong>Representation</strong> and the HOSVD introduced in<br />
<strong>Lecture</strong> 4.<br />
Develop an Alternating Least Squares framework for minimizing<br />
<br />
<br />
<br />
r<br />
<br />
<br />
<br />
A − S(j) · U1(:, j1) ◦ U2(:, j2) ◦ U3(:, j3) <br />
<br />
<br />
j=1<br />
Re-examine the tensor rank issue.<br />
Use Order-3 to Motivate Main Ideas.<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong><br />
F
<strong>The</strong> <strong>Tucker</strong> Product <strong>Representation</strong> (Brief Review)<br />
Mode-k Multiplication<br />
Apply a matrix to all the mode-k fibers of a tensor.<br />
For example, if S ∈ IR r1×r2×r3 and U2 ∈ IR n2×r2 , then<br />
X = S × 2 U2 ⇔ X (2) = U2 · S (2)<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> <strong>Tucker</strong> Product <strong>Representation</strong> (Brief Review)<br />
<strong>The</strong> <strong>Tucker</strong> Product<br />
A succession of mode-k products.<br />
For example, if S ∈ IR r1 × r2 × r3 , U1 ∈ IR n1×r1 , U2 ∈ IR n2×r2 , and<br />
U3 ∈ IR n3×r3 , then<br />
X = S × 1 U1 × 2 U2 × 3 U3<br />
= ((S × 1 U1) × 2 U2) × 3 U3<br />
= [[ S ; U1, U2, U3 ]]<br />
<strong>The</strong> tensor X ∈ IR n1×n2×n3 is represented in <strong>Tucker</strong> form.<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> <strong>Tucker</strong> Product <strong>Representation</strong> (Brief Review)<br />
As a Sum of Rank-1 Tensors...<br />
If S ∈ IR r1×r2×r3 , U1 ∈ IR n1×r1 , U2 ∈ IR n2×r2 , U3 ∈ IR n3×r3 , and<br />
then<br />
X =<br />
r1<br />
j1=1<br />
r2<br />
j2=1<br />
X = [[ S ; U1, U2, U3 ]]<br />
r3<br />
S(j1, j2, j3) · U1(:, j1) ◦ U2(:, j2) ◦ U3(:, j3)<br />
j3=1<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> <strong>Tucker</strong> Product <strong>Representation</strong> (Brief Review)<br />
As a Scalar Summation...<br />
If S ∈ IR r1×r2×r3 , U1 ∈ IR n1×r1 , U2 ∈ IR n2×r2 , U3 ∈ IR n3×r3 , and<br />
then<br />
X (i1, i2, i3) = =<br />
r1<br />
X = [[ S ; U1, U2, U3 ]]<br />
r2<br />
j1=1 j2=1 j3=1<br />
r3<br />
S(j1, j2, j3) · U1(i1, j1) · U2(i2, j2) · U3(i3, j3)<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> <strong>Tucker</strong> Product <strong>Representation</strong> (Brief Review)<br />
As a Matrix-Vector Product...<br />
If S ∈ IR r1×r2×r3 , U1 ∈ IR n1×r1 , U2 ∈ IR n2×r2 , U3 ∈ IR n3×r3 , and<br />
then<br />
X = [[ S ; U1, U2, U3 ]]<br />
vec(X ) = (U3 ⊗ U2 ⊗ U1) · vec (S)<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> <strong>Tucker</strong> Product <strong>Representation</strong> (Brief Review)<br />
When the U’s are Orthogonal...<br />
If A ∈ IR n1×n2×n3 is given and U1 ∈ IR n1×n1 , U2 ∈ IR n2×n2 , and<br />
U3 ∈ IR n3×n3 are orthogonal, then it is possible to determine<br />
so that A = X .<br />
X = [[ S ; U1, U2, U3 ]]<br />
S = A × 1 U T 1 × 2 U T 2 × 3U T 3<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> <strong>Tucker</strong> Product <strong>Representation</strong> (Brief Review)<br />
When the U’s are from the Modal Unfolding SVDs...<br />
Suppose A ∈ IR n1×n2×n3 is given. If<br />
are SVDs and<br />
then<br />
is the higher-order SVD of A.<br />
A (1) = U1Σ1V T 1<br />
A (2) = U2Σ2V T 2<br />
A (3) = U3Σ3V T 3<br />
S = A × 1 U T 1 × 2 U T 2 × 3 U T 3 ,<br />
A = [[ S ; U1, U2, U3 ]]<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
Matlab Tensor Toolbox: <strong>Tucker</strong> Tensor Set-Up<br />
n = [5 8 3]; m = [4 6 2];<br />
F = randn (n(1) ,m (1)); G = randn (n(2) ,m (2));<br />
H = randn (n(3) ,m (3));<br />
S = tenrand (m);<br />
X = ttensor (S ,{F,G,H });<br />
Fsize = size (X.U {1}); Gsize = size (X.U {2});<br />
Hsize = size (X.U {3});<br />
Ssize = size (X. core ); s = size (X);<br />
A ttensor is a structure with two fields that is used to represent a tensor in<br />
<strong>Tucker</strong> form. In the above, X.core houses the the core tensor S while X.U is a<br />
cell array of the matrices F , G, and H that define the tensor X.<br />
Variable Value<br />
Fsize [5,4]<br />
Gsize [8,6]<br />
Hsize [3,2]<br />
Ssize [4 6 2]<br />
s [5 8 3]<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
Problem <strong>6.</strong>1. Suppose<br />
A = [[S; M1, M2, M3 ]]<br />
and that each Mi has more rows than columns. If Mi = QiRi is a QR<br />
factorization, then<br />
A = [[S; Q1, Q2, Q3 ]] ×1R1 ×2R2 ×3R3<br />
can be regarded as a QR factorization of A.<br />
Write a Matlab function [Q,R] = tensorQR(A) that carries out this<br />
decomposition where A, Q and R are ttensors.<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> <strong>Tucker</strong> Product Approximation Problem<br />
Definition<br />
Given A ∈ IR n1×n2×n3 and r ≤ n, determine<br />
S ∈ IR r1×r2×r3 the “core tensor”<br />
U1 ∈ IR n1×r1 orthonormal columns<br />
U2 ∈ IR n2×r2 orthonormal columns<br />
U3 ∈ IR n3×r3 orthonormal columns<br />
such that A − X F is minimized where<br />
r<br />
X = [[ S; U1, U2, U3 ]] = S(j) · U1(:, j1) ◦ U2(:, j2) ◦ U3(:, j3)<br />
j=1<br />
We say that X is a length-r <strong>Tucker</strong> tensor.<br />
In the matrix case, we solve this problem by truncating A’s SVD.<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> Truncated HOSVD<br />
Definition<br />
If<br />
A = [[ S; U1, U2, U3 ]]<br />
is the HOSVD of A ∈ IR n1×n2×n3 and r ≤ n, then<br />
Ar = [[ S(1:r1, 1:r2, 1:r3); U1(:, 1:r1), U2(:, 1:r2, U3(:, 1:r3) ]]<br />
is a truncated HOSVD of A.<br />
How good is X = Ar as a minimizer of A − X F ? Not optimal but...<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> Truncated HOSVD<br />
Look at A ≈ Ar at the scalar level...<br />
A(i1, i2, i3) =<br />
Ar(i1, i2, i3) =<br />
n1 <br />
n2 <br />
n3 <br />
j1=1 j2=1 j3=1<br />
r1<br />
r2<br />
j1=1 j2=1 j3=1<br />
S(j1, j2, j3) · U1(i1, j1) · U2(i2, j2) · U3(i3, j3)<br />
r3<br />
S(j1, j2, j3) · U1(i1, j1) · U2(i2, j2) · U3(i3, j3)<br />
What can we say about the “thrown away” terms?<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> Truncated HOSVD<br />
<strong>The</strong> Core Tensor S is Graded<br />
Recall from <strong>Lecture</strong> 4 that S (k)( j, :) is the j-th singular value of<br />
A (k). This means that<br />
S(j, :, :) F = σj(A (1)) j = 1:n1<br />
S(:, j, :) F = σj(A (2)) j = 1:n2<br />
S(:, :, j) F = σj(A (3)) j = 1:n3<br />
<strong>The</strong> entries in S tend to get smaller as you move away from the (1,1,1)<br />
entry.<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
Problem <strong>6.</strong>2. Does this inequality hold?<br />
A − Ar 2<br />
F ≤<br />
Can you do better?<br />
n1 X<br />
j=r1+1<br />
Problem <strong>6.</strong>3. Show that<br />
σj(A(1)) 2 +<br />
n2 X<br />
j=r2+1<br />
σj(A(2)) 2 +<br />
n3 X<br />
j=r3+1<br />
σj(A(3)) 2<br />
|A(i1, i2, i3) − Xr(i1, i2, i3)| ≤ min{σr1+1(A(1)), σr2+1(A(2)), σr3+1(A(3)), }<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> <strong>Tucker</strong> Product Approximation Problem<br />
Once again, the problem...<br />
Given A ∈ IR n1×n2×n3 and r ≤ n, determine<br />
such that<br />
is minimized.<br />
S ∈ IR r1×r2×r3 the “core tensor”<br />
U1 ∈ IR n1×r1 orthonormal columns<br />
U2 ∈ IR n2×r2 orthonormal columns<br />
U3 ∈ IR n3×r3 orthonormal columns<br />
A − [[ S; U1, U2, U3 ]] F<br />
=<br />
vec(A) − (U3 ⊗ U2 ⊗ U1) vec(S) <br />
Note that vec(S) solves an ordinary least squares problem...<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> <strong>Tucker</strong> Product Approximation Problem<br />
Reformulation...<br />
Since S must minimize<br />
vec(A) − (U3 ⊗ U2 ⊗ U1) · vec(S) <br />
and U3 ⊗ U2 ⊗ U1 is orthonormal, we see that<br />
S =<br />
<br />
U T 3 ⊗ UT 2 ⊗ UT 1<br />
<br />
· vec(A)<br />
and so our goal is to choose the Ui so that<br />
I − (U3 ⊗ U2 ⊗ U1) UT 3 ⊗ UT 2 ⊗ UT <br />
1 vec(A) <br />
is minimized.<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> <strong>Tucker</strong> Product Approximation Problem<br />
Reformulation...<br />
Since U3 ⊗ U2 ⊗ U1 has orthonormal columns, it follows that our<br />
goal is to choose orthonormal Ui so that<br />
is maximized.<br />
If Q has orthonormal columns then<br />
UT 3 ⊗ UT 2 ⊗ UT <br />
1 · vec(A) <br />
(I − QQT )a 2<br />
2 = a 2 − QT a 2<br />
2<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> <strong>Tucker</strong> Product Approximation Problem<br />
Reshaping...<br />
UT 3 ⊗ UT 2 ⊗ UT <br />
1 · vec(A) <br />
=<br />
U T 1 · A (1) · (U3 ⊗ U2) F<br />
=<br />
U T 2 · A (2) · (U3 ⊗ U1) F<br />
=<br />
U T 3 · A (3) · (U2 ⊗ U1) F<br />
Sets the stage for an alternating least squares solution approach...<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
Alternating Least Squares Framework<br />
A Sequence of Three Linear Problems...<br />
UT 3 ⊗ UT 2 ⊗ UT <br />
1 · vec(A) <br />
=<br />
U T 1 · A (1) · (U3 ⊗ U2) F<br />
=<br />
U T 2 · A (2) · (U3 ⊗ U1) F<br />
=<br />
U T 3 · A (3) · (U2 ⊗ U1) F<br />
⇐ 1. Fix U2 and U3 and<br />
maximize with U1.<br />
⇐ 2. Fix U1 and U3 and<br />
maximize with U2.<br />
⇐ 3. Fix U1 and U2 and<br />
maximize with U3.<br />
<strong>The</strong>se max problems are SVD problems...<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
Alternating Least Squares Framework<br />
A Sequence of Three Linear Problems...<br />
Repeat:<br />
1. Compute the SVD A (1) · (U3 ⊗ U2) = Ũ1Σ1V T 1<br />
and set U1 = Ũ1(:, 1:r1).<br />
2. Compute the SVD A (2) · (U3 ⊗ U1) = Ũ2Σ2V T 2<br />
and set U2 = Ũ2(:, 1:r2).<br />
3. Compute the SVD A (3) · (U2 ⊗ U1) = Ũ3Σ3V T 3<br />
and set U3 = Ũ3(:, 1:r3).<br />
Higher Order Orthogonal Iteration (HOOI)<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
Problem <strong>6.</strong>4. Write a Matlab function X = My<strong>Tucker</strong>3(A,r,itmax)<br />
that performs itMax steps of the HOOI algorithm to obtain a best length-r<br />
<strong>Tucker</strong> approximation to the order-3 tensor A. <strong>The</strong> output tensor X should<br />
be a ttensor. Use the truncated HOSVD to obtain an initial guess. Justify<br />
its use over a random starting guess. To make your implementation<br />
efficient, use the Kronecker product fact that if<br />
B = A · (Y ⊗ Z)<br />
then B(i, :) is a reshaping of a matrix product that involves Y , Z, and a<br />
reshaping of A(i, :).<br />
Problem <strong>6.</strong>5. How does My<strong>Tucker</strong>3 behave it it is based on<br />
QR-with-column-pivoting instead of the SVD?<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
<strong>The</strong> Order-d Case<br />
<strong>The</strong> <strong>Tucker</strong> Product Approximation Problem<br />
Given A ∈ IR n1×···×nd and r ≤ n, compute S ∈ IR r1×···×rd and<br />
orthonormal matrices Uk ∈ IR nk×rk for k = 1:d such that if<br />
X = [[ S; U1, . . . , Ud ]] =<br />
then A − X F is minimized.<br />
r<br />
S(j) U1(:, j1) ◦ · · · ◦ Ud(:, jd)<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong><br />
j=1
<strong>The</strong> Order-d Case<br />
<strong>The</strong> ALS Framework Involves a Sequence of d SVD Problems...<br />
Repeat:<br />
for k = 1:d<br />
end<br />
Compute the SVD<br />
A (k) (Ud ⊗ · · · ⊗ Uk+1 ⊗ Uk−1 ⊗ · · · ⊗ U1) = ŨkΣkV T k<br />
and set Uk = Ũk(:, 1:rk)<br />
What about the choice of r = [ r1, . . . , rd ]?<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
Matlab Tensor Toolbox: <strong>The</strong> Function tucker als<br />
n = [ 5 6 7 ];<br />
% <strong>Gene</strong>rate a random tensor ...<br />
A = tenrand (n);<br />
for r = 1: min (n)<br />
% Find the closest length -[r r r] ttensor ...<br />
X = tucker_als (A ,[r r r ]);<br />
% Display the fit ...<br />
E = double (X)- double (A);<br />
fit = norm ( reshape (E, prod (n ) ,1));<br />
fprintf (’r = %1d, fit = %5.3 e\n’,r,fit );<br />
end<br />
<strong>The</strong> function <strong>Tucker</strong> als returns a ttensor. Default values for the number of<br />
iterations and the termination criteria can be modified:<br />
X = <strong>Tucker</strong> als(A,r,’maxiters’,20,’tol’,.001)<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
Problem <strong>6.</strong><strong>6.</strong> Compare the efficiency of My<strong>Tucker</strong>3 and tucker als.<br />
Problem <strong>6.</strong>7. Do cp als(A,1) and tucker als(A,1) return the same<br />
rank-1 tensor?<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
More on Tensor Rank<br />
k-Rank<br />
If A ∈ IR n1×···×nd and 1 ≤ k ≤ d, then its k-rank is defined by<br />
rankk(A) = rank(A (k))<br />
Problem <strong>6.</strong>8. Show that if A ∈ IR n1×···×n d then there exists<br />
X = [[ S ; U1, . . . , Ud]]<br />
where for k = 1:d, Uk ∈ IR n k ×r k has orthonormal columns and<br />
rk = rankk(A). This can be thought of as a “thin” HOSVD.<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
More on Tensor Rank<br />
rank(Any Unfolding of A) ≤ rank(A)<br />
Suppose Uk ∈ IR nk ×r and that<br />
A =<br />
r<br />
U1(:, k) ◦ · · · ◦ Ud(:, k).<br />
k=1<br />
If p is any permutation of 1:d and 1 ≤ j < d, then<br />
tenmat(A, p(1:j), p( j + 1:d))<br />
<br />
Up(j) ⊙ · · · ⊙ Up(1) Up(d) ⊙ · · · ⊙ Up( j+1)<br />
=<br />
=<br />
r <br />
Up(j)(:, k) ⊗ · · · ⊗ Up(1)(:, j) Up(d)(:, k) ⊗ · · · ⊗ Up( j+1)(:, j) T k=1<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong><br />
T
Problem <strong>6.</strong>9. Does it follow that the “most square” unfolding of<br />
A ∈ IR n1×···×n d has the highest rank?<br />
Problem <strong>6.</strong>10. Suppose M is an unfolding of A ∈ IR n1×···×n d. How might<br />
you construct a good ktensor or ttensor approximation to A from the SVD<br />
of M?<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>
Summary of <strong>Lecture</strong> <strong>6.</strong><br />
Key Words<br />
<strong>The</strong> <strong>Tucker</strong> Approximation Problem for a given tensor A and<br />
a given integer vector r, involves finding the nearest length-r<br />
<strong>Tucker</strong> tensor to A in the Frobenius norm.<br />
<strong>The</strong> alternating least squares framework is used by<br />
tucker als to solve the <strong>Tucker</strong> approximation problem. It<br />
proceeds by solving a sequence of SVD problems.<br />
<strong>The</strong> k-rank of a tensor is the matrix rank of its mode-k<br />
unfolding.<br />
⊗ Transition to Computational Multilinear Algebra ⊗ <strong>Lecture</strong> <strong>6.</strong> <strong>The</strong> <strong>Tucker</strong> <strong>Representation</strong>