Geophysics, Inversion, and ProgrammingBill Harlan's Page |
|
| Interested in geophysics? Invert for offset-dependent wavelets and hyperbolic reflections simultaneously. Automatic moveout picking is more robust with global optimization. Signal/noise separation has many geophysical applications. The Rytov/Eikonal approximation of wavepaths properly includes the effect of bandwidth in seismic tomography. A convenient approximation of seismic anisotropy allows you to generalize higher-order moveout, prestack time-imaging, and depth calibrations with the same few parameters. Here's my attempt to motivate the logistic function, useful for predicting oil production. There's more geophysics on another page. |
| Interested in optimization and inversion? Instead of regularization, reparameterizing models most effectively stabilizes inverse problems. The simplest non-linear inversion in reflection seismology might be constrained Dix velocity estimation. Here are Java classes for Gauss-Newton and conjugate-gradient optimization and older C++ classes. Use conventional gradient methods to optimize neural networks. |
| Interested in programming? Unused generality makes code hard to modify. Try pair programming. Try to avoid premature performance tuning. How do unit tests help? Simplify the management of C++ objects. Use the Bridge/Impl pattern. Refactoring is not rewriting. Improve your Java Swing performance. My notes on Gnu/Linux. There's more programming on another page. |
| Interested in program management for programmers? Does extreme programming work ? Sooner or later my projects move to iterative development. Here are suggestions on how programmers can improve project management. Software development is a negotiation. Ever been burned by an unrealistic development schedule? Open research is most effective. |
| Here's my address and a short bio. |