-
Notifications
You must be signed in to change notification settings - Fork 10
Add an upper bound function for the operator norm. #275
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
base: master
Are you sure you want to change the base?
Add an upper bound function for the operator norm. #275
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #275 +/- ##
===========================================
+ Coverage 61.53% 84.60% +23.07%
===========================================
Files 11 13 +2
Lines 1292 1650 +358
===========================================
+ Hits 795 1396 +601
+ Misses 497 254 -243 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| return approx, !isnan(approx) | ||
| end | ||
|
|
||
| # Compute upper bounds for μ‖B‖₂, where μ ∈ (0, 1]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| # Compute upper bounds for μ‖B‖₂, where μ ∈ (0, 1]. | |
| # Compute upper bounds for ‖B‖₂. |
|
@MaxenceGollier @dpo @d1Lab, I conducted some benchmarks with the joss example, with solve! being more constraining: solve!(solver, reg_nlp, stats;
atol=1e-6,
rtol=1e-6,
verbose=1,
sub_kwargs=(max_iter=1000,),
opnorm_maxiter= ... % see below
)Below are my remarks concerning different operator–norm estimation
It works on both versions, showing that the instability is not simply due to using too few or too many power-method iterations.
fails on both versions. (with
Using ARPACK to compute the dominant eigenvalue leads to instability:
ARPACK introduces non-determinism and rounding differences that R2N does Even for a small value such as L-BFGS showed no errors with any operator-norm option. |
|
Wouldn't it be more numerically stable to have |
|
Hey @MaxenceGollier — I apologize, most of the errors mentioned earlier ERROR: LoadError: R2: prox-gradient step should produce a decrease but ξ = -7.653729494313895e288In this situation, the proximal operator is not computed accurately for I ran additional experiments using: sub_kwargs = (max_iter = 0,)
atol = rtol = 1e-4to force the selection of Specifically:
So overall, this is good news:
|
I am not entirely sure whether this will make the problem disappear, because it is not The check on the condition In fact, as far as I can see in the benchmarks |
|
Ok. Still, can we compare in term of time or number of iterations |
#270 (comment)
@MohamedLaghdafHABIBOULLAH @d1Lab,
Can you fetch my branch and make some benchmarks ? I think we should try to see if it works because it is very cheap.