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 |