You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am not yet sure how to provide this easily in the high-end interfaces, but with the new structure in Manopt.jl 0.4 it is easy to provide a ManifoldEuclideanGradientObjective, that is a cost function $f$ together with its Euclidean gradient (usually called egrad in Manopt), since every gradient call would just be encapsulated in a projection onto the tangent space and a change_representer call.
The main task here is a nice way to handle this in the high-level interfaces. One way could be to extend the evaluation types as follows:
Introduce AbstractAllocatingEvaluation and AbstractInplaceEvaluation as intermediate types that the current ones inherit from
Introduce further subtypes AllocatingEuclideanEvaluation and InplaceEuclideanEvaluation
this makes it easy to specify that gradients (and later Hessians) are defined in the Embedding/Euclidean sense and the corresponding Objectives should be taken. One could maybe even just adapt the ManifoldGradientObjective in this way without introducing a new objective.
The text was updated successfully, but these errors were encountered:
I am not yet sure how to provide this easily in the high-end interfaces, but with the new structure in Manopt.jl 0.4 it is easy to provide a$f$ together with its Euclidean gradient (usually called egrad in Manopt), since every gradient call would just be encapsulated in a projection onto the tangent space and a
ManifoldEuclideanGradientObjective
, that is a cost functionchange_representer
call.The main task here is a nice way to handle this in the high-level interfaces. One way could be to extend the evaluation types as follows:
AbstractAllocatingEvaluation
andAbstractInplaceEvaluation
as intermediate types that the current ones inherit fromAllocatingEuclideanEvaluation
andInplaceEuclideanEvaluation
this makes it easy to specify that gradients (and later Hessians) are defined in the Embedding/Euclidean sense and the corresponding Objectives should be taken. One could maybe even just adapt the
ManifoldGradientObjective
in this way without introducing a new objective.The text was updated successfully, but these errors were encountered: