Package org.drip.function.rdtor1descent
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
- Module = Computational Core Module
- Library = Numerical Analysis Library
- Project = Rd To Rd Function Analysis
- Package = Rd To R1 Gradient Descent Techniques
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description WolfeEvolutionVerifierMetrics(double armijoParameter, boolean maximizerCheck, double curvatureParameter, boolean strongCurvatureCriterion, UnitVector targetDirection, double[] currentVariateArray, double stepLength, double currentVariateFunctionValue, double nextVariateFunctionValue, double[] currentVariateFunctionJacobian, double[] nextVariateFunctionJacobian)
WolfeEvolutionVerifierMetrics Constructor -
Method Summary
Modifier and Type Method Description double
armijoParameter()
Retrieve the Armijo Parameterdouble
currentVariateFunctionValue()
Retrieve the Function Value at the Current Variatedouble
curvatureParameter()
Retrieve the Curvature Parameterboolean
maximizerCheck()
Indicate if the Check is for Minimizer/Maximizerdouble[]
nextVariateFunctionJacobian()
Retrieve the Function Jacobian at the Next Variatedouble
nextVariateFunctionValue()
Retrieve the Function Value at the Next Variateboolean
strongCurvatureCriterion()
Retrieve Whether of not the "Strong" Curvature Criterion needs to be metboolean
verify()
Indicate if the Wolfe Criterion has been metMethods inherited from class org.drip.function.rdtor1descent.LineEvolutionVerifierMetrics
currentVariateArray, currentVariateFunctionJacobian, stepLength, targetDirection, toString
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
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.ExceptionWolfeEvolutionVerifierMetrics Constructor- Parameters:
armijoParameter
- The Armijo Criterion ParametermaximizerCheck
- TRUE - Perform a Check for the Function MaximacurvatureParameter
- The Curvature Criterion ParameterstrongCurvatureCriterion
- TRUE - Apply the "Strong" Curvature CriteriontargetDirection
- The Target Direction Unit VectorcurrentVariateArray
- Array of the Current VariatestepLength
- The Incremental Step LengthcurrentVariateFunctionValue
- The Function Value at the Current VariatenextVariateFunctionValue
- The Function Value at the Next VariatecurrentVariateFunctionJacobian
- The Function Jacobian at the Current VariatenextVariateFunctionJacobian
- 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 classLineEvolutionVerifierMetrics
- Returns:
- TRUE - The Wolfe Criterion has been met
-