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 double
alpha_
private double
decrease_threshold_
private java.util.Vector<java.lang.Double>
diagonal_
private double
dogleg_step_norm_
private CeresSolver.DoglegType
dogleg_type_
private java.util.Vector<java.lang.Double>
gauss_newton_step_
private java.util.Vector<java.lang.Double>
gradient_
private double
increase_threshold_
private double
kMaxMu
private double
kMinMu
private CeresSolver.LinearSolver
linear_solver_
private java.util.Vector<java.lang.Double>
lm_diagonal_
private double
max_diagonal_
private double
max_mu_
private double
max_radius_
private double
min_diagonal_
private double
min_mu_
private double
mu_
private double
mu_increase_factor_
private double
radius_
private boolean
reuse_
private Jama.Matrix
subspace_B_
private Jama.Matrix
subspace_basis_
private WildMagic.LibFoundation.Mathematics.Vector2d
subspace_g_
private boolean
subspace_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 void
ComputeCauchyPoint(CeresSolver.SparseMatrix jacobian)
(package private) CeresSolver.LinearSolverSummary
ComputeGaussNewtonStep(CeresSolver.TrustRegionStrategyPerSolveOptions per_solve_options, CeresSolver.SparseMatrix jacobian, double[] residuals)
private void
ComputeGradient(CeresSolver.SparseMatrix jacobian, double[] residuals)
CeresSolver.TrustRegionStrategySummary
ComputeStep(CeresSolver.TrustRegionStrategyPerSolveOptions per_solve_options, CeresSolver.SparseMatrix jacobian, double[] residuals, double[] step)
private void
ComputeSubspaceDoglegStep(double[] dogleg)
private boolean
ComputeSubspaceModel(CeresSolver.SparseMatrix jacobian)
WildMagic.LibFoundation.Mathematics.Vector2d
ComputeSubspaceStepFromRoot(double y)
private void
ComputeTraditionalDoglegStep(double[] dogleg)
(package private) double
EvaluateSubspaceModel(WildMagic.LibFoundation.Mathematics.Vector2d x)
private boolean
FindMinimumOnTrustRegionBoundary(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()
double
Radius()
void
StepAccepted(double step_quality)
void
StepIsInvalid()
void
StepRejected(double step_quality)
Jama.Matrix
subspace_B()
Jama.Matrix
subspace_basis()
WildMagic.LibFoundation.Mathematics.Vector2d
subspace_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:
ComputeStep
in classCeresSolver.TrustRegionStrategy
-
StepAccepted
public void StepAccepted(double step_quality)
- Specified by:
StepAccepted
in classCeresSolver.TrustRegionStrategy
-
StepRejected
public void StepRejected(double step_quality)
- Specified by:
StepRejected
in classCeresSolver.TrustRegionStrategy
-
StepIsInvalid
public void StepIsInvalid()
- Specified by:
StepIsInvalid
in classCeresSolver.TrustRegionStrategy
-
Radius
public double Radius()
- Specified by:
Radius
in 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)
-
-