![]() |
![]() |
![]() |
![]() | Downward continuation | ![]() |
![]() |
It is straightforward to adapt the simple programs
to depth variable velocity.
As you might suspect, the two processes are adjoint to each other,
and for reasons given at the end of chapter
it is desirable to code them to be so.
With differential equations and their boundary conditions,
the concept of adjoint is more subtle than previous examples.
Thus, I postponed till here the development of adjoint code
for phase-shift migration.
This coding is a little strenuous,
but it affords a review of many basic concepts,
so we do so here. (Feel free to skip this section.)
It is nice to have a high quality code for this fundamental operation.
Many situations in physics are expressed by the differential equation
![]() |
(18) |
![]() |
(19) |
A recursive solution begins at the bottom
with and propagates upward.
The adjoint (complex conjugate) of the delay operator
is the time advance operator
.
The adjoint of equation (7.21)
is given by
We observe the wavefield only on the surface ,
so the adjointness of
equations (7.21)
and (7.22)
is academic because it relates the wavefield at all depths
with the source at all depths.
We need to truncate
to its first coefficient
since the upcoming wave is known only at the surface.
This truncation changes the adjoint in a curious way.
We rewrite equation (7.21)
using a truncation operator
that is
the row matrix
getting
.
Its adjoint is
or
which looks like
A final feature of the migration application
is that the image is formed from
by summing over all frequencies.
Although I believe the mathematics above
I ran the dot product test to be sure!
![]() |
![]() |
![]() |
![]() | Downward continuation | ![]() |
![]() |