Dear Nicolas,
We're trying to minimize a quadratic function over the rotation group:
min <C, X.^2>
s.t. X is a rotation.
When implementing this with Manopt, we observed a curious thing:
if the Euclidean Hessian is not provided, the iterate
sequence converges to a critical point pretty rapidly. But if the
analytic form of the Euclidean Hessian is provided, the sequence stagnates
around certain noncritical points.
n = 20;
C = randn(n);
% Create the problem structure.
manifold = rotationsfactory(n);
problem.M = manifold;
% Define the problem cost function and its Euclidean gradient.
C = sign(det(C))*C;
problem.cost = @(X) trace(C'*(X.*X));
problem.egrad = @(X) 2*(C.*X);
problem.ehess = @(X, U) 2*(C.*(X*U));
[X, xcost, info] = trustregions(problem,[], options);
Hi Nicolas,
Thank you for the
clarification!
I think I possibly have
overlooked things, but it seems to me the online documentation
on ehess doesn't emphasize the u should be the tangent
space vector represented in the tangent space:
https://www.manopt.org/tutorial.html#costdescription
So do I only need to worry
about this specifically for the rotation group, or for other
manifolds as well?
I also experimented with the
orthogonal group, with
manifold = stiefelfactory(n, n);
In this case, my naive implementation
problem.ehess = @(X, U) 2*(C.*U)
seemed to do the right thing: the convergence behaviors are similar with or without the analytic Hessian and the hessian check is passed.
PS: The latex codes on the rotation group page are not rendered
https://www.manopt.org/manifold_documentation_rotations.html
Best,
Ju
--
http://www.manopt.org
---
You received this message because you are subscribed to a topic in the Google Groups "Manopt" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/manopttoolbox/jS65DgovYxg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to manopttoolbo...@googlegroups.com.
Visit this group at https://groups.google.com/group/manopttoolbox.
To view this discussion on the web visit https://groups.google.com/d/msgid/manopttoolbox/f0c0fc42-0486-4456-a42f-fa2d2244185f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and all its topics, send an email to manopttoolbox+unsubscribe@googlegroups.com.