LBFGSIterationData

scalation.optimization.quasi_newton.LBFGSIterationData
case class LBFGSIterationData(s: VectorD, y: VectorD, ys: Double, var alpha: Double)

The LBFGSIterationData case class stores relevant data regarding the changes made to the variable and gradient values in a single iteration of the native implementation of the L-BFGS algorithm. This data is used in future iterations of the algorithm to improve the search direction used to minimize the function value.

Value parameters

alpha

Product between rho and the dot product between s and q of this iteration and next iteration, respectively. This value is used to recalculate the q values for past iterations that are kept by the algorithm. For the ''k''-th iteration of the algorithm, the resulting α,,k,, will be: α,,k,, = ρ,,k,, * (s,,k,,^t^ • q,,k+1,,).

s

VectorD containing the difference between the estimates of the variable values (x), each stored in a VectorD of the last 2 iterations of the algorithm. For the ''k''-th iteration of the algorithm, the resulting s,,k,, will be: s,,k,, = x,,k+1,, - x,,k,,.

y

VectorD containing the difference between the gradient vectors (g), each stored in a VectorD of the last 2 iterations of the algorithm. For the ''k''-th iteration of the algorithm, the resulting y,,k,, will be: y,,k,, = g,,k+1,, - g,,k,,.

ys

Dot product between y and s. This value is used in multiple steps when determining the search direction to take when minimizing the function value, hence it is calculated once for each iteration. For the ''k''-th iteration of the algorithm, the resulting ys,,k,, will be: y,,k,,^t^ • s,,k,,.

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product