-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Riemannian black box function with JuMP/MOI #273
Comments
This transformation is indeed on my list for a while Besides that, I like the notion of Is this in deed an issue for Manopt or more one for MOI? Also note that in Manopt, the signatures of cost/grad/hessian/prox/... have the manifold as their first variable, since there might also be different metrics “at work” and such. |
A better one might indeed be struct RiemannianFunction{MO<:AbstractManifoldObjective} <: MOI.AbstractScalarFunction
func::MO
end
We always start defining new sets and functions in the packages supporting them and them move to MOI if other solvers support it as well and they don't want more dependencies than MOI. I would just define it in Manopt for now. |
Do you mean |
Yes corrected |
Then I understand the approach – super neat! |
HI @blegat, I would like to maybe tackle this one here next, to have even better support for JuMP/Manopt.jl together and think about / start a tutorial. |
Yes, we should have everything we need at the JuMP/MOI side now, I should have some time to take a look soon |
From JuMP, you can then do something like
If the user sets an objective without
RiemannianFirstOrderFunction
then it is transformed into these as in #264The transformation from MOI's functions into
RiemannianFirstOrderFunction
's function may be doable transparently in aMOI.Bridges.Objective
so that Manopt does not even have to care about anything other thanRiemannianFirstOrderFunction
an may assume the user always give that.The text was updated successfully, but these errors were encountered: