BFGS_NoLS

scalation.optimization.quasi_newton.BFGS_NoLS
class BFGS_NoLS(f: FunctionV2S, useLS: Boolean) extends Minimize

The BFGS_NoLS class is used to find optima for functions of vectors. The solve method finds local optima using a Quasi Newton method that uses the BFGS update to approximate the inverse Hessian.

min f(x)    where f: R^n -> R

Value parameters

f

the vector to scalar function to find optima of

useLS

whether to use Line Search (LS)

Attributes

See also

BFGS for one that uses a different line search.

Graph
Supertypes
trait Minimize
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def solve(x0: VectorD, α: Double): FuncVec

Solve for an optima by finding a local optima close to the starting point/guess 'x0'. This version numerically approximates the first derivatives.

Solve for an optima by finding a local optima close to the starting point/guess 'x0'. This version numerically approximates the first derivatives.

Value parameters

x0

the starting point/guess

α

the current learning rate

Attributes

def solve2(x0: VectorD, grad: FunctionV2V, α: Double): FuncVec

Solve for an optima by finding a local optima close to the starting point/guess 'x0'. This version uses explicit functions for the gradient (partials derivatives)

Solve for an optima by finding a local optima close to the starting point/guess 'x0'. This version uses explicit functions for the gradient (partials derivatives)

Value parameters

grad

the gradient as explicit functions for partials

x0

the starting point/guess

α

the current learning rate

Attributes