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: |
|---|---|---|
| 20030619-141743.the.gz | 5566 | 2003-11-17 13:56:28 -0700 |
| 2006_release_permission.txt.gz | 6653 | 2006-09-05 10:12:47 -0600 |
| Almost.java | 12081 | 2009-12-05 13:16:01 -0700 |
| AlmostTest.java | 6298 | 2009-12-05 13:16:01 -0700 |
| ArrayMath.java | 469 | 2009-12-05 13:16:02 -0700 |
| ArrayVect1.java | 4092 | 2009-12-05 13:16:01 -0700 |
| ArrayVect1Test.java | 2282 | 2009-12-05 13:16:01 -0700 |
| CleanFormatter.java | 4751 | 2009-12-05 13:16:01 -0700 |
| CleanFormatterTest.java | 3109 | 2009-12-05 13:16:01 -0700 |
| CleanHandler.java | 3998 | 2009-12-05 13:16:01 -0700 |
| CleanHandler.properties | 31 | 2009-12-05 13:16:01 -0700 |
| CoordinateTransform.java | 5709 | 2009-12-05 13:16:01 -0700 |
| CoordinateTransformTest.java | 3301 | 2009-12-05 13:16:01 -0700 |
| GaussNewtonSolver.java | 8723 | 2009-12-05 13:16:01 -0700 |
| GaussNewtonSolverTest.java | 11540 | 2009-12-05 13:16:01 -0700 |
| license.txt | 11922 | 2006-09-05 10:17:26 -0600 |
| LinearTransform.java | 1999 | 2009-12-05 13:16:02 -0700 |
| LinearTransformWrapper.java | 1688 | 2009-12-05 13:16:01 -0700 |
| Localize_ch.properties | 88 | 2009-12-05 13:16:01 -0700 |
| Localize_de.properties | 106 | 2009-12-05 13:16:01 -0700 |
| Localize_es.properties | 102 | 2009-12-05 13:16:01 -0700 |
| Localize.java | 4692 | 2009-12-05 13:16:01 -0700 |
| Localize.properties | 102 | 2009-12-05 13:16:01 -0700 |
| LocalizeTest.java | 3924 | 2009-12-05 13:16:01 -0700 |
| LoggerStream.java | 3101 | 2009-12-05 13:16:02 -0700 |
| LogMonitor_ch.properties | 120 | 2009-12-05 13:16:01 -0700 |
| LogMonitor_de.properties | 126 | 2009-12-05 13:16:01 -0700 |
| LogMonitor_es.properties | 118 | 2009-12-05 13:16:01 -0700 |
| LogMonitor.java | 7974 | 2009-12-05 13:16:02 -0700 |
| LogMonitor.properties | 124 | 2009-12-05 13:16:01 -0700 |
| MathPlus.java | 390 | 2009-12-05 13:16:02 -0700 |
| Monitor.java | 1445 | 2009-12-05 13:16:02 -0700 |
| PartialMonitor.java | 1534 | 2009-12-05 13:16:02 -0700 |
| Quadratic.java | 1400 | 2009-12-05 13:16:02 -0700 |
| QuadraticSolver.java | 6262 | 2009-12-05 13:16:02 -0700 |
| QuadraticSolverTest.java | 5230 | 2009-12-05 13:16:02 -0700 |
| README | 1222 | 2008-04-27 10:45:19 -0600 |
| ScalarSolver.java | 13346 | 2009-12-05 13:16:02 -0700 |
| ScalarSolverTest.java | 7951 | 2009-12-05 13:16:02 -0700 |
| src.tar.gz | 35166 | 2009-12-05 13:16:03 -0700 |
| Transform.java | 3349 | 2009-12-05 13:16:02 -0700 |
| TransformQuadratic.java | 9373 | 2009-12-05 13:16:02 -0700 |
| VectConst.java | 1560 | 2009-12-05 13:16:02 -0700 |
| Vect.java | 3619 | 2009-12-05 13:16:02 -0700 |
| VectUtil.java | 7633 | 2009-12-05 13:16:02 -0700 |