Class CurvatureEvolutionVerifierMetrics

java.lang.Object
org.drip.function.rdtor1descent.LineEvolutionVerifierMetrics
org.drip.function.rdtor1descent.CurvatureEvolutionVerifierMetrics

public class CurvatureEvolutionVerifierMetrics
extends LineEvolutionVerifierMetrics
CurvatureEvolutionVerifierMetrics 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
  • Constructor Details

    • CurvatureEvolutionVerifierMetrics

      public CurvatureEvolutionVerifierMetrics​(double curvatureParameter, boolean strongCurvatureCriterion, UnitVector targetDirectionUnitVector, double[] currentVariateArray, double stepLength, double[] currentVariateFunctionJacobian, double[] nextVariateFunctionJacobian) throws java.lang.Exception
      CurvatureEvolutionVerifierMetrics Constructor
      Parameters:
      curvatureParameter - The Curvature Criterion Parameter
      strongCurvatureCriterion - TRUE - Apply the "Strong" Curvature Criterion
      targetDirectionUnitVector - The Target Direction Unit Vector
      currentVariateArray - Array of Current Variate
      stepLength - The Incremental Step Length
      currentVariateFunctionJacobian - The Function Jacobian at the Current Variate
      nextVariateFunctionJacobian - The Function Jacobian at the Next Variate
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • 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
    • nextVariateFunctionJacobian

      public double[] nextVariateFunctionJacobian()
      Retrieve the Function Jacobian at the Next Variate
      Returns:
      The Function Jacobian at the Next Variate
    • verify

      public boolean verify()
      Indicate if the Curvature Criterion has been met
      Specified by:
      verify in class LineEvolutionVerifierMetrics
      Returns:
      TRUE - The Curvature Criterion has been met