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? Maybe you can avoid extending classes. Here are suggestions on catching Java exceptions properly and routine Java loggging Why do people still use scary class hierarchies? Use the Bridge/Impl pattern. Refactoring is not rewriting. There's more programming on another page. |
|
Interested in program management for programmers?
|
| Here's my address and a short bio. |