Question about optimization on Grassmannian

25 views
Skip to first unread message

cuhkk...@gmail.com

unread,
Jan 19, 2018, 12:07:53 PM1/19/18
to Manopt
Hi everyone,

In the example of dominant invariant subspace in the package, which optimization
problem is max tr(X'AX), where X \in \Gr(n,k) and A is symmetric, the maximum value should be equal to the sum of the k largest eigenvalues of A. However, I find the program converges to a local minimum which is quite far away from optimal solution in most cases. It works very well when A is diagonal. I wonder what's the reason behind? Is it about certain stopping criteria of the specific implementation of the Trust Region Method?

Thanks a million!

Best,
Ken

Nicolas Boumal

unread,
Jan 20, 2018, 12:15:34 PM1/20/18
to Manopt
Hello Ken,

I ran this example just now and could not reproduce the issue. Could you please share your example matrix A and value for p? (what you called k in your question.)

n = 50;
p = 3;
A = randn(n);
A = A+A';
X = dominant_invariant_subspace(A, p);
trace(X'*A*X) % value found by optimization
e = sort(eig(A), 'descend');
sum(e(1:p)) % value found by Matlab's eig

I systematically get the same answer for both ways of computing the sum of the p dominant eigenvalues.

Notice that the cost function is actually -trace(X'*A*X), with a minus sign because Manopt always minimizes and here we want to maximize. Is this perhaps the source of confusion?

Best,
Nicolas 
Reply all
Reply to author
Forward
0 new messages