Package org.drip.function.rdtor1descent
Class WolfeEvolutionVerifier
java.lang.Object
org.drip.function.rdtor1descent.LineEvolutionVerifier
org.drip.function.rdtor1descent.WolfeEvolutionVerifier
public class WolfeEvolutionVerifier extends LineEvolutionVerifier
WolfeEvolutionVerifier 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 WolfeEvolutionVerifier(double armijoParameter, boolean maximizerCheck, double curvatureParameter, boolean strongCurvatureCriterion)
WolfeEvolutionVerifier Constructor -
Method Summary
Modifier and Type Method Description double
armijoParameter()
Retrieve the Armijo Parameterdouble
curvatureParameter()
Retrieve the Curvature Parameterboolean
maximizerCheck()
Indicate if the Check is for Minimizer/MaximizerLineEvolutionVerifierMetrics
metrics(UnitVector targetDirectionUnitVector, double[] currentVariateArray, RdToR1 multivariateFunction, double stepLength)
Generate the Verifier Metrics for the Specified Inputsstatic WolfeEvolutionVerifier
NocedalWrightStandard(boolean maximizerCheck, boolean strongCurvatureCriterion)
Construct the Nocedal-Wright Wolfe Evolution Verifierboolean
strongCurvatureCriterion()
Retrieve Whether of not the "Strong" Curvature Criterion needs to be metMethods 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
-
Constructor Details
-
WolfeEvolutionVerifier
public WolfeEvolutionVerifier(double armijoParameter, boolean maximizerCheck, double curvatureParameter, boolean strongCurvatureCriterion) throws java.lang.ExceptionWolfeEvolutionVerifier Constructor- Parameters:
armijoParameter
- The Armijo Criterion ParametermaximizerCheck
- TRUE - Perform a Check for the Function MaximacurvatureParameter
- The Curvature ParameterstrongCurvatureCriterion
- TRUE - Apply the Strong Curvature Criterion- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
NocedalWrightStandard
public static final WolfeEvolutionVerifier NocedalWrightStandard(boolean maximizerCheck, boolean strongCurvatureCriterion)Construct the Nocedal-Wright Wolfe Evolution Verifier- Parameters:
maximizerCheck
- TRUE - Perform a Check for the Function MaximastrongCurvatureCriterion
- TRUE - Apply the Strong Curvature Criterion- Returns:
- The Nocedal-Wright Wolfe Evolution Verifier Instance
-
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
-
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 classLineEvolutionVerifier
- Parameters:
targetDirectionUnitVector
- The Target Direction Unit VectorcurrentVariateArray
- The Current VariatemultivariateFunction
- The Rd To R1 FunctionstepLength
- The Incremental Step Length- Returns:
- The Verifier Metrics
-