Open jecs opened 1 year ago
That is possible, yes. Abstract types can be useful for fallbacks, but that's probably not too relevant as you say, as you have to define the manifold specific methods anyway.
It might be used for dispatch at a higher level somewhere, I'm not sure.
I think the plan is to transition to Manifolds.jl: https://github.com/JuliaManifolds/Manifolds.jl/issues/35 . There is more than these two functions that can be useful for manifold optimization.
Which manifold did you have in mind? Besides Optim transitioning to support also the manifolds as Mateusz mentioned, you might also want to check https://github.com/JuliaManifolds/Manopt.jl (disclaimer – a package I develop).
Hi, I was trying out the manifold functionality in Optim.jl. It's nifty. However, I noticed that in order to use it, you need to not only define the methods
retract!
andproject_tangent!
but also need to subtype the abstractManifold
type.Is it really necessary to subtype the
Manifold
type if you need to define those methods anyway? Why not drop that requirement altogether, similar to the way that ProximalOperators.jl only requires you to defineprox!
andgrad!
?