Class WolfeEvolutionVerifierMetrics

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

public class WolfeEvolutionVerifierMetrics
extends LineEvolutionVerifierMetrics
WolfeEvolutionVerifierMetrics implements the Wolfe Criterion used for the Inexact Line Search Increment Generation. The References are:

  • Armijo, L. (1966): Minimization of Functions having Lipschitz-Continuous First Partial Derivatives Pacific Journal of Mathematics 16 (1) 1-3
  • Nocedal, J., and S. Wright (1999): Numerical Optimization Wiley
  • 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

    • WolfeEvolutionVerifierMetrics

      public WolfeEvolutionVerifierMetrics​(double armijoParameter, boolean maximizerCheck, double curvatureParameter, boolean strongCurvatureCriterion, UnitVector targetDirection, double[] currentVariateArray, double stepLength, double currentVariateFunctionValue, double nextVariateFunctionValue, double[] currentVariateFunctionJacobian, double[] nextVariateFunctionJacobian) throws java.lang.Exception
      WolfeEvolutionVerifierMetrics Constructor
      Parameters:
      armijoParameter - The Armijo Criterion Parameter
      maximizerCheck - TRUE - Perform a Check for the Function Maxima
      curvatureParameter - The Curvature Criterion Parameter
      strongCurvatureCriterion - TRUE - Apply the "Strong" Curvature Criterion
      targetDirection - The Target Direction Unit Vector
      currentVariateArray - Array of the Current Variate
      stepLength - The Incremental Step Length
      currentVariateFunctionValue - The Function Value at the Current Variate
      nextVariateFunctionValue - The Function Value at the Next Variate
      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

    • armijoParameter

      public double armijoParameter()
      Retrieve the Armijo Parameter
      Returns:
      The Armijo Parameter
    • maximizerCheck

      public boolean maximizerCheck()
      Indicate if the Check is for Minimizer/Maximizer
      Returns:
      TRUE - The Check is for Maximizer
    • 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
    • currentVariateFunctionValue

      public double currentVariateFunctionValue()
      Retrieve the Function Value at the Current Variate
      Returns:
      The Function Value at the Current Variate
    • nextVariateFunctionValue

      public double nextVariateFunctionValue()
      Retrieve the Function Value at the Next Variate
      Returns:
      The Function Value at the Next Variate
    • 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 Wolfe Criterion has been met
      Specified by:
      verify in class LineEvolutionVerifierMetrics
      Returns:
      TRUE - The Wolfe Criterion has been met