# SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.optimization.multivariate.unconstrained.c2.steepestdescent

## Class GaussNewtonMinimizer

• java.lang.Object
• com.numericalmethod.suanshu.optimization.multivariate.unconstrained.c2.steepestdescent.GaussNewtonMinimizer

• public class GaussNewtonMinimizer
extends Object
The Gauss-Newton method is a steepest descent method to minimize a real vector function in the form: /[ f(x) = [f_1(x), f_2(x), ..., f_m(x)]' /] The objective function is /[ F(x) = f' %*% f ]/
• ### Nested Class Summary

Nested Classes
Modifier and Type Class and Description
protected static class  GaussNewtonMinimizer.MySteepestDescent
• ### Constructor Summary

Constructors
Constructor and Description
GaussNewtonMinimizer(double epsilon, int maxIterations)
Construct a multivariate minimizer using the Gauss-Newton method.
• ### Method Summary

All Methods
Modifier and Type Method and Description
IterativeSolution<Vector> solve(RealVectorFunction vf)
Solve the minimization problem to minimize F = vf' * vf.
IterativeSolution<Vector> solve(RealVectorFunction vf, RntoMatrix J)
Solve the minimization problem to minimize F = vf' * vf.
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### Constructor Detail

• #### GaussNewtonMinimizer

public GaussNewtonMinimizer(double epsilon,
int maxIterations)
Construct a multivariate minimizer using the Gauss-Newton method.
Parameters:
epsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0
maxIterations - the maximum number of iterations
• ### Method Detail

• #### solve

public IterativeSolution<Vector> solve(RealVectorFunction vf,
RntoMatrix J)
throws Exception
Solve the minimization problem to minimize F = vf' * vf.
Parameters:
vf - a real vector function to be minimized
J - a function that computes the Jacobian of f for a given x
Returns:
a minimizer
Throws:
Exception
• #### solve

public IterativeSolution<Vector> solve(RealVectorFunction vf)
throws Exception
Solve the minimization problem to minimize F = vf' * vf.
Parameters:
vf - a real vector function to be minimized
Returns:
a minimizer
Throws:
Exception