02.06.2013 Views

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 ...

SHOW MORE
SHOW LESS

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>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!