JuliaManifolds / ManifoldDiff.jl

Differentiation on manifolds
https://juliamanifolds.github.io/ManifoldDiff.jl/
MIT License
10 stars 3 forks source link

Using DifferentiationInterface for AD #49

Closed gdalle closed 1 hour ago

gdalle commented 4 days ago

Hi @kellertuer @mateuszbaran,

Would you would like to try DifferentiationInterface.jl to handle the various AD backends in a unified manner? This would allow you to get rid of the extensions, and probably simplify some code. I'm happy to lend a hand.

Related:

kellertuer commented 4 days ago

That would for sure be super nice to have!

I am currently quite busy with the rework of Lie groups into the forthcoming package https://github.com/JuliaManifolds/LieGroups.jl, so for now I do not have the capacity to work on this.

gdalle commented 4 days ago

Would you be open to a PR from me? Not sure I can make all the necessary changes but I can get you most of the way there

kellertuer commented 4 days ago

Sure, would even be very happy bout that, because it would open this package to more backends – so yes that would be great!

gdalle commented 4 days ago

Alright then, I'll get started! #50 is a very small prelude to DI integration

mateuszbaran commented 4 days ago

Thanks, this is a good idea :+1: . I thought about integrating with AbstractDifferentiation.jl as you can see. In the end it turned out that I don't need reverse mode for anything I do in Julia (thanks to matrixcalculus.org), and for forward mode ForwardDiff.jl was good enough. But DI would definitely be useful for Manopt.jl.