18#ifndef __itkPreconditionedGradientDescentOptimizer_h
19#define __itkPreconditionedGradientDescentOptimizer_h
22#include "itkArray2D.h"
23#include "vnl/vnl_sparse_matrix.h"
115 itkSetMacro( LearningRate,
double );
118 itkGetConstReferenceMacro( LearningRate,
double);
121 itkSetMacro( NumberOfIterations,
unsigned long );
124 itkGetConstReferenceMacro( NumberOfIterations,
unsigned long );
127 itkGetConstMacro( CurrentIteration,
unsigned int );
130 itkGetConstReferenceMacro( Value,
double );
162 itkSetMacro( DiagonalWeight,
double );
163 itkGetConstMacro( DiagonalWeight,
double );
166 itkSetMacro( MinimumGradientElementMagnitude,
double );
167 itkGetConstMacro( MinimumGradientElementMagnitude,
double );
171 itkGetConstMacro( ConditionNumber,
double );
175 itkGetConstMacro( LargestEigenValue,
double );
181 itkGetConstMacro( Sparsity,
double );
Implement a gradient descent optimizer.
DerivativeType m_SearchDirection
virtual ~PreconditionedGradientDescentOptimizer()
StopConditionType m_StopCondition
unsigned long m_CurrentIteration
cholmod_sparse * m_CholmodGradient
SmartPointer< const Self > ConstPointer
cholmod_factor * m_CholmodFactor
virtual void StartOptimization(void)
const cholmod_common * GetCholmodCommon(void) const
virtual void SetPreconditionMatrix(PreconditionType &precondition)
void operator=(const Self &)
unsigned long m_NumberOfIterations
vnl_sparse_matrix< PreconditionValueType > PreconditionType
double m_LargestEigenValue
virtual void ResumeOptimization(void)
DerivativeType::ValueType PreconditionValueType
Superclass::MeasureType MeasureType
PreconditionedGradientDescentOptimizer Self
Superclass::ScaledCostFunctionType ScaledCostFunctionType
PreconditionedGradientDescentOptimizer(const Self &)
PreconditionedGradientDescentOptimizer()
double m_MinimumGradientElementMagnitude
Superclass::ScaledCostFunctionPointer ScaledCostFunctionPointer
virtual void AdvanceOneStep(void)
Superclass::ParametersType ParametersType
DerivativeType m_Gradient
SmartPointer< Self > Pointer
const cholmod_factor * GetCholmodFactor(void) const
void PrintSelf(std::ostream &os, Indent indent) const
Superclass::DerivativeType DerivativeType
@ MaximumNumberOfIterations
Superclass::ScalesType ScalesType
ScaledSingleValuedNonLinearOptimizer Superclass
Superclass::CostFunctionType CostFunctionType
virtual void MetricErrorResponse(ExceptionObject &err)
virtual void StopOptimization(void)
virtual void CholmodSolve(const DerivativeType &gradient, DerivativeType &searchDirection, int solveType=CHOLMOD_A)
cholmod_common * m_CholmodCommon
NonLinearOptimizer::ScalesType ScalesType
Superclass::ParametersType ParametersType
ScaledSingleValuedCostFunction ScaledCostFunctionType
Superclass::DerivativeType DerivativeType
ScaledCostFunctionType::Pointer ScaledCostFunctionPointer
Superclass::CostFunctionType CostFunctionType
Superclass::MeasureType MeasureType