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 | 2020-08-02 10:56:05 |
AlmostTest.java | 6274 | 2020-08-02 10:55:19 |
ArrayMath.java | 461 | 2020-08-02 10:56:05 |
ArrayVect1.java | 5119 | 2020-08-02 10:56:05 |
ArrayVect1Test.java | 2250 | 2020-08-02 10:55:19 |
CleanFormatter.java | 5311 | 2020-08-02 10:56:05 |
CleanFormatterTest.java | 3069 | 2020-08-02 10:55:19 |
CleanHandler.java | 4677 | 2020-08-02 10:56:05 |
CleanHandler.properties | 31 | 2020-08-02 10:56:05 |
CoordinateTransform.java | 6865 | 2020-08-02 10:56:05 |
CoordinateTransformTest.java | 3261 | 2020-08-02 10:55:19 |
GaussNewtonSolver.java | 10831 | 2020-08-02 10:56:05 |
GaussNewtonSolverTest.java | 11508 | 2020-08-02 10:55:19 |
license.txt | 11922 | 2020-08-02 10:55:19 |
LinearTransform.java | 2359 | 2020-08-02 10:56:05 |
LinearTransformWrapper.java | 1968 | 2020-08-02 10:56:05 |
Localize_ch.properties | 88 | 2020-08-02 10:56:05 |
Localize_de.properties | 106 | 2020-08-02 10:56:05 |
Localize_es.properties | 102 | 2020-08-02 10:56:05 |
Localize.java | 12453 | 2020-08-02 10:56:06 |
Localize.properties | 102 | 2020-08-02 10:56:05 |
LocalizeTest.java | 3900 | 2020-08-02 10:55:19 |
LoggerStream.java | 3361 | 2020-08-02 10:56:05 |
LogMonitor_ch.properties | 120 | 2020-08-02 10:56:05 |
LogMonitor_de.properties | 126 | 2020-08-02 10:56:05 |
LogMonitor_es.properties | 118 | 2020-08-02 10:56:05 |
LogMonitor.java | 10214 | 2020-08-02 10:56:05 |
LogMonitor.properties | 124 | 2020-08-02 10:56:05 |
MathPlus.java | 382 | 2020-08-02 10:56:05 |
Monitor.java | 2039 | 2020-08-02 10:56:05 |
PartialMonitor.java | 2097 | 2020-08-02 10:56:05 |
Quadratic.java | 1731 | 2020-08-02 10:56:05 |
QuadraticSolver.java | 7624 | 2020-08-02 10:56:05 |
QuadraticSolverTest.java | 5198 | 2020-08-02 10:55:19 |
README | 1259 | 2020-08-02 10:55:19 |
ScalarSolver.java | 16422 | 2020-08-02 10:56:05 |
ScalarSolverTest.java | 7919 | 2020-08-02 10:55:19 |
src.tar.gz | 38693 | 2020-08-02 10:56:06 |
Transform.java | 3769 | 2020-08-02 10:56:05 |
TransformQuadratic.java | 9666 | 2020-08-02 10:56:05 |
VectConst.java | 1886 | 2020-08-02 10:56:05 |
Vect.java | 4017 | 2020-08-02 10:56:05 |
VectUtil.java | 9186 | 2020-08-02 10:56:05 |