Class CurvatureEvolutionVerifier

java.lang.Object
org.drip.function.rdtor1descent.LineEvolutionVerifier
org.drip.function.rdtor1descent.CurvatureEvolutionVerifier

public class CurvatureEvolutionVerifier
extends LineEvolutionVerifier
CurvatuveEvolutionVerifier implements the Armijo Criterion used for the Inexact Line Search Increment Generation to ascertain that the Gradient of the Function has reduced sufficiently. The References are:

  • Wolfe, P. (1969): Convergence Conditions for Ascent Methods SIAM Review 11 (2) 226-235
  • Wolfe, P. (1971): Convergence Conditions for Ascent Methods; II: Some Corrections SIAM Review 13 (2) 185-188


Author:
Lakshmi Krishnamurthy
  • Field Summary

    Fields
    Modifier and Type Field Description
    static double NOCEDAL_WRIGHT_CURVATURE_PARAMETER
    The Nocedal-Wright Curvature Parameter
  • Constructor Summary

    Constructors
    Constructor Description
    CurvatureEvolutionVerifier​(double curvatureParameter, boolean strongCurvatureCriterion)
    CurvatureEvolutionVerifier Constructor
  • Method Summary

    Modifier and Type Method Description
    double curvatureParameter()
    Retrieve the Curvature Parameter
    LineEvolutionVerifierMetrics metrics​(UnitVector targetDirectionUnitVector, double[] currentVariateArray, RdToR1 multivariateFunction, double stepLength)
    Generate the Verifier Metrics for the Specified Inputs
    static CurvatureEvolutionVerifier NocedalWrightStandard​(boolean strongCurvatureCriterion)
    Construct the Nocedal-Wright Curvature Evolution Verifier
    boolean strongCurvatureCriterion()
    Retrieve Whether of not the "Strong" Curvature Criterion needs to be met

    Methods inherited from class org.drip.function.rdtor1descent.LineEvolutionVerifier

    verify

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • NOCEDAL_WRIGHT_CURVATURE_PARAMETER

      public static final double NOCEDAL_WRIGHT_CURVATURE_PARAMETER
      The Nocedal-Wright Curvature Parameter
      See Also:
      Constant Field Values
  • Constructor Details

    • CurvatureEvolutionVerifier

      public CurvatureEvolutionVerifier​(double curvatureParameter, boolean strongCurvatureCriterion) throws java.lang.Exception
      CurvatureEvolutionVerifier Constructor
      Parameters:
      curvatureParameter - The Curvature Parameter
      strongCurvatureCriterion - TRUE - Apply the Strong Curvature Criterion
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • NocedalWrightStandard

      public static final CurvatureEvolutionVerifier NocedalWrightStandard​(boolean strongCurvatureCriterion)
      Construct the Nocedal-Wright Curvature Evolution Verifier
      Parameters:
      strongCurvatureCriterion - TRUE - Apply the Strong Curvature Criterion
      Returns:
      The Nocedal-Wright Curvature Evolution Verifier Instance
    • curvatureParameter

      public double curvatureParameter()
      Retrieve the Curvature Parameter
      Returns:
      The Curvature Parameter
    • strongCurvatureCriterion

      public boolean strongCurvatureCriterion()
      Retrieve Whether of not the "Strong" Curvature Criterion needs to be met
      Returns:
      TRUE - The "Strong" Curvature Criterion needs to be met
    • metrics

      public LineEvolutionVerifierMetrics metrics​(UnitVector targetDirectionUnitVector, double[] currentVariateArray, RdToR1 multivariateFunction, double stepLength)
      Description copied from class: LineEvolutionVerifier
      Generate the Verifier Metrics for the Specified Inputs
      Specified by:
      metrics in class LineEvolutionVerifier
      Parameters:
      targetDirectionUnitVector - The Target Direction Unit Vector
      currentVariateArray - The Current Variate
      multivariateFunction - The Rd To R1 Function
      stepLength - The Incremental Step Length
      Returns:
      The Verifier Metrics