Class LineSearch.LineSearchResult

Namespace
NOpenNLP.Tools.Ml.Maxent.Quasinewton
Assembly
NOpenNLP.Tools.dll

Class to store lineSearch result

public class LineSearch.LineSearchResult
Inheritance
LineSearch.LineSearchResult
Inherited Members

Constructors

LineSearchResult(double, double, double, double[], double[], double[]?, double[], double[], double[]?, int)

Constructor with sign vector

public LineSearchResult(double stepSize, double valueAtCurr, double valueAtNext, double[] gradAtCurr, double[] gradAtNext, double[]? pseudoGradAtNext, double[] currPoint, double[] nextPoint, double[]? signVector, int fctEvalCount)

Parameters

stepSize double
valueAtCurr double
valueAtNext double
gradAtCurr double[]
gradAtNext double[]
pseudoGradAtNext double[]
currPoint double[]
nextPoint double[]
signVector double[]
fctEvalCount int

LineSearchResult(double, double, double, double[], double[], double[], double[], int)

Constructor

public LineSearchResult(double stepSize, double valueAtCurr, double valueAtNext, double[] gradAtCurr, double[] gradAtNext, double[] currPoint, double[] nextPoint, int fctEvalCount)

Parameters

stepSize double
valueAtCurr double
valueAtNext double
gradAtCurr double[]
gradAtNext double[]
currPoint double[]
nextPoint double[]
fctEvalCount int

Properties

CurrPoint

public double[] CurrPoint { get; set; }

Property Value

double[]

FctEvalCount

public int FctEvalCount { get; set; }

Property Value

int

FuncChangeRate

public double FuncChangeRate { get; }

Property Value

double

GradAtCurr

public double[] GradAtCurr { get; set; }

Property Value

double[]

GradAtNext

public double[] GradAtNext { get; set; }

Property Value

double[]

NextPoint

public double[] NextPoint { get; set; }

Property Value

double[]

PseudoGradAtNext

public double[]? PseudoGradAtNext { get; set; }

Property Value

double[]

SignVector

public double[]? SignVector { get; set; }

Property Value

double[]

StepSize

public double StepSize { get; set; }

Property Value

double

ValueAtCurr

public double ValueAtCurr { get; set; }

Property Value

double

ValueAtNext

public double ValueAtNext { get; set; }

Property Value

double

Methods

GetInitialObject(double, double[], double[])

Initial linear search object.

public static LineSearch.LineSearchResult GetInitialObject(double valueAtX, double[] gradAtX, double[] x)

Parameters

valueAtX double
gradAtX double[]
x double[]

Returns

LineSearch.LineSearchResult

GetInitialObject(double, double[], double[]?, double[], double[]?, int)

public static LineSearch.LineSearchResult GetInitialObject(double valueAtX, double[] gradAtX, double[]? pseudoGradAtX, double[] x, double[]? signX, int fctEvalCount)

Parameters

valueAtX double
gradAtX double[]
pseudoGradAtX double[]
x double[]
signX double[]
fctEvalCount int

Returns

LineSearch.LineSearchResult

GetInitialObjectForL1(double, double[], double[], double[])

Initial linear search object for L1-regularization.

public static LineSearch.LineSearchResult GetInitialObjectForL1(double valueAtX, double[] gradAtX, double[] pseudoGradAtX, double[] x)

Parameters

valueAtX double
gradAtX double[]
pseudoGradAtX double[]
x double[]

Returns

LineSearch.LineSearchResult

SetAll(double, double, double, double[], double[], double[]?, double[], double[], double[]?, int)

Update line search elements

public void SetAll(double stepSize, double valueAtCurr, double valueAtNext, double[] gradAtCurr, double[] gradAtNext, double[]? pseudoGradAtNext, double[] currPoint, double[] nextPoint, double[]? signVector, int fctEvalCount)

Parameters

stepSize double
valueAtCurr double
valueAtNext double
gradAtCurr double[]
gradAtNext double[]
pseudoGradAtNext double[]
currPoint double[]
nextPoint double[]
signVector double[]
fctEvalCount int

SetAll(double, double, double, double[], double[], double[], double[], int)

Update line search elements

public void SetAll(double stepSize, double valueAtCurr, double valueAtNext, double[] gradAtCurr, double[] gradAtNext, double[] currPoint, double[] nextPoint, int fctEvalCount)

Parameters

stepSize double
valueAtCurr double
valueAtNext double
gradAtCurr double[]
gradAtNext double[]
currPoint double[]
nextPoint double[]
fctEvalCount int