AD for Manopt

40 views
Skip to first unread message

stum...@gmail.com

unread,
Aug 4, 2018, 6:14:29 PM8/4/18
to Manopt
ADiGator is a free MATLAB automatic differentiation (AD) toolbox: https://sourceforge.net/projects/adigator/. Perhaps ADiGator could be integrated into Manopt to construct the gradient and Hessian of the cost function if the user cannot supply the analytical gradient and/or Hessian. Pymanopt (https://pymanopt.github.io/), a Python variant of Manopt, is able to utilize the third-party AD libraries Autograd, Theano, and TensorFlow to compute the gradient and Hessian of the cost function.

Nicolas Boumal

unread,
Aug 8, 2018, 6:27:03 PM8/8/18
to Manopt
Hello stumarcus,

Thanks for your message -- we are aware of the automatic differentiation feature in pymanopt, and we also think it's great.

Somehow, we didn't find any completely convincing AD solution in matlab though. Last summer, I had some success building a prototype of AD in Manopt using ADiMat. It worked, but the issue is that to get the derivative of a function, the toolbox actually connects to a distant server over the internet (once for each function file; then it's saved). Since that projects appears no longer to be maintained, this would create an undesirable dependency of manopt with a feature that might break at any point. So we decided not to make this public.

ADiGator was also on my list of packages to try; I do not remember what my conclusions were. I'll have another look. In the meantime, don't hesitate to share your input in that possible direction.

Best,
Nicolas

Nicolas Boumal

unread,
Aug 8, 2018, 6:50:26 PM8/8/18
to Manopt
It seems that ADiGator requires the variable to be a vector.  Am I mistaken?
(In Manopt, it is typical to have matrices, or even higher dimensional arrays, structures or cells as variable.)

Stuart Rogers

unread,
Aug 8, 2018, 7:31:34 PM8/8/18
to Manopt
ADiGator can differentiate vectors and matrices but not higher-dimensional (such as 3-d) arrays. I don't think ADiGator can differentiate structures or cells; you'd have to ask on the ADiGator discussion forum: https://sourceforge.net/p/adigator/discussion/general/  

--
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/JoQsGHUy8OU/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/04b45966-26c2-4220-96ee-314d66d2343a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages