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/MinesJTK/jtk in the edu.mines.jtk.opt package, with code in https://github.com/MinesJTK/jtk/tree/master/core/src/main/java/edu/mines/jtk/opt and documentation in https://github.com/MinesJTK/jtk/tree/master/docs/opt_package

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


File:   Bytes:   Modified:
Almost.java     14647   2018-08-08 05:54:22
AlmostTest.java     6274   2018-08-08 05:54:22
ArrayMath.java     461   2018-08-08 05:54:22
ArrayVect1.java     5119   2018-08-08 05:54:22
ArrayVect1Test.java     2250   2018-08-08 05:54:22
CleanFormatter.java     5311   2018-08-08 05:54:22
CleanFormatterTest.java     3069   2018-08-08 05:54:22
CleanHandler.java     4677   2018-08-08 05:54:22
CleanHandler.properties     31   2018-08-08 05:54:22
CoordinateTransform.java     6865   2018-08-08 05:54:22
CoordinateTransformTest.java     3261   2018-08-08 05:54:22
GaussNewtonSolver.java     10831   2018-08-08 05:54:22
GaussNewtonSolverTest.java     11508   2018-08-08 05:54:22
license.txt     11922   2018-08-08 05:54:22
LinearTransform.java     2359   2018-08-08 05:54:22
LinearTransformWrapper.java     1968   2018-08-08 05:54:22
Localize_ch.properties     88   2018-08-08 05:54:22
Localize_de.properties     106   2018-08-08 05:54:22
Localize_es.properties     102   2018-08-08 05:54:22
Localize.java     12453   2018-08-08 05:54:22
Localize.properties     102   2018-08-08 05:54:22
LocalizeTest.java     3900   2018-08-08 05:54:22
LoggerStream.java     3361   2018-08-08 05:54:22
LogMonitor_ch.properties     120   2018-08-08 05:54:22
LogMonitor_de.properties     126   2018-08-08 05:54:22
LogMonitor_es.properties     118   2018-08-08 05:54:22
LogMonitor.java     10214   2018-08-08 05:54:22
LogMonitor.properties     124   2018-08-08 05:54:22
MathPlus.java     382   2018-08-08 05:54:22
Monitor.java     2039   2018-08-08 05:54:22
PartialMonitor.java     2097   2018-08-08 05:54:22
Quadratic.java     1731   2018-08-08 05:54:22
QuadraticSolver.java     7624   2018-08-08 05:54:22
QuadraticSolverTest.java     5198   2018-08-08 05:54:22
README     1259   2018-08-08 05:54:22
ScalarSolver.java     16422   2018-08-08 05:54:22
ScalarSolverTest.java     7919   2018-08-08 05:54:22
src.tar.gz     38700   2018-08-08 05:54:22
Transform.java     3769   2018-08-08 05:54:22
TransformQuadratic.java     9666   2018-08-08 05:54:22
VectConst.java     1886   2018-08-08 05:54:22
Vect.java     4017   2018-08-08 05:54:22
VectUtil.java     9186   2018-08-08 05:54:22

Directories:
documentation


Return to parent directory.