two orthogonal Stiefel manifolds

24 views
Skip to first unread message

nickolay.t...@open.ac.uk

unread,
Jan 22, 2019, 11:46:45 AM1/22/19
to Manopt
Hi,

I have a problem with two unknowns F and U from Stiefel(n,r) and Steifel(n,p). However, they should also fulfil F'U = 0.

Seems like Manopt cannot help directly (there is need of some more derivations). But, correct me if I'm wrong.

Thanks,

Nickolay

BM

unread,
Jan 22, 2019, 12:07:48 PM1/22/19
to Manopt
Dear Nickolay,

Can't we have X = [F U]  and X is n-by-(r+p) on the Stiefel manifold (n, r + p)?

Regards,
Bamdev

nickolay.t...@open.ac.uk

unread,
Jan 22, 2019, 2:27:28 PM1/22/19
to Manopt

Dear Bamdev,

Unfortunately not. The objective function cannot be re-written in terms of [F U].

I have a way out, by modifying the gradients. I guess that Manopt should do something similar.

All the best,

Nickolay

BM

unread,
Jan 22, 2019, 8:38:40 PM1/22/19
to Manopt
The objective function need not use X directly. In our cost, we say F as X(:,1:r) and U as X(:,r+1:end) and define the cost. Am I missing something?

BM

unread,
Jan 25, 2019, 8:24:28 AM1/25/19
to Manopt

sample pseudo code.

n = 20;
r = 5; 
p = 2;

problem.M = stiefelfactory(n, r+p);

problem.cost = @mycost;

function obj = mycost(X)
F = X(:,1:r);
U = X(:,r+1:end);
obj = some functiont of F and U.
end

problem.egrad = @myegrad;

function g = myegrad(X)
F = X(:,1:r);
U = X(:,r+1:end);

compute gradient wrt F, say, gradF. Similarly, compute gradient wrt U, say gradU.

g = [gradF gradU];

end
Reply all
Reply to author
Forward
0 new messages