I am working with a more complicated function of an orthogonal matrix X. I am not sure how to modify or how to tune the settings to find the global minimum of that function.
I tried with a simpler function f(X)=trace(X'*A*X), where A is a constant positive definite matrix.
I run ManOpt with regular settings, and tried with steepest gradient and conjugate gradient solvers. However, both of them got stuck at a point that is very far from the global minimum. The reason that I know why it is far from the global minimum is because I know the true optimal solution. The maximimum of f(X), or (minimum of -f(X)), happens when X are eigen vectors associated to largest eigen values of A.
My question here: Do you have any recommendation so that I can run ManOpt to achieve the best optimal solution ?
Thanks
I expect you should find the global optimum in most cases for this problem. Could you tell us more about how you compare the answer you get to the answer you expect? (there is an invariance to right multiplication by orthogonal matrices, so they can't be compared directly.) Please also show us your code, just in case.
Best,
Nicolas