Package org.drip.function.rdtor1descent
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
- 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 CurvatureEvolutionVerifierMetrics(double curvatureParameter, boolean strongCurvatureCriterion, UnitVector targetDirectionUnitVector, double[] currentVariateArray, double stepLength, double[] currentVariateFunctionJacobian, double[] nextVariateFunctionJacobian)
CurvatureEvolutionVerifierMetrics Constructor -
Method Summary
Modifier and Type Method Description double
curvatureParameter()
Retrieve the Curvature Parameterdouble[]
nextVariateFunctionJacobian()
Retrieve the Function Jacobian at the Next Variateboolean
strongCurvatureCriterion()
Retrieve Whether of not the "Strong" Curvature Criterion needs to be metboolean
verify()
Indicate if the Curvature 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
-
CurvatureEvolutionVerifierMetrics
public CurvatureEvolutionVerifierMetrics(double curvatureParameter, boolean strongCurvatureCriterion, UnitVector targetDirectionUnitVector, double[] currentVariateArray, double stepLength, double[] currentVariateFunctionJacobian, double[] nextVariateFunctionJacobian) throws java.lang.ExceptionCurvatureEvolutionVerifierMetrics Constructor- Parameters:
curvatureParameter
- The Curvature Criterion ParameterstrongCurvatureCriterion
- TRUE - Apply the "Strong" Curvature CriteriontargetDirectionUnitVector
- The Target Direction Unit VectorcurrentVariateArray
- Array of Current VariatestepLength
- The Incremental Step LengthcurrentVariateFunctionJacobian
- 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
-
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 classLineEvolutionVerifierMetrics
- Returns:
- TRUE - The Curvature Criterion has been met
-