Gauss-Newton and Conjugate-Gradient optimization

This code implements a Gauss-Newton optimization of objective functions that can be iteratively approximated by quadratics. This approach is particularly appropriate for least-squares inversions of moderately non-linear transforms. You will also find code for conjugate-gradient and line-search optimizations.

Get documentation of the algorithm here: [ ../../papers/inv/ ] [ ../../papers/inv.pdf ] [ ../../papers/inv.ps.gz ]

Several papers describe ways to use this code: [ ../../papers/regularization.pdf ] [ ../../papers/regularization/ ] [ ../../papers/neural.pdf ] [ ../../papers/neural/ ] [ ../../papers/rmsinv.pdf ] [ ../../papers/rmsinv/ ]

See an older C++ version [ ../conjugate_gradients/ ]

See the java documentation in the documentation subdirectory [ documentation ] .

The current version of this code is now a part of the Mines Java Toolkit at http://www.mines.edu/~dhale/jtk/ in the edu.mines.jtk.opt package, with code here http://boole.mines.edu/jtk/trunk/src/edu/mines/jtk/opt/ and documentation here http://boole.mines.edu/jtk/trunk/doc/opt_package/

An older public version is available from http://code.google.com/p/optimal/


File:   Bytes:   Modified:
Almost.java     11742   2008-04-27 11:41:38 -0600
AlmostTest.java     6678   2008-04-27 11:41:38 -0600
Array.java     465   2008-04-27 11:41:39 -0600
ArrayVect1.java     4124   2008-04-27 11:41:38 -0600
ArrayVect1Test.java     2282   2008-04-27 11:41:38 -0600
CleanFormatter.java     4731   2008-04-27 11:41:38 -0600
CleanFormatterTest.java     3109   2008-04-27 11:41:38 -0600
CleanHandler.java     3998   2008-04-27 11:41:38 -0600
CleanHandler.properties     31   2008-04-27 11:41:38 -0600
CoordinateTransform.java     5741   2008-04-27 11:41:38 -0600
CoordinateTransformTest.java     3297   2008-04-27 11:41:38 -0600
GaussNewtonSolver.java     8787   2008-04-27 11:41:38 -0600
GaussNewtonSolverTest.java     11540   2008-04-27 11:41:38 -0600
license.txt     11922   2006-09-05 10:17:26 -0600
LinearTransform.java     1999   2008-04-27 11:41:39 -0600
LinearTransformWrapper.java     1688   2008-04-27 11:41:38 -0600
Localize_ch.properties     88   2008-04-27 11:41:38 -0600
Localize_de.properties     106   2008-04-27 11:41:38 -0600
Localize_es.properties     102   2008-04-27 11:41:38 -0600
Localize.java     4692   2008-04-27 11:41:38 -0600
Localize.properties     102   2008-04-27 11:41:38 -0600
LocalizeTest.java     3923   2008-04-27 11:41:38 -0600
LoggerStream.java     3091   2008-04-27 11:41:38 -0600
LogMonitor_ch.properties     120   2008-04-27 11:41:38 -0600
LogMonitor_de.properties     126   2008-04-27 11:41:38 -0600
LogMonitor_es.properties     118   2008-04-27 11:41:38 -0600
LogMonitor.java     7974   2008-04-27 11:41:38 -0600
LogMonitor.properties     124   2008-04-27 11:41:38 -0600
MathPlus.java     390   2008-04-27 11:41:39 -0600
Monitor.java     1445   2008-04-27 11:41:39 -0600
PartialMonitor.java     1534   2008-04-27 11:41:39 -0600
Quadratic.java     1400   2008-04-27 11:41:39 -0600
QuadraticSolver.java     6414   2008-04-27 11:41:39 -0600
QuadraticSolverTest.java     5230   2008-04-27 11:41:39 -0600
README     1222   2008-04-27 10:45:19 -0600
ScalarSolver.java     13378   2008-04-27 11:41:39 -0600
ScalarSolverTest.java     7951   2008-04-27 11:41:39 -0600
src.tar.gz     35170   2008-04-27 11:41:41 -0600
Transform.java     3349   2008-04-27 11:41:39 -0600
TransformQuadratic.java     9373   2008-04-27 11:41:39 -0600
VectConst.java     1560   2008-04-27 11:41:39 -0600
Vect.java     3623   2008-04-27 11:41:39 -0600
VectUtil.java     7633   2008-04-27 11:41:39 -0600

Directories:
documentation


Return to parent directory.