-
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
Improve Linesearch and Quasi Newton allocations #335
Conversation
…used in the previous places.
Main thing to fix: Circle manifold Minor thing to fix – check whether we can avoid the eta allocation from (4). |
I've fixed the linesearch error for Circle but not it does not converge for some reason 😕 |
…liaManifolds/Manopt.jl into kellertuer/fix-linesearch-allocations
…liaManifolds/Manopt.jl into kellertuer/fix-linesearch-allocations
…tions' into kellertuer/fix-linesearch-allocations
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #335 +/- ##
==========================================
- Coverage 99.65% 99.63% -0.02%
==========================================
Files 69 69
Lines 6342 6361 +19
==========================================
+ Hits 6320 6338 +18
- Misses 22 23 +1 ☔ View full report in Codecov by Sentry. |
I need to fix the failure on 1.6 in Manifolds.jl. |
Done here: JuliaManifolds/Manifolds.jl@5fa4eed . |
Okay then let's wait for that one. We are missing code coverage here anyways probably; and I would like to check the docs the next few days calmly again. |
Oh and you found a way for the qN update – super neat! |
It was just a minor bug 🙂 |
Now just test coverage is missing for the (old, allocating) Quasi Newton Updates. |
I got the overall coverage to be fine again; but the patch one is not fulfilled since we now have a few more lines in the uncovered case in WolfePowell |
@mateuszbaran can you check the fail on 1.6? I though we fixed that for circle with the PR for Manifolds.jl 0.9.9... |
We've fixed another, similar issue but not this one... I will fix this. |
# Conflicts: # Changelog.md
Oh, then I confused that, but thanks for fixing this so fast again :) |
Hm, I am not aware we did breaking changes in Manifolds is ManifoldsBase but it seems the same thing you just fixed on Circle also happens on Euclidean. |
IIRC it's not breaking, it's just a bug that was exposed by these changes. I will fix that too. |
(exposed by changes in this PR) |
Thanks! Suer fixing bugs is nice, and they all seem to be the same area, but it is annoying to check for ;) |
It's a really weird case I'd probably dismiss with "don't do that" if it didn't come up as a test failure here 😅 |
The increase in code coverage is unfortunate but the one uncovered block this project has is now a few lines longer. So this should still be fine. |
This PR is work towards having some memory with line searches to reuse candidate (point) memory.
This resolves parts of #333, namely for now
linesearch_ backtrack
which now has a variantlinesearch_ backtrack!
)\eta_new
)ToDo
Float64
-focussed, but I was not yet able to allow other real types therein