Fix DebugFeasibility#544
Conversation
|
Thanks for fixing the typo, for the “just one” (in)eq, until now it is expected that that is a 1-element array and not a scalar. The simple reason is, that this makes a lot of code simpler when we have a unified (and mutable) type. I am not sure how far the code works for scalars and what we would have to check as well. So if, I would prefer to check the docs to clarify that the functions g and h are expected to return vectors. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #544 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 90 90
Lines 9967 9967
=========================================
Hits 9967 9967 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Ok I see. I will try to use a one-element vector constraint in this case and revert the changes regardining this (once I am back at my computer). |
|
Nice. One thing we can check is whether we can wrap that accordingly, i.e. that somehow the constrained cost can contain either case and all accessors (get_cost(s), get_gradient(s)) are able to take that into account but deliver consistently the same. Maybe that is also done to some extend but not used in the place you are here. I can check tomorrow. If that is not yet done, the challenge is, that the range of a function is not something we can directly “see” when we store the function somewhere, so then we have to find a way to handle that somehow efficiently. |
|
Ok, I reverted the change to point 2. Passing a one-element vector for both |
|
Oh, one more small thing I just noted: |
…551) Updates the requirements on [ManifoldsBase](https://github.com/JuliaManifolds/ManifoldsBase.jl) and [Manopt](https://github.com/JuliaManifolds/Manopt.jl) to permit the latest version. Updates `ManifoldsBase` to 2.2.1 - [Release notes](https://github.com/JuliaManifolds/ManifoldsBase.jl/releases) - [Changelog](https://github.com/JuliaManifolds/ManifoldsBase.jl/blob/master/NEWS.md) - [Commits](JuliaManifolds/ManifoldsBase.jl@v0.1.0...v2.2.1) Updates `Manopt` to 0.5.28 - [Release notes](https://github.com/JuliaManifolds/Manopt.jl/releases) - [Changelog](https://github.com/JuliaManifolds/Manopt.jl/blob/master/Changelog.md) - [Commits](v0.1.0...v0.5.28) --- updated-dependencies: - dependency-name: ManifoldsBase dependency-version: 2.2.1 dependency-type: direct:production dependency-group: all-julia-packages - dependency-name: Manopt dependency-version: 0.5.28 dependency-type: direct:production dependency-group: all-julia-packages ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This PR fixes two things:
ineq_posis not defined. This should beineqc_pos.hof theConstrainedManifoldObjective. I am not sure if this is supposed to be officially supported or if only vector-valued constraints are supported. But since during the optimization there was no error complaining abouthreturning a scalar I thought it probably is supported. However, in this caseDebugFeasibilitydoes not support it because it would index a scalar. Here, I provide a quick fix for that, which works for scalarh, but it is also not particularly clean. What's your take on that?