Shifted symmetric higher-order power method

Contents

Data tensor

From Example 1 in E. Kofidis and P. A. Regalia, On the best rank-1 approximation of higher-order supersymmetric tensors, SIAM J. Matrix Anal. Appl., 23 (2002), pp. 863–884, DOI: 10.1137/S0895479801387413.

A = tenzeros([3 3 3 3]);
A(perms([1 1 1 1])) = 0.2883;
A(perms([1 1 1 2])) = -0.0031;
A(perms([1 1 1 3])) = 0.1973;
A(perms([1 1 2 2])) = -0.2485;
A(perms([1 1 2 3])) = -0.2939;
A(perms([1 1 3 3])) = 0.3847;
A(perms([1 2 2 2])) = 0.2972;
A(perms([1 2 2 3])) = 0.1862;
A(perms([1 2 3 3])) = 0.0919;
A(perms([1 3 3 3])) = -0.3619;
A(perms([2 2 2 2])) = 0.1241;
A(perms([2 2 2 3])) = -0.3420;
A(perms([2 2 3 3])) = 0.2127;
A(perms([2 3 3 3])) = 0.2727;
A(perms([3 3 3 3])) = -0.3054;

Call eig_sshopm with no shift

The method with no shift will fail to converge.

[lambda, x, flag, it] = eig_sshopm(A, 'MaxIts', 100);

Call eig_sshopm with shift

[lambda, x, flag, it] = eig_sshopm(A, 'MaxIts', 100, 'Shift', 1);