-
Notifications
You must be signed in to change notification settings - Fork 17
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
Allow initialization of y without cgls #42
Allow initialization of y without cgls #42
Conversation
Codecov Report
@@ Coverage Diff @@
## master #42 +/- ##
=======================================
Coverage 90.14% 90.14%
=======================================
Files 3 3
Lines 142 142
=======================================
Hits 128 128
Misses 14 14
Continue to review full report at Codecov.
|
@@ -52,7 +52,7 @@ Implementation of an augmented Lagrangian method. The following keyword paramete | |||
function percival(::Val{:equ}, nlp :: AbstractNLPModel; μ :: Real = eltype(nlp.meta.x0)(10.0), | |||
max_iter :: Int = 1000, max_time :: Real = 30.0, max_eval :: Int=100000, | |||
atol :: Real = 1e-8, rtol :: Real = 1e-8, ctol :: Real = 1e-8, | |||
subsolver_logger :: AbstractLogger=NullLogger(), | |||
subsolver_logger :: AbstractLogger=NullLogger(), inity = nothing, |
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.
Is inity
supposed to be a vector here?
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.
yes
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.
inity
should be added to the docstring above.
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.
LGTM. @abelsiqueira
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.
Thanks for the PR, I just made a small comment.
@@ -52,7 +52,7 @@ Implementation of an augmented Lagrangian method. The following keyword paramete | |||
function percival(::Val{:equ}, nlp :: AbstractNLPModel; μ :: Real = eltype(nlp.meta.x0)(10.0), | |||
max_iter :: Int = 1000, max_time :: Real = 30.0, max_eval :: Int=100000, | |||
atol :: Real = 1e-8, rtol :: Real = 1e-8, ctol :: Real = 1e-8, | |||
subsolver_logger :: AbstractLogger=NullLogger(), | |||
subsolver_logger :: AbstractLogger=NullLogger(), inity = nothing, |
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.
inity
should be added to the docstring above.
Thank you. |
cgls
requires both theJ v
andJ' v
operators. However, arguably the main benefit of the augmented Lagrangian algorithm is for problems where there exists an efficientJ' v
operator. Often the opposite may not be true. From what I can tell,cgls
is only used to initialize the duals so one can choose to initialize these manually instead to bypasscgls
. This PR allows that.