previous up next print clean
Next: IMPLEMENTATION Up: Fomel, Crawley & Clapp: Previous: NMO DEFINED

PULL AND PUSH NMO AND INTERPOLATION

NMO stretches a (data) trace at some offset to estimate a (model) trace at zero offset. This can be written as the matrix multiplication m = N'd. We have some choice in writing the matrix N'. For instance, we may choose N' to have a one in each column or a one in each row. In our subroutine, this translates to either choosing to loop over the values in the input d and push each to a sample in the output, variously termed an 'input-oriented' or 'push' operator; or choosing to loop over the values in the output m and for each pull in the appropriate input sample, an 'output-oriented' or 'pull' operator Claerbout (1992b); Levin (1994). The matrixes represented by N' might look like Equation 1 for a push operator, or Equation 2 for a pull (after Levin 1994).

\begin{displaymath}
m = N'd = \left[ \begin{array}
{cccccc}
 . & . & 1 & . & . &...
 ...
 d1 \\  d2 \\  d3 \\  d4 \\  d5 \\  d6 \\  \end{array} \right]\end{displaymath} (7)

\begin{displaymath}
m = N'd = \left[ \begin{array}
{cccccc}
 . & . & . & . & . &...
 ...
 d1 \\  d2 \\  d3 \\  d4 \\  d5 \\  d6 \\  \end{array} \right]\end{displaymath} (8)

Neither of the above is perfect, in that each is a hyperbola and not a waveform. However, the lower might be called better because it does not leave holes in the output Claerbout (1995a).

To do inversion, we need operator pairs. Depending on our inversion method, we may or may not need an operator pair which is exactly adjoint. The adjoint of a push operator will be a pull operator, and vice versa, though push push or pull pull pairs can be approximately adjoint. Also, though we can choose a solver methodology which allows us to use an approximate adjoint Fomel (1996), pull operators may still be impractical. Coding NMO forward modeling as a pull operator is difficult because where velocity is not constant, traveltime may be multivalued Claerbout (1995a), or at least nontrivial to compute. This is a problem if we wish to upgrade stacking by inversion, but not for inverse velocity transform. Thus, as is the case for many geophysical operators, optimal implementation really is a function of application. The next section shows how different implementations may be easily swapped.


previous up next print clean
Next: IMPLEMENTATION Up: Fomel, Crawley & Clapp: Previous: NMO DEFINED
Stanford Exploration Project
11/11/1997