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 doublearmijoParameter()Retrieve the Armijo ParameterdoublecurrentVariateFunctionValue()Retrieve the Function Value at the Current VariatedoublecurvatureParameter()Retrieve the Curvature ParameterbooleanmaximizerCheck()Indicate if the Check is for Minimizer/Maximizerdouble[]nextVariateFunctionJacobian()Retrieve the Function Jacobian at the Next VariatedoublenextVariateFunctionValue()Retrieve the Function Value at the Next VariatebooleanstrongCurvatureCriterion()Retrieve Whether of not the "Strong" Curvature Criterion needs to be metbooleanverify()Indicate if the Wolfe Criterion has been metMethods inherited from class org.drip.function.rdtor1descent.LineEvolutionVerifierMetrics
currentVariateArray, currentVariateFunctionJacobian, stepLength, targetDirection, toStringMethods 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:
verifyin classLineEvolutionVerifierMetrics- Returns:
- TRUE - The Wolfe Criterion has been met
-