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 | 14382 | 2012-02-25 15:28:00 |
| AlmostTest.java | 6298 | 2011-06-04 17:17:38 |
| ArrayMath.java | 469 | 2012-02-25 15:28:00 |
| ArrayVect1.java | 4859 | 2012-02-25 15:28:00 |
| ArrayVect1Test.java | 2282 | 2011-06-04 17:17:38 |
| CleanFormatter.java | 5031 | 2012-02-25 15:28:00 |
| CleanFormatterTest.java | 3109 | 2011-06-04 17:17:38 |
| CleanHandler.java | 4429 | 2012-02-25 15:28:00 |
| CleanHandler.properties | 31 | 2012-02-25 15:28:00 |
| CoordinateTransform.java | 6605 | 2012-02-25 15:28:00 |
| CoordinateTransformTest.java | 3301 | 2011-06-04 17:17:38 |
| GaussNewtonSolver.java | 10575 | 2012-02-25 15:28:00 |
| GaussNewtonSolverTest.java | 11540 | 2011-06-04 17:17:38 |
| license.txt | 11922 | 2009-02-22 10:34:47 |
| LinearTransform.java | 2083 | 2012-02-25 15:28:00 |
| LinearTransformWrapper.java | 1688 | 2012-02-25 15:28:00 |
| Localize_ch.properties | 88 | 2012-02-25 15:28:00 |
| Localize_de.properties | 106 | 2012-02-25 15:28:00 |
| Localize_es.properties | 102 | 2012-02-25 15:28:00 |
| Localize.java | 4692 | 2012-02-25 15:28:00 |
| Localize.properties | 102 | 2012-02-25 15:28:00 |
| LocalizeTest.java | 3924 | 2011-06-04 17:17:38 |
| LoggerStream.java | 3089 | 2012-02-25 15:28:00 |
| LogMonitor_ch.properties | 120 | 2012-02-25 15:28:00 |
| LogMonitor_de.properties | 126 | 2012-02-25 15:28:00 |
| LogMonitor_es.properties | 118 | 2012-02-25 15:28:00 |
| LogMonitor.java | 9909 | 2012-02-25 15:28:00 |
| LogMonitor.properties | 124 | 2012-02-25 15:28:00 |
| MathPlus.java | 390 | 2012-02-25 15:28:00 |
| Monitor.java | 1759 | 2012-02-25 15:28:00 |
| PartialMonitor.java | 1821 | 2012-02-25 15:28:00 |
| Quadratic.java | 1455 | 2012-02-25 15:28:00 |
| QuadraticSolver.java | 7369 | 2012-02-25 15:28:00 |
| QuadraticSolverTest.java | 5230 | 2011-06-04 17:17:39 |
| README | 1245 | 2012-02-25 15:27:47 |
| ScalarSolver.java | 16170 | 2012-02-25 15:28:00 |
| ScalarSolverTest.java | 7951 | 2011-06-04 17:17:39 |
| src.tar.gz | 36822 | 2012-02-25 15:28:01 |
| Transform.java | 3493 | 2012-02-25 15:28:00 |
| TransformQuadratic.java | 9402 | 2012-02-25 15:28:00 |
| VectConst.java | 1610 | 2012-02-25 15:28:00 |
| Vect.java | 3741 | 2012-02-25 15:28:00 |
| VectUtil.java | 8918 | 2012-02-25 15:28:00 |