These are chat archives for elemental/chat

15th
Nov 2016
Ryan H. Lewis
@rhl-
Nov 15 2016 02:02
bummer
Ryan H. Lewis
@rhl-
Nov 15 2016 06:12
@poulson not sure what do with the lineSearch routine. I can’t seem to get it to work. Trying to follow Nocedal&Wright and its kinda too complicated. I read through M&T and I tried to borrow there interpolation, but, the line search still appears to fall over on some examples. I’m pretty sure i’m quite close to a working impl, but, can’t seem to figure out what i’m doing wrong.
In particular, lines 167-170 of Zoom are where I am struggling.
i’d like to parse the petsc version, but, having trouble finding the right part of the code..
Jack Poulson
@poulson
Nov 15 2016 16:12
a good next step would be to figure out which of your mathematical assumptions is breaking
Ryan H. Lewis
@rhl-
Nov 15 2016 16:22
Why is my code on master?
Did I accidentally push it there last night ?
@poulson I agree
Also I don't understand these line searches well enough
And the literature isn't explaining it clearly
Jack Poulson
@poulson
Nov 15 2016 16:23
what code? bfgs.hpp is definitely not on master
and by "the literature", do you mean "Nocedal and Wright"?
I would recommend implementing the (well-described) line search from section 2 of http://www.cs.nyu.edu/~overton/papers/pdffiles/bfgs_inexactLS.pdf
Ryan H. Lewis
@rhl-
Nov 15 2016 16:30
I also mean More and Thuente
Jack Poulson
@poulson
Nov 15 2016 16:31
see also Reference [Lem81], "A view of line searches" (though I can't seem to find a public version)
Ryan H. Lewis
@rhl-
Nov 15 2016 16:34
I can't believe the procedure in N&W has this much ambiguity
I've seen that paper before
One issue is it only provides a weak Wolfe condition algorithm
Jack Poulson
@poulson
Nov 15 2016 16:35
is that a problem?
I trust Overton's analysis that this is okay
and that it is more of a technical issue
Ryan H. Lewis
@rhl-
Nov 15 2016 16:36
I suppose we can always do better
And I like that this procedure is really simple
Zoom and all this interpolation is a lot of code
Jack Poulson
@poulson
Nov 15 2016 16:37
IPMs have very simple line searches as well
Ryan H. Lewis
@rhl-
Nov 15 2016 16:37
Do you use this same one?
Jack Poulson
@poulson
Nov 15 2016 16:38
IPMs only need backtracking
Ryan H. Lewis
@rhl-
Nov 15 2016 16:39
It's not clear what BFGS needs or doesn't need. Every reference is providing similarly vague line search theorems
Also the algorithm provided by Overton is not gaurunteed to terminate. That's a problem
Jack Poulson
@poulson
Nov 15 2016 16:41
? one can easily add a maximum number of iterations
one of the points of the paper is that inexact line searches are preferred
http://www.springer.com/us/book/9783642821202 seems to be a key reference
Ryan H. Lewis
@rhl-
Nov 15 2016 16:50
How do you know how many iterations for a maximum a priori?
Jack Poulson
@poulson
Nov 15 2016 16:51
experimentation on a test problem suite
terminating early should only delay convergence, not prevent it, so it isn't catastrophic
Ryan H. Lewis
@rhl-
Nov 15 2016 16:52
Fair
Just got a review of the elemental rpm!
Jack Poulson
@poulson
Nov 15 2016 16:58
one of the reviews is linking to outdated documentation unfortunately
Comment 5
err, Comment 4
Ryan H. Lewis
@rhl-
Nov 15 2016 16:58
yeah, I know.
I guess i should add -DBUILD_METIS=Off ?
oh it looks like it
how odd
Jack Poulson
@poulson
Nov 15 2016 17:05
yes, BUILD_METIS is whether or not the package is forced to be built
not whether or not it is used
have to run
Ryan H. Lewis
@rhl-
Nov 15 2016 17:17
does the python code depend on a specific version of MPI? or can it be used with both?