Package org.drip.function.rdtor1descent
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
- Module = Computational Core Module
- Library = Numerical Analysis Library
- Project = Rd To Rd Function Analysis
- Package = Rd To R1 Gradient Descent Techniques
- 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 ParameterLineEvolutionVerifierMetrics
metrics(UnitVector targetDirectionUnitVector, double[] currentVariateArray, RdToR1 multivariateFunction, double stepLength)
Generate the Verifier Metrics for the Specified Inputsstatic CurvatureEvolutionVerifier
NocedalWrightStandard(boolean strongCurvatureCriterion)
Construct the Nocedal-Wright Curvature 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
-
Field Details
-
NOCEDAL_WRIGHT_CURVATURE_PARAMETER
public static final double NOCEDAL_WRIGHT_CURVATURE_PARAMETERThe Nocedal-Wright Curvature Parameter- See Also:
- Constant Field Values
-
-
Constructor Details
-
CurvatureEvolutionVerifier
public CurvatureEvolutionVerifier(double curvatureParameter, boolean strongCurvatureCriterion) throws java.lang.ExceptionCurvatureEvolutionVerifier Constructor- Parameters:
curvatureParameter
- 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 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 classLineEvolutionVerifier
- Parameters:
targetDirectionUnitVector
- The Target Direction Unit VectorcurrentVariateArray
- The Current VariatemultivariateFunction
- The Rd To R1 FunctionstepLength
- The Incremental Step Length- Returns:
- The Verifier Metrics
-