Skip to content
This repository has been archived by the owner on Nov 23, 2018. It is now read-only.

Commit

Permalink
Add comment to FirstOrderStepSize
Browse files Browse the repository at this point in the history
  • Loading branch information
vladimir-ch committed Jan 5, 2015
1 parent bd49a15 commit d08d506
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions stepsizers.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,13 @@ func (q *QuadraticStepSize) StepSize(l Location, dir []float64) (stepSize float6
return stepSize
}

// FirstOrderStepSize estimates the initial line search step size based on the
// assumption that the first-order change in the function will be the same as
// that obtained at the previous iteration. That is, the initial step size s^0_k
// is chosen so that
// s^0_k ∇f_k⋅p_k = s_{k-1} ∇f_{k-1}⋅p_{k-1}
// This is useful for line search methods that do not produce well-scaled
// descent directions, such as gradient descent or conjugate gradient methods.
type FirstOrderStepSize struct {
// The step size at the first iteration is estimated as InitialStepFactor / |g|_∞.
// If InitialStepFactor is zero, it will be set to one.
Expand Down

0 comments on commit d08d506

Please sign in to comment.