Package gov.nih.mipav.model.algorithms
Class CeresSolver.DoglegStrategy
- java.lang.Object
-
- gov.nih.mipav.model.algorithms.CeresSolver.TrustRegionStrategy
-
- gov.nih.mipav.model.algorithms.CeresSolver.DoglegStrategy
-
- Enclosing class:
- CeresSolver
class CeresSolver.DoglegStrategy extends CeresSolver.TrustRegionStrategy
-
-
Field Summary
Fields Modifier and Type Field Description private doublealpha_private doubledecrease_threshold_private java.util.Vector<java.lang.Double>diagonal_private doubledogleg_step_norm_private CeresSolver.DoglegTypedogleg_type_private java.util.Vector<java.lang.Double>gauss_newton_step_private java.util.Vector<java.lang.Double>gradient_private doubleincrease_threshold_private doublekMaxMuprivate doublekMinMuprivate CeresSolver.LinearSolverlinear_solver_private java.util.Vector<java.lang.Double>lm_diagonal_private doublemax_diagonal_private doublemax_mu_private doublemax_radius_private doublemin_diagonal_private doublemin_mu_private doublemu_private doublemu_increase_factor_private doubleradius_private booleanreuse_private Jama.Matrixsubspace_B_private Jama.Matrixsubspace_basis_private WildMagic.LibFoundation.Mathematics.Vector2dsubspace_g_private booleansubspace_is_one_dimensional_-
Fields inherited from class gov.nih.mipav.model.algorithms.CeresSolver.TrustRegionStrategy
options, perSolveOptions, summary
-
-
Constructor Summary
Constructors Constructor Description DoglegStrategy(CeresSolver.TrustRegionStrategyOptions options)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidComputeCauchyPoint(CeresSolver.SparseMatrix jacobian)(package private) CeresSolver.LinearSolverSummaryComputeGaussNewtonStep(CeresSolver.TrustRegionStrategyPerSolveOptions per_solve_options, CeresSolver.SparseMatrix jacobian, double[] residuals)private voidComputeGradient(CeresSolver.SparseMatrix jacobian, double[] residuals)CeresSolver.TrustRegionStrategySummaryComputeStep(CeresSolver.TrustRegionStrategyPerSolveOptions per_solve_options, CeresSolver.SparseMatrix jacobian, double[] residuals, double[] step)private voidComputeSubspaceDoglegStep(double[] dogleg)private booleanComputeSubspaceModel(CeresSolver.SparseMatrix jacobian)WildMagic.LibFoundation.Mathematics.Vector2dComputeSubspaceStepFromRoot(double y)private voidComputeTraditionalDoglegStep(double[] dogleg)(package private) doubleEvaluateSubspaceModel(WildMagic.LibFoundation.Mathematics.Vector2d x)private booleanFindMinimumOnTrustRegionBoundary(WildMagic.LibFoundation.Mathematics.Vector2d minimum)java.util.Vector<java.lang.Double>gauss_newton_step()java.util.Vector<java.lang.Double>gradient()private java.util.Vector<java.lang.Double>MakePolynomialForBoundaryConstrainedProblem()doubleRadius()voidStepAccepted(double step_quality)voidStepIsInvalid()voidStepRejected(double step_quality)Jama.Matrixsubspace_B()Jama.Matrixsubspace_basis()WildMagic.LibFoundation.Mathematics.Vector2dsubspace_g()
-
-
-
Field Detail
-
linear_solver_
private CeresSolver.LinearSolver linear_solver_
-
radius_
private double radius_
-
max_radius_
private double max_radius_
-
min_diagonal_
private double min_diagonal_
-
max_diagonal_
private double max_diagonal_
-
mu_
private double mu_
-
min_mu_
private double min_mu_
-
max_mu_
private double max_mu_
-
mu_increase_factor_
private double mu_increase_factor_
-
increase_threshold_
private double increase_threshold_
-
decrease_threshold_
private double decrease_threshold_
-
diagonal_
private java.util.Vector<java.lang.Double> diagonal_
-
lm_diagonal_
private java.util.Vector<java.lang.Double> lm_diagonal_
-
gradient_
private java.util.Vector<java.lang.Double> gradient_
-
gauss_newton_step_
private java.util.Vector<java.lang.Double> gauss_newton_step_
-
alpha_
private double alpha_
-
dogleg_step_norm_
private double dogleg_step_norm_
-
reuse_
private boolean reuse_
-
dogleg_type_
private CeresSolver.DoglegType dogleg_type_
-
subspace_is_one_dimensional_
private boolean subspace_is_one_dimensional_
-
subspace_basis_
private Jama.Matrix subspace_basis_
-
subspace_g_
private WildMagic.LibFoundation.Mathematics.Vector2d subspace_g_
-
subspace_B_
private Jama.Matrix subspace_B_
-
kMaxMu
private double kMaxMu
-
kMinMu
private double kMinMu
-
-
Constructor Detail
-
DoglegStrategy
public DoglegStrategy(CeresSolver.TrustRegionStrategyOptions options)
-
-
Method Detail
-
ComputeStep
public CeresSolver.TrustRegionStrategySummary ComputeStep(CeresSolver.TrustRegionStrategyPerSolveOptions per_solve_options, CeresSolver.SparseMatrix jacobian, double[] residuals, double[] step)
- Specified by:
ComputeStepin classCeresSolver.TrustRegionStrategy
-
StepAccepted
public void StepAccepted(double step_quality)
- Specified by:
StepAcceptedin classCeresSolver.TrustRegionStrategy
-
StepRejected
public void StepRejected(double step_quality)
- Specified by:
StepRejectedin classCeresSolver.TrustRegionStrategy
-
StepIsInvalid
public void StepIsInvalid()
- Specified by:
StepIsInvalidin classCeresSolver.TrustRegionStrategy
-
Radius
public double Radius()
- Specified by:
Radiusin classCeresSolver.TrustRegionStrategy
-
gradient
public java.util.Vector<java.lang.Double> gradient()
-
gauss_newton_step
public java.util.Vector<java.lang.Double> gauss_newton_step()
-
subspace_basis
public Jama.Matrix subspace_basis()
-
subspace_g
public WildMagic.LibFoundation.Mathematics.Vector2d subspace_g()
-
subspace_B
public Jama.Matrix subspace_B()
-
ComputeTraditionalDoglegStep
private void ComputeTraditionalDoglegStep(double[] dogleg)
-
ComputeSubspaceDoglegStep
private void ComputeSubspaceDoglegStep(double[] dogleg)
-
ComputeGaussNewtonStep
CeresSolver.LinearSolverSummary ComputeGaussNewtonStep(CeresSolver.TrustRegionStrategyPerSolveOptions per_solve_options, CeresSolver.SparseMatrix jacobian, double[] residuals)
-
ComputeCauchyPoint
private void ComputeCauchyPoint(CeresSolver.SparseMatrix jacobian)
-
ComputeGradient
private void ComputeGradient(CeresSolver.SparseMatrix jacobian, double[] residuals)
-
ComputeSubspaceModel
private boolean ComputeSubspaceModel(CeresSolver.SparseMatrix jacobian)
-
FindMinimumOnTrustRegionBoundary
private boolean FindMinimumOnTrustRegionBoundary(WildMagic.LibFoundation.Mathematics.Vector2d minimum)
-
MakePolynomialForBoundaryConstrainedProblem
private java.util.Vector<java.lang.Double> MakePolynomialForBoundaryConstrainedProblem()
-
ComputeSubspaceStepFromRoot
public WildMagic.LibFoundation.Mathematics.Vector2d ComputeSubspaceStepFromRoot(double y)
-
EvaluateSubspaceModel
double EvaluateSubspaceModel(WildMagic.LibFoundation.Mathematics.Vector2d x)
-
-