centred Stiefel factory?

23 views
Skip to first unread message

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

unread,
Apr 25, 2017, 9:13:04 AM4/25/17
to Manopt
Hi,

I need orthonormal n x p matrices Q (Q'Q = I_p), which columns are centred, i.e. Q'1_n = 0_m.

Is there a way to achieve this with the current factories?

Thanks,

Nickolay

Nicolas Boumal

unread,
Apr 25, 2017, 11:09:38 PM4/25/17
to Manopt
Hello Nickolay,

We do not have a factory for this at the moment. We have a factory for the Stiefel manifold of course, and we also have a factory for the subspace of centered matrices (https://github.com/NicolasBoumal/manopt/blob/master/manopt/manifolds/euclidean/centeredmatrixfactory.m) but not for the intersection of the two (is it clear that the intersection is a manifold?)

Perhaps by taking inspiration from both existing factories you could implement your own for the intersection? If so and if you are happy with its workings, we could integrate it to the toolbox.

(Btw, did you mean that the rows are centered, rather than the columns?)

Best,
Nicolas

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

unread,
Apr 28, 2017, 12:30:47 PM4/28/17
to Manopt
Hi again,

If you define in stiefelfactory:

M.dim = @() k*(n*p - .5*p*(p+1) - p);

center = @(X) bsxfun(@minus, X, mean(X));

and change the retraction to

[Q, R] = qr(center(Y(:, :, i)), 0);

seems enough.

All the best,

Nickolay

Nicolas Boumal

unread,
Apr 28, 2017, 4:38:39 PM4/28/17
to Manopt
Hello Nickolay,

I'm not sure I see how this works. If I have a matrix whose columns are orthonormal, let's call them v_1, ..., v_m, then it's not possible for these columns to be centered, as otherwise v_1 +  ... + v_m = 0, which would imply that the columns are linearly dependent (impossible if they are orthonormal).

Practically, in the proposed retraction [Q, R] = qr(center(Y(:, :, i)), 0); I can't imagine that centering subsides after taking the QR, right?

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