SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent
Class GaussNewton

java.lang.Object
  extended by com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent
      extended by com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.GaussNewton
All Implemented Interfaces:
Minimizer, UnconstrainedMinimizer

public class GaussNewton
extends SteepestDescent

The Gauss-Newton method is a steepest descent method to minimize a real vector function in the form:

f(x) = [f1(x) f2(x) ... fm(x)]'
The objective function is
F(x) = f' %*% f

See Also:

Nested Class Summary
 
Nested classes/interfaces inherited from class com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent
SteepestDescent.LineSearch
 
Field Summary
 
Fields inherited from class com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent
f, g, tol
 
Constructor Summary
GaussNewton()
           
 
Method Summary
protected  SteepestDescent.LineSearch getLineSearch()
           
 void solve(RealVectorFunction vf, double tol)
          Construct an instance of GaussNewton to minimize a real vector function f.
 void solve(RealVectorFunction vf, RntoMatrix J, double tol)
          Construct an instance of GaussNewton to minimize a real vector function f.
 void solve(UnconstrainedProblem problem, double tol)
           
 
Methods inherited from class com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent
minimum, search, solve, solve
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GaussNewton

public GaussNewton()
Method Detail

getLineSearch

protected SteepestDescent.LineSearch getLineSearch()
Specified by:
getLineSearch in class SteepestDescent

solve

public void solve(UnconstrainedProblem problem,
                  double tol)
Specified by:
solve in interface UnconstrainedMinimizer
Overrides:
solve in class SteepestDescent

solve

public void solve(RealVectorFunction vf,
                  RntoMatrix J,
                  double tol)
Construct an instance of GaussNewton to minimize a real vector function f.

Parameters:
vf - the real vector function to be minimized
J - a function that computes the Jacobian of f for a given x
tol - the convergence tolerance

solve

public void solve(RealVectorFunction vf,
                  double tol)
Construct an instance of GaussNewton to minimize a real vector function f. The Jacobian is computed numerically.

Parameters:
vf - the real vector function to be minimized
tol - the convergence tolerance

SuanShu, a Java numerical and statistical library

Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.