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/inv.html ] [ ../../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 https://github.com/dhale/jtk in the edu.mines.jtk.opt package, with code in https://github.com/dhale/jtk/tree/master/src/main/java/edu/mines/jtk/opt/ and documentation in https://github.com/dhale/jtk/tree/master/doc/opt_package/

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


File:   Bytes:   Modified:
Almost.java     14358   2016-03-31 06:29:38
AlmostTest.java     6274   2016-03-31 06:23:47
ArrayMath.java     461   2016-03-31 06:29:38
ArrayVect1.java     4835   2016-03-31 06:29:38
ArrayVect1Test.java     2250   2016-03-31 06:23:47
CleanFormatter.java     5023   2016-03-31 06:29:38
CleanFormatterTest.java     3069   2016-03-31 06:23:47
CleanHandler.java     4389   2016-03-31 06:29:38
CleanHandler.properties     31   2016-03-31 06:29:38
CoordinateTransform.java     6585   2016-03-31 06:29:38
CoordinateTransformTest.java     3261   2016-03-31 06:23:47
GaussNewtonSolver.java     10535   2016-03-31 06:29:38
GaussNewtonSolverTest.java     11508   2016-03-31 06:23:47
license.txt     11922   2012-11-20 21:19:21
LinearTransform.java     2075   2016-03-31 06:29:38
LinearTransformWrapper.java     1680   2016-03-31 06:29:38
Localize_ch.properties     88   2016-03-31 06:29:38
Localize_de.properties     106   2016-03-31 06:29:38
Localize_es.properties     102   2016-03-31 06:29:38
Localize.java     12041   2016-03-31 06:29:38
Localize.properties     102   2016-03-31 06:29:38
LocalizeTest.java     3900   2016-03-31 06:23:47
LoggerStream.java     3073   2016-03-31 06:29:38
LogMonitor_ch.properties     120   2016-03-31 06:29:38
LogMonitor_de.properties     126   2016-03-31 06:29:38
LogMonitor_es.properties     118   2016-03-31 06:29:38
LogMonitor.java     9893   2016-03-31 06:29:38
LogMonitor.properties     124   2016-03-31 06:29:38
MathPlus.java     382   2016-03-31 06:29:38
Monitor.java     1751   2016-03-31 06:29:38
PartialMonitor.java     1813   2016-03-31 06:29:38
Quadratic.java     1447   2016-03-31 06:29:38
QuadraticSolver.java     7337   2016-03-31 06:29:38
QuadraticSolverTest.java     5198   2016-03-31 06:23:47
README     1246   2015-03-29 17:28:47
ScalarSolver.java     16138   2016-03-31 06:29:38
ScalarSolverTest.java     7919   2016-03-31 06:23:47
src.tar.gz     38254   2016-03-31 06:29:39
Transform.java     3485   2016-03-31 06:29:38
TransformQuadratic.java     9378   2016-03-31 06:29:38
VectConst.java     1602   2016-03-31 06:29:38
Vect.java     3733   2016-03-31 06:29:38
VectUtil.java     8902   2016-03-31 06:29:38

Directories:
documentation


Return to parent directory.