The waveform in equation (31) often arises in practice
(as the 2-D Huygens wavelet).
Because of the discontinuities on the left side of equation (31),
it is not easy to visualize.
Thinking again of the time derivative
as a convolution with the doublet ,we imagine the 2-D Huygen's wavelet as a positive impulse followed
by negative signal decaying as -*t ^{-3/2}*.
This decaying signal is sometimes called the ``

# Half order causal derivative. OK to equiv(xx,yy) # subroutine halfdifa( adj, add, n, xx, yy ) integer n2, i, adj, add, n real omega, xx(n), yy(n) complex cz, cv(4096) n2=1; while(n2<n) n2=2*n2; if( n2 > 4096) call erexit('halfdif memory') do i= 1, n2 { cv(i) = 0.} do i= 1, n if( adj == 0) { cv(i) = xx(i)} else { cv(i) = yy(i)} call adjnull( adj, add, xx,n, yy,n) call ftu( +1., n2, cv) do i= 1, n2 { omega = (i-1.) * 2.*3.14159265 / n2 cz = csqrt( 1. - cexp( cmplx( 0., omega))) if( adj != 0) cz = conjg( cz) cv(i) = cv(i) * cz } call ftu( -1., n2, cv) do i= 1, n if( adj == 0) { yy(i) = yy(i) + cv(i)} else { xx(i) = xx(i) + cv(i)} return; end

In practice, it is easiest to represent
and to apply the 2-D Huygen's wavelet in the frequency domain.
Subroutine `halfdifa()` is provided for that purpose.
Instead of using which
has a discontinuity at the Nyquist frequency
and a noncausal time function,
I use the square root of a causal representation
of a finite difference, i.e. ,which is well behaved at the Nyquist frequency
and has the advantage that the modeling operator is causal
(vanishes when *t*<*t _{0}*).
Fourier transform is done using subroutine

hankel
Impulse response (delayed) of finite difference operator of half order.
Twice applying this filter is equivalent to once applying (1,-1).
Figure 7 |

12/26/2000