LBFGSLineSearch

scalation.optimization.quasi_newton.LBFGSLineSearch
See theLBFGSLineSearch companion object

The LBFGSLineSearch trait specifies the requirements for a line search algorithm to be used in the native implementation of L-BFGS.

Classes mixing in this trait must implement the lineSearch method. The lineSearch method is used to find the optimal step, searching in a specific line, to be taken to minimize an objective function value.

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

def lineSearch(n: Int, x: VectorD, f: Double, g: VectorD, s: VectorD, stp: Double, cd: LBFGSCallbackData, params: LBFGSLineSearchPrms, orthantWise: Option[OrthantWisePrms]): LBFGSLineSearchReturn

Searches for an optimal step to take along a given line in order to minimize the objective function value.

Searches for an optimal step to take along a given line in order to minimize the objective function value.

Value parameters

cd

LBFGSCallbackData to allow the line search algorithm to evaluate the objective function value and gradient vector for a given set of variable values

f

the current value of the objective function. Calculated with the variables in x

g

VectorD with the current value of the gradient vector

n

the number of variables

params

LBFGSPrms representing the parameters chosen to control the L-BFGS optimization process, which includes some line step search parameters.

s

the line where the search for an optimal step will take place

stp

the initial step to evaluate when searching for the optimal step along line s

x

VectorD with the current values of the variables

Attributes

Returns

LBFGSLineSearchReturn, the results of the line search method. A successful execution returne a BFGSLineSearchStep, while an execution with errors returns a LBFGSLineSearchFailure