Bulletin of The Seismological Society of America, Vol. 82, No. 1, Pp. 259-288, February 1992
Bulletin of The Seismological Society of America, Vol. 82, No. 1, Pp. 259-288, February 1992
Bulletin of The Seismological Society of America, Vol. 82, No. 1, Pp. 259-288, February 1992
RAY B E N D I N G REVISITED
ABSTRACT
Two improvements on conventional ray bending are presented in this paper.
First, gradient search methods are proposed to find the locations of successive
points on a ray such that the travel time between its endpoints is minimal. Since
only the integration of the travel time along the whole ray is involved, such
methods are inherently more stable than methods that use first and second
derivatives of the ray path to solve the raytracing equations. Second, it is shown
that interpolation between successive points on a ray is generally necessary to
obtain sufficient precision in the quadrature, but also advantageous in terms of
efficiency when Beta-splines are used.
Velocity discontinuities are easy to handle in the proposed bending algorithm.
The target for the travel time precision is 1 part in 10 4, which can be considered
necessary for many applications in seismic tomography. With the proposed
method, this precision was reached for a constant gradient velocity model using
the conjugate gradients algorithm on a five-point Beta-spline in single precision
arithmetic. Several existing methods for parametrization and minimization failed
to produce this target on this simple model even with computing times that are
an order of magnitude larger. Calculations in a spherical Earth yield the required
precision within feasible computation times. Finally, alternative search direc-
tions, which can be obtained from an approximate second order expansion of
the travel time, accelerate the convergence in the first few iterations of the
bending process.
INTRODUCTION
The steadily increasing ability to map the lateral heterogeneity of the Earth's
crust and deeper regions not only makes stricter demands on the precision of
seismic observations such as travel times; inversion procedures for such data,
notably the more recent tomographic methods (Nolet, 1987), are also more
exacting on the precision and efficiency of the algorithms used to solve the
forward problem. This paper takes a new look at the old problem of seismic
raytracing with a special emphasis on precision without loss of efficiency.
To find the ray geometry and travel time for a seismic ray between two fixed
points A and B in the Earth, there are essentially two different computational
approaches (Aki and Richards, 1980, Chapter 13): in the method of shooting,
rays are computed that leave point A in different directions by solving the
raytracing equations until one ray happens to arrive in B. In the bending
method, some initial guess of the ray is perturbed, while A and B are kept
fixed, until it satisfies the ray equations or minimizes the travel time.
One advantage of the method of ray bending over shooting is that the bending
method yields the travel time of the diffracted ray, even if the point B is in the
shadow zone where no "physical" rays arrive from A. Of course, the term
"physical" is somewhat misleading since in the real Earth diffracted seismic
energy does arrive in B and m a y have been observed as an arrival time. In
tomographic interpretations, such observations must be discarded when the
direct problem is solved by shooting rather than bending. Also, when the
259
260 T. J. M O S E R , G. N O L E T , AND R. S N I E D E R
diffracted wave arrives before the physical ray, it is likely that the fastest of the
two is observed. Unless this is taken into account, tomographic studies are
likely to yield models that are biased towards high velocities (Wielandt, 1987).
Bending methods have been introduced in seismology by Wesson (1971),
Chander (1975), and Julian and Gubbins (1977). Two variants exist of the
bending method. In the original method (Julian and Gubbins, 1977), of which
the most elaborate version is by Pereyra et al. (1980), the raytracing equations
£ -v =o (i)
for a ray ~, parametrized by the arc length s, in a velocity field c(~), are
approximated by discretizing the ray path into k + i points (~o, rl,. • •, rk) and
by using finite differences for the derivatives. The resulting system of equations
is then linearized and solved to find the perturbation that must be applied to
some initial guess of the ray in order to reduce the right-hand side of the ray
equations to 0. Since the linearized system is approximate, several iterations
are needed for convergence.
In the second variant, pioneered by U m and Thurber (1987) and Prothero
et al. (1988), one attempts to minimize directly the travel time as a functional of
the ray curve ~.
f ds
- - - ~ Min. (2)
T(~) = c
This second variant of ray bending has one distinct advantage over the finite-
difference approach. The precision of the finite-difference approach is limited by
the precision of numerical differentiation, which is inherently more unstable
than numerical integration. The linearized system in the first variant therefore
contains small errors. Since, in our experience, the system is ill-conditioned in
the presence of a complicate velocity model, these small errors prohibit conver-
gence to the desired accuracy or may even cause a catastrophic divergence.
Such stability problems do not occur when T is minimized directly, as in the
second variant of ray bending.
U m and Thurber (1987) represent the ray by a number of points, connected by
straight line segments. In this paper, such representations are referred to as
"polygonal paths." In the method presented by U m and Thurber, the precision
of the integration increases with the number of segments. For efficiency rea-
sons, the number of segments grows with the number of iterations. Travel time
accuracies of a few parts in 1 0 4 a r e obtained using considerable CPU time (see
Table 3 of this paper). All computations reported in this paper were performed
using one NS32532 processor of an Encore MM510 parallel computer with 2.5
Mflop. The method is not suitable for media with velocity discontinuities, nor
does it work well with predominantly constant velocity zones. These drawbacks
do not exist with a similar method developed by Prothero et al. (1988), at the
expense, however, of computation times that are larger by a factor 2.5 to 5.5.
In this paper, two improvements on the method of U m and Thurber (1987) are
investigated: ray parametrizations in terms of Beta-splines rather than polygo-
hal paths; and a global, rather than a three-point, perturbation scheme to
RAY BENDING REVISITED 261
minimize the travel time T. In contrast with Prothero et al. (1988), who use the
simplex method for minimization (Nelder and Mead, 1965), it is shown that the
smoothness of the travel time allows for the use of the derivatives of T in
minimization techniques, such as the conjugate gradients method (Fletcher and
Reeves, 1965). The Beta-spline curve representation (Barsky, 1988) is chosen
instead of trigonometric polynomials because of its greater flexibility.
Instead of a gradient method for minimizing the travel time, one can also use
second-order minimization methods that use information that is present in the
Hessian matrix. The last section of this paper shows that, using an approximate
expression for the inversion of the Hessian, this leads to a stable ray bending
method.
The presented method has been compared with other bending methods only
qualitatively. A comparison with respect to efficiency is only partly useful,
because of the different convergence behavior of the methods in presence of
strong heterogeneities or discontinuities. The presented method has no prob-
lems with such situations, unlike most other methods (Julian and Gubbins
(1977) in complicated velocity models, due to the ill-conditioning of their lin-
earized system of equations, and U m and Thurber (1987) in constant velocity
zones, due to their definition of the ray perturbation). A quantitative analysis is
given to show the advantages of Beta-splines with regard to polygonal paths,
both in efficiency and accuracy.
This study was motivated by the need to obtain more precise travel times, and
yet retain efficiency in the computations to enable three-dimensional models to
be incorporated in delay-time studies. In seismic tomography, the number of
data (rays) is notoriously.large. A precision of 0.1 to 0.2 sec in measured arrival
times of 12 minutes (P) or 20 minutes (PKP) is required. Thus, raytracing
algorithms should aim at a precision of about 1 part in 10 4. This shall be used
as the target precision in this paper.
The first section introduces the parametrization of a ray path by the coordi-
nares of successive points on it and the travel time and its gradient along it as
multivariate functions. The second section, on minimization techniques using
derivatives, shows how conjugate gradients can be used for ray bending. The
Beta-spline curve representation is introduced in t h e third section. In the fourth
section, it is shown that bending in the presence of discontinuities causes no
problems. The section on higher-order terms gives a search direction, obtained
from a second-order expansion of the travel time, which leads to a faster
convergence in the first bending iterations. The proposed bending method is
applied to a spherical E a r t h in the last section.
With exception of the last section, this paper uses dimensionless quantities
for distance, time, velocity, and slowness. All velocity fields, except in the last
section, are sampled on a 50 x 50 grid and bilinearly interpolated. The range of
the fields is 0 to 100 in both the x and z directions.
THE TRAVEL-TIME FUNCTION AND ITS DERIVATIVES
According to Fermat's principle, the gradient V T of the travel time T,
considered as a functional on the set of continuous curves 3, connecting a
specified source-receiver pair, vanishes for a seismic ray path. With exception of
some degenerate ray perturbations, such as shifting a finite ray segment over a
velocity discontinuity, T(~) is a smooth functional. This suggests the use of
VT(~) for finding the minimal travel time path. The variation of the travel time
262 T. J. M O S E R , G. N O L E T , AND R. S N I E D E R
along an initial guess path due to small perturbations in its geometry, for which
VT(~) is a measure, gives an indication about how to change the guess path in
order to search for a m i n i m u m of T.
For computational purposes, the paths under consideration can be discretized
into polygonal paths consisting of k + 1 points in a two- or three-dimensional
space, numbered from 0 to k and connected by straight line segments. Their
successive x and z coordinates or x, y, and z coordinates form a set of
n = 2(k + 1) or 3(k + 1) parameters t h a t are stored in a n-vector ~:
In the rest of this paper, two dimensions will be chosen and asymptotical
relations for the efficiency and accuracy will be given in terms of n. The
extension to three dimensions is trivial.
The travel time along such a path, T(7), can be approximated with the
trapezoidal rule
T(7) = i=lE
1(1 1)--ci + v/(x - x -1)2 + z _l) 2 , (4)
/
where ~7 = (SXo, 6Zo, - • -, 6xk, 6z~) is a small perturbation on 7, (', " ) is the
standard inner product on the n-dimensional Euclidian space and I1"11
= v/( • , •) is the norm. The gradient of T in the n dimensional point 7 is an n
vector as well:
c3T OT OT
OT OT OT)
, , , , ' . . , , •
VT(7)= OXo OZo Oxl Ozl Oxk cgzk (6)
For ray bending purposes, the end points of the polygonal paths must be kept
fixed:
5x o = S z o = S x k = 6 z ~ = 0 . (7)
t h i s b y 2 5xi or 2 5Z i. S u c h n u m e r i c a l d i f f e r e n t i a t i o n h a s a d i s c r e t i z a t i o n e r r o r of
O(115'/II ~)(ll 5'/II-~ 0), w h i c h is m o r e a c c u r a t e t h a n for i n s t a n c e f o r w a r d differ-
ences. H o w e v e r , II5~ II c a n n o t be c h o s e n too small, b e c a u s e of t h e round-off e r r o r
t h a t comes in w h e n t h e n e a r l y e q u a l n u m b e r s T ( ~ + 5~) a n d T ( ' / - 5~) a r e
s u b t r a c t e d . F o r e a c h c o m p o n e n t , T ( ~ + 5~) - T ( ~ / - 5~) n e e d to be c a l c u l a t e d
only for t h e two s e g m e n t s in w h i c h ~ + 5 " / a n d " / - 5 - / a r e different. T h u s , b o t h
t h e t r a v e l t i m e a n d its g r a d i e n t c a n be c o m p u t e d w i t h O ( n ) o p e r a t i o n s .
F i g u r e 1 i l l u s t r a t e s t h e s m o o t h n e s s of t h e t r a v e l t i m e f u n c t i o n a l in a simpli-
fied e x a m p l e of a t h r e e - p o i n t p o l y g o n a l p a t h u s i n g t h e t r a p e z o i d a l a p p r o x i m a -
tion of t h e t r a v e l t i m e . T h e g r a d i e n t , c o m p u t e d f r o m t h e p e r t u r b e d p a t h s , gives
a correct i n d i c a t i o n of t h e d i r e c t i o n in w h i c h t h e middle p o i n t should be c h a n g e d
in o r d e r to d e c r e a s e t h e t r a v e l t i m e .
O
T--
O
t'xl
O
nt
N °
O
CD
O
t'--
O
CO
O
O~
10 20 30 40 50 60 70 80 90
X
FIG. 1. Contours of the travel time along polygonal paths of three points ((0, 0), (x, z), (100,100))
as a function of the position of the second point, computed with the trapezoidal rule. The contours
are for travel times from 100.0 to 170.0 with an increment of 5.0. Two guess paths (1 and 2) are
shown, together with the perturbations used for the numerical gradient calculation with 5x = 5z =
4.0. Path 3 is the minimal trapezoidal travel time path consisting of three points. The velocity field
is given by c(x, z) = 1.0 + 0.01z and, as for all figures, sampled on a 50 × 50 grid and bilinearly
interpolated. The minimal trapezoidal travel time is 98.6549, whereas an analytic solution gives
96,2424.
264 T. J. M O S E R , G. N O L E T , AND R. S N I E D E R
long narrow valley in the travel-time function. See Stoer and Bulirsch (1980) for
conjugate gradients and Newton's method and Conte and de Boor (1980) for the
shortcomings of the steepest descent method.
In the simple but unrealistic case that the travel time is a quadratic function
in 7 (equation 9), the conjugate gradients method leads to the minimal travel
time path in at most n steps.
1
T(7) = c + (b,7) + (9)
• • .
The first path ml can be obtained by a simple line minimization, that is the
minimization of T along the line 7o + uoVT(mo), where 7o and VT(mo) are
fixed vectors and u o is a scalar parameter. The second path 72 must be obtained
by minimizing T in the plane ml + u o V T ( % ) + ulVT(71), otherwise the result
of the first minimization would be spoiled. The j + 1-st path 7j+1 is found by
minimizing T in a j + 1-dimensional subspace of ~ n spanned by the vectors
VT(mo) . . . . . VT(mj), which are mutually orthogonal. The very expensive j + 1-
dimensional minimization is avoided by keeping track of another series of
vectors P o , . . - , Pj such that
Po = - V T ( ~ o ) , (11)
(VT(Tj),VT(7j))
pj = - V T ( T j ) + (VT(mj_I),VT('yj_j)) pj-I"
The minimizations on the right-hand side of (10) can then be replaced by line
minimizations:
Only four n vectors need to be stored in memory, namely 7j, VT(Tj), VT(mj_ 1),
and pj. For details, see Stoer and Bulirsch (1980) or Press et al. (1986).
In general, the travel-time function is not quadratic, which is immediately
clear when it has, for instance, more than one stationary point. The vectors
VT(7o) . . . . . VT(Tj) are not exactly orthogonal and the conjugate gradients
method m a y take more steps than n. Press et al. (1986) argue that there are
RAY BENDING REVISITED 265
O
¢q
O
03
N~
o
ex)
o
t'--
O
o0
17
o
O~
10 20 30 40 50 60 70 80 90
X
FIG. 2. Successiveline minimizations of the conjugate gradients method from an initial straight
guess path consisting of 16 equidistant points ((0,0),..., (100, 100)). The velocity field is given by
c(x, z) = 1.0 + 0.01z. After 3.8 sec, 17 iterations, 235 travel-time function evaluations, and using a
tolerance equal to the machine precision, the travel time is 96.2970 (exact value: 96.2424).
266 T. J. M O S E R , G. N O L E T , A N D R. S N I E D E R
1.o ~IIIHIIIL/LIIIIqlIlIIIlIIJNIIII]IIIIIIILlIHILLIIIIq]II]IIIILIlI[ILII
2.o
,,t-
0
O4
i[iml-~l
0
03
,,~ ~llJtlll
N o h~[TII
0
£0
(30
0
O3
10 20 30 40 50 60 70 80 90
X
FIG. 3. Bending with conjugate gradients from a n initial guess path of 16 points in a complicated
medium, with velocities smoothly v a r y i n g from 1.0 to 2.0. After 1.9 sec, nine iterations, 116
travel-time function evaluations, and using a tolerance equal to the machine precision, the travel
time is 85.7733 (no analytic solution known).
O
.r-
O
¢Xl
O
,q-
N~
o
co
o
oo
o
o~
10 20 30 40 50 60 70 80 90
X
FIG. 4. Bending with conjugate gradients from an unrealistic initial polygonal guess path with
two loops, consisting of 12 points. The velocity field is given by c(x, z) = 1.0 + 0.01z. After 4.3 sec,
27 iterations, 328 travel-time function evaluations, and using a tolerance of 0.0001, the travel time
is 96.6638 (exact value: 96.2424). Only every third iteration is shown.
however, provide good initial guesses and guarantee that they are close to the
global minimum.
INTERPOLATION WITH B E T A - S P L I N E S
There are two important reasons for interpolation between the points of the
polygonal paths.
First, consider the behavior of trapezoidal travel time minimization with
polygonal paths in concave slowness regions. The slowness distribution, a(x, z)
= 1/c(x, z), is concave in a region D C ~2 when for all (xl, zl), (x2, x2) e D
a n d 0 _< X___ 1
( z - 50) 2
c ( x , z) - 2500 + 1, (14)
1 .o IHIIIIILIIIIqlllllllllllllllllllllLlllllLLlllqllllllllllllllLLhll~l~
2. o
O
v-
O
OJ
O
CO
O
£O
O
CO
O
Ob
10 20 30 40 50 60 70 80 90
X
tion. A good alternative is then to use fewer points and interpolate between
them. This reflects the fact that not all the points that are involved in the
numerical integration for computing the travel times need to be perturbed
independently from each other. In other words, the number of points to be
perturbed can be smaller in magnitude than the number of points to be
integrated over.
Beta-Splines
The Beta-spline curve representation (Barsky, 1988; see also Appendix A) is a
modification of the cubic B-spline curve (Newman and Sproull, 1981) with
several properties that are in favor of the ray bending procedure, described in
the previous section.
Its parametric representation allows the ray path or its approximations to be
multivalued in each coordinate direction so that there is no principal restriction
to the curve: it can make loops or oscillations if necessary. Its convex hull
property on the other hand ensures complete control on the behavior of the
curve, because each segment of the Beta-spline curve lies in the convex hull of
its four support points. Other curve interpolations or representations that do
not obey this property, like the minimal curvature spline (Reinsch, 1967) or the
trigonometric polynomial, can show undesired wanderings or oscillations (Gibbs'
phenomenon, see Courant and Hilbert, 1967). The Beta-spline curve does not
pass through its support points generally, but it can be forced to do so by
making three successive support points coincident, for instance the end points of
the ray or points on interfaces. Another property, the local control property,
makes the recomputation of one Beta-spline segment possible after the pertur-
bation of one support point without recomputing the rest of the curve. This
property is of great advantage in the calculation of the travel time and its
gradient, because they can be evaluated with the same efficiency as in the case
of polygonal paths. The behavior of the Beta-spline curve is further controlled
by two shape parameters /~1 and ~2 which describe the continuity of the first
and second derivatives at the joints of the segments. /~1 = 1 and /~2 = 0 is the
most natural case, when both derivatives are continuous. The Beta-splines are
equal to cubic B-splines in this setting. For/~1 =/~2 = 0, the Beta-spline curve
consists of straight line segments between the support points; therefore, both
cubic B-splines and polygonal paths are special cases of the Beta-spline repre-
sentation of the seismic ray.
Like the points specifying polygonal paths (3), the k + 1 support points V~ of
the Beta-spline curve are collected in an n-vector % where n is again 2(k + 1)
in two dimensions:
• : ..... (15)
270 T. J. M O S E R , G. N O L E T , AND R. S N I E D E R
k m 1( 1 1
) [[ -
i=l j=l Cij Ci,j- 1
where Qi(u), (i = 1, ..:~, k, 0 < u < 1) is a point on the ith curve segment, m is
the number of points Qi(uj) to be integrated over on that segment, and II " II is
the Euclidian norm. cij is the seismic velocity at Qi(uj). An appropriate choice
for uj is uj = j / m.
It is also possible to invoke higher-order schemes for integration, like Simp-
son's rule. The accuracy of the integration (16), considered as the inverse of the
error, is O(m2n 2) and can be increased as much as desirable by increasing m,
without changing the number of support points. The price for the more accurate
integration is O(mk) or O(mn) operations for one travel-time calculation.
The gradient of the travel-time function can be calculated numerically as
before by moving each successive support point V~ in each coordinate direction
over a fixed increment and recomputing the travel time only along the four
changed segments. The convergence of the bending is however strongly depend-
ent on the definition of the increment. An alternative is the formal differentia-
tion of the travel time along a Beta-spline curve with respect to one support
point (see Appendix B). Such a differentiation is more stable, because it can be
expressed as an integral along the four segments over quantities that are
known analytically. The only remaining differentiation is the calculation of the
gradient of the velocity field, which is singular only at discontinuities. In the
next section, it will be shown that this singularity causes no problems.
Table 1 shows the travel times in the velocity field c(x, z) = 1.0 + 0.01z
along a Beta-spline with minimal travel time as found with the conjugate
gradients bending, where the gradient is computed with numerical differentia-
tion with a fixed increment ~x = 5z along the ray and with the formal differen-
tiation, described above and in Appendix B. In all cases, the initial guess path
consists of 11 equidistant points from (0, 0) to (100, 100) (k = 10) and there are
10 integration points on each segment (m = 10). The computation time per
iteration is roughly the same for all results, namely about 1.2 sec. This example
shows that the numerical differentiation is stable for a range of increments
TABLE 1
ACCURACY OF BENDING WITH DIFFERENT
METHODS FOR GRADIENT CALCULATION
TABLE2
EFFICIENCY AND ACCURACY OF BENDING
Polygonal p a t h s O( n 3) O( n 2)
Beta-splines O(mn 3) O ( m 2 n 2)
TABLE 3
PRAC~CAL COMPARISON
Velocity field: c(x,z)= 1.0 + 0.01z; initial guess: k + I e q u i d i s t a n t points from (0,0) to
(100, 100).
272 T. J. MOSER, G. NOLET, AND R. SNIEDER
t h e b e n d i n g m e t h o d of U m a n d T h u r b e r (1987). I n b o t h cases, no r e f i n i n g as
described b y U m a n d T h u r b e r h a s b e e n applied. T h e second row of T a b l e 3
shows t h a t t h e m e t h o d of U m a n d T h u r b e r n e e d s e x c e s s i v e l y m a n y i t e r a t i o n s to
r e a c h only a poor r e s u l t . T h e t h i r d c a l c u l a t i o n , w i t h k = 8 a n d m = 8, shows a n
e n o r m o u s g a i n in efficiency c o m p a r e d to t h e first calculation, w i t h p o l y g o n a l
p a t h s of 65 points, w h i l e p r e s e r v i n g t h e precision. T h e f o u r t h calculation, w i t h
k = 32 a n d m = 8, is t h e o t h e r w a y around: w i t h t h e s a m e c o m p u t a t i o n t i m e as
in t h e first c a l c u l a t i o n , one o b t a i n s a m u c h h i g h e r a c c u r a c y . A f t e r s o m e
e x p e r i e n c e , it a p p e a r s t h a t , in t h i s e x a m p l e , k = 4 a n d m = 10 is t h e m o s t
efficient choice to get a n a c c e p t a b l e e r r o r of I p a r t in 104.
F i g u r e 6 s h o w s t h e c o n j u g a t e g r a d i e n t s b e n d i n g of B e t a - s p l i n e s in t h e concave
slowness field of F i g u r e 5. T h e r e is no " b r i d g i n g " effect like w i t h t h e b e n d i n g of
p o l y g o n a l p a t h s , t h a n k s to t h e i n t e r p o l a t i o n b e t w e e n t h e s u p p o r t points, al-
t h o u g h a m o r e a c c u r a t e i n t e g r a t i o n still r e s u l t s in a l a r g e r t r a v e l t i m e . Also,
t h e m i n i m a l t r a v e l t i m e p a t h is m u c h s m o o t h e r w i t h t h e s a m e n u m b e r of
p a r a m e t e r s , t h a n k s to t h e B e t a - s p l i n e r e p r e s e n t a t i o n . F i g u r e 7 shows t h e
solution of t h e b e n d i n g of a B e t a - s p l i n e in t h e velocity field of F i g u r e 3.
DISCONTINUITIES
T h e o c c u r r e n c e of d i s c o n t i n u i t i e s in t h e velocity field is a p r o b l e m w i t h
classical b e n d i n g m e t h o d s ( T h u r b e r a n d E l l s w o r t h , 1980; U m a n d T h u r b e r ,
1,o 2.o
O
T-
O
¢q
O
03
No
O
£O
O
CO
O
Ob
10 20 30 40 50 60 70 80 90
X
1.o ~IllilIIIIIIIIII~IIIIIFmJlIII]IIIIIIHI@2. 0
o
('NI
o
(D
0
I:D
10 20 30 40 50 60 70 80 90
X
x ; = x i, z 'i = I ( x i ) (18)
274 T. J. M O S E R , G. N O L E T , AND R. S N I E D E R
o
,r--
c=1.0
o
OJ
0
03
0
',<1"
No
,0
(..0
o
cO
o~°~ c=2.0
10 20 30 40 50 60 70 80 90
X
or
HIGHER-ORDER TERMS
Although the conjugate gradients bending has no problems with initial guess
paths t h a t are far away from a minimal travel time path (see Fig. 4), informa-
tion from a higher-order expansion of the travel time functional may provide a
faster convergence. Consider for instance the calculations of Figure 2, where a
relatively large number of iterations was necessary to find the ray path in a
rather simple velocity field. It was argued earlier (see Table 3) t h a t such a slow
convergence is cause by a ray path with too m a n y points and the neglect of the
velocity variations between the points. Yet, it can be expected t h a t taking into
account the second derivatives of the travel-time function enhances the conver-
gence, even when Beta-splines are used. This follows from the observation t h a t
the m i n i m u m of a quadratic function (9) can be found at once by inversion of the
Hessian, the matrix of second derivatives of the travel time. A non-quadratic
function can be minimized in an iterative procedure by calculating or estimat-
ing the inverse Hessian and using it for finding a better approximation of the
RAY BENDING REVISITED 275
o c=1.0
o,,I
o
03
c=2.0
CD
b,-
C) c=3.0
10 20 30 40 50 60 70 80 90
X
TABLE 4
COMPARISON OF FIRST- AND SECOND-
ORDER SEARCH
Iteration 1st Order Search 2nd Order Search
0 98.0287 98.0287
1 96.5979 96.2614
2 96.2576 96.2523
3 96.2514 96.2510
4 96.2514 96.2510
5 96.2514 96.2510
Exact value 96.2424 96.2424
04
No No
It')
25 50 75 25 50 75
X x
FIG. 10. B e n d i n g of B e t a - s p l i n e c u r v e s (/~ = 1, ~2 = 0, k = 5, m = 10) w i t h first-order s e a r c h
direction (left) a n d second-order s e a r c h d i r e c t i o n (right). T h e velocity field is t h e s a m e as i n F i g u r e
2, c(x, z) = 1.0 + 0.01z. T h e t r a v e l t i m e s of t h e s u c c e s s i v e i t e r a t i o n s a r e t a b u l a t e d i n T a b l e 4.
RAY B E N D I N G R E V I S I T E D 277
The curves t h a t are used are the cubic B-spline variant of Beta-splines
(/~1 = 1, ~u = 0). Their support points or nodes are specified by spherical coordi-
nates r and 0. To investigate the precision, rays are traced in a spherically
symmetric E a r t h (the PEMC model of Dziewonski et al., 1975), for which the
travel times are computed with a precision of 0.01 sec. The initial guess rays
are obtained by randomly perturbing the exact ray, both in the radial and in the
latitudinal (0) direction. The perturbations Ar and /x0 correlate from ray node
to ray node according to the following formula:
O -
~r
OJ
t~?'
O
O
. . . . i . . . . i
0 kO
~ 0
C3"r-
1.0
, , , , I , , , , L , , , i , I , , , ~ I
FIG. 12. Computation time (left) and travel-time error (right) in the final solutions of the ray
bending for different deviations of the initial guess from the exact ray. Open circles refer to the case
of u n p e r t u r b e d points at interfaces, black circles represent the calculations with perturbations on
all points (see text).
RAY BENDING REVISITED 279
1-(3
c5
CD
L_
LO
0 0 C 0
o oo o o
o o
i i I i in, , I , , , I i , , I , , t
50 1 O0 150 200
nodes
FIG. 13. Travel-time error of the final solutions of the ray bending as a function of the number of
nodes along the path.
0
CM
dJ
c~
0 OD 0
0
o
0
,t-
o
o~
50 1 O0 150 200
nodes
FIG. 14. The computation time of the ray bending as a function of the number of nodes along the
path.
Plotting the computed rays and the exact rays shows that the largest errors
are near the turning point. The maximum ray location error for a bad initial
ray ( P E R T = 300 km, p = 8 sec/degree) was about 20 km.
CONCLUSIONS
The two most important points presented in this paper are the use of the
conjugate gradients method for ray bending and the representation of the ray
paths by Beta-splines. Minimizing the travel time along a curve is to be
preferred to fitting the ray equation, because it is more stable and can not
diverge. The use of information about the derivative of the travel time along a
280 T. J. MOSER, G. NOLET, AND R. SNIEDER
ACKNOWLEDGMENTS
This research is financially supported by the Netherlands Technology Foundation (STW). We
would like to thank S. van der Lee and F. Neele for critical readings of the manuscript.
REFERENCES
Aki, K. and P. Richards (1990). Quantitative Seismology: Theory and Methods, W. H. Freeman, San
Francisco.
Barsky, B. A. (1988). Computer Graphics and Geometric Modeling Using Beta-Splines, Springer;
New York.
Chander, R. (1975). On tracing seismic rays with specified end points, J. Geophys. 41, 173-177.
Conte, S. D. and C. de Boor (1980). Elementary Numerical Analysis, McGraw-Hilh New York.
Courant, R. and D. Hilbert (1967). Methoden der Mathematischen Physik, Dritte Auflage, Springer.
Dziewonski, A. M., A. L. Hales, and E. R. Lapwood (1975). Parametrically simple earth models
consistent with geophysical data, Physics Earth Planet. Interiors 10, 12-48.
Fletcher, R. and C. M. Reeves (1965). Function minimization by conjugate gradients, The Computer
Journal 7, 149-154.
Julian, B. R. and D. Gubbins (1977). Three-dimensional seismic ray tracing, J. Geophys. 48,
95-114.
Moser, T. J. (1991). Shortest path calculation of seismic rays, Geophysics 56, 59-67.
Nelder, J. A. and R. Mead (1965). A simplex method for function minimization, The Computer
Journal 7, 308-313.
Newman, W. M. and R. F. Sproull (1981). Principles of Interactive Computer Graphics, McGraw-Hill,
New York.
Nolet, G. (1987). Seismic wave propagation and seismic tomography, in Seismic Tomography with
Applications in Global Seismology and Exploration Geophysics, G. Nolet, (Editor), Reidel,
Dordrecht, 1-23.
Pereyra, V., W. H. K. Lee, and H. B. Keller (1980). Solving two-point seismic ray tracing problems
in a heterogeneous medium. Part 1. A general adaptive finite difference method, Bull. Seism.
Soc. Am. 70, 79-99.
Press, H. P., B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling (1986). Numerical Recipes, The
Art of Scientific Computing, Cambridge University Press.
Prothero, W. A., W. J. Taylor, and J. A. Eickemeyer (1988). A fast, two-point, three-dimensional
ray tracing algorithm using a single step search method, Bull. Seism. Soc. Am. 78, 1190-1198.
RAY BENDING REVISITED 281
Reinsch, C. H. (1967). Smoothing by spline functions, Numer. Math. 19, 177-183.
Stoer, J. and R. Bulirsch (1980). Introduction to Numerical Analysis. Springer, New York.
Thurber, C. H. and W. L. Ellsworth (1980). Rapid solution of ray tracing problems in heterogeneous
media, Bull. Seism. Soc. Am. 79, 1137-1148.
Urn, J. and C. H. Thurber (1987). A fast algorithm for two-point seismic ray tracing, Bull. Seism.
Soc. Am. 77, 972-986.
Wesson, R. L. (1971). Travel-time inversion for laterally inhomogeneous crustal velocity models,
Bull. Seism. Soc. Am. 61, 729-746.
Wielandt, E. (1987). On the validity of the ray approximation for interpreting delay times, in
Seismic Tomography with Applications in Global Seismology and Exploration Geophysics, G.
Nolet (Editor), Reidel. Dovdrecht.
APPENDIX A: BETA-SPLINES
This appendix summarizes the theory of Beta-splines; more details can be
found in Barsky (1988). A Beta-spline curve is a curve consisting of segments
that are joined together continuously or with a continuous derivative and that
is determined by two shape parameters. A point on a Beta-spline curve segment
~ ( u ) can be regarded as a weighted average of four support points Vi_2, Vi-1,
Vi, and Vi+l:
1
i(U) = ~ br(~l,[~2, u)gi+r, for0< u_< 1. (A1)
r= - 2
The four weighting factors br(~l, ~2, u) are cubic polynomials in u with coeffi-
cients determined by ~1 and ~2:
3
br(~l,~l,U)-= E Cgr(~l,~2) ug, for0_<u=< landr= - 2 , . . . . ,1 (A2)
g=0
These coefficients are chosen so that the joint between the ith and (h + 1)st
curve segments satisfies continuity conditions:
Q i + I ( 0 ) ~- Q i ( 1 ) , (A3)
(0) = (1),
d2Qi+l 2 d2Qi d~
2 (o) = -jj(1) +
From these conditions, /31 and ~2 come out as shape parameters because they
control the curve in a global manner when t h e support points are fixed. The
parameter /31 measures the discontinuity of dQ/du at a joint: ~1 = 1 for C 1
curves; the parameter ~2 determines the tension of the curve: for positive/32 the
curve is attracted towards its support points, for negative /~2 it is pushed away.
~1 = 1 and /~2 = 0 indicates continuity of first and second derivatives so pro-
duces the smoothest curves. The coefficient cgr(/~l, ~2) obtained by imposing the
282 T. J . M O S E R , G. N O L E T , A N D R. S N I E D E R
6t~13 6t~1(~12- 1) 6~
m
6/~13 - 2 ~ 1 ~ - 2~12 - ~2
C2, - 2 -- c2_ 1 = 3
(A4)
2/~1e + Be
C2, 0 = 3 c2,1 = 0,
2
C3,0
where
The following properties and advantages with regard to other curve representa-
tions can be summed up.
Parametric Representation. This allows a curve to be multivalued in each
coordinate direction without causing ambiguity. In practice, this means that
loops are possible.
Convex Hull Property. The weight functions br(t31, ~2, u) satisfy:
1
E br(B~,~2,u) = 1, for all u. (A5)
r = --2
The im~ication of this fact is that Qi(u) lies in the convex hull of the support
points Vi_ 2, V i_ 1, Vi and Vi+ 1. This means that unexpected and undesired
oscillations or wanderings are impossible. One can easily control the curve by
its support points and its shape p a r a m e t e r s . T h i s a l s o means that interpolation
can be forced by simply s e t t ~ g Vi-2 = V / = Vi+l. The ~ n g e n t s a r e then
specified by V~_ 1 - Vi_ e and V/+ 2 - Vi+ 1. The endpoints Vo and Vn can be
interpolated automatically by projecting indices - 1 , - 2 and n + 1 on 0,
respectively n.
Local Control. Shifting one support point Vi causes only changes to the curve
segments Qi_l(u), Qi(u), Qi+l(u) and Qi+2(u). This provides an e a s y way to
recompute the whole curve if one point is perturbed. Therefore, Ql(u) can be
calculated very efficiently, namely in O(1) time, regardless the number of
points.
Application of Tension to the Curve. By varying ~2 one can attract or repel the
curve from the support points, each obeying the convex hull property (at least
for not too negative ~e). The original polygonal path defining the Beta-spline
curve is found back for B1 = ~2 = 0. The concept of shape parameters can be
extended to continuously varying shape parameters along the curve.
RAY B E N D I N G REVISITED 283
OT _ 0_. / R ds
Oy i og i dS T
0 /sR i[ Q'( u) I[ du
O~r~ e(Q(u))
f~ o llO'(u)lL}du
/( 1 oll O'(,,)t[ o 1 du. (B1)
= c(O(u)) ~'~, + lr~'(u)l] o'~, 4O(u))
The prime ' denotes the derivative with respect to u. The first term of (B1)
accounts for the extension of the ray path, the second term for the change in
0
0.1
-N
0
¢.D
, 1 J , [ , I , f J , i , q ~ I
10 20 30 40 50 60 70 80 90
X
FIG. 15. Beta-spline curves with ~1 = 1, ~2 = 0 (left) and B1 = 132 = 0 (right). The end points are
interpolated automatically.
284 T. J. M O S E R , G. N O L E T , AND R. S N I E D E R
velocity along the path. The differentiation of the first term is carried out as
follows:
oq'j( u) P
ovi b~_j(u)
for j = i- 1to i+2and
OQ'j(,) - o
~ - v ~(u)) 0~(u)
OV i c ( Q ( u ) ) OV~ '
OQ~(u)
o~i - b~ ~(u)
forj=i- lto i+2and
o~(u) - o
aT
-,/o,(
j=i-1
1
c(~(u)) iI~;(u)11 b~-~(")
+,, ,, )( ) (B2)
The usual integration by parts of the first term of (B2) is omitted here, in order
to avoid second derivatives of the ray path.
RAY BENDING REVISITED 285
APPENDIX C: HIGHER-ORDER TERMS IN THE TRAVEL-TIME EXPANSION
The purpose of this appendix is to derive an expression for a search direction,
using a second-order expansion in the travel time along a curve with respect to
perturbations on it. The travel time along a curve 3, parametrized by the arc
length s, in a slowness field a(F) = 1/c(~') is
T= f a(~)ds. (C1)
Let an initial guess path joining the source and the receiver be given by ro(So).
The source is located at ro(0), while the length of the path is S o. Let }(So) be a
perturbation perpendicular on ~(So), such that
(~, r o ) = 0 (C2)
and
Os - • 1 ( ( ~ ~) ~)2)
OSo : 1 + (ro,~) + ~ , -()0, , (C4)
o( o + g)= + (c5)
where : stands for the dyadic product. Inserting this into (C1) and (C4) gives
+ so, (C7b)
(C7c)
286 W. J. MOSER, G. NOLET, AND R. SNIEDER
Now perturb ~ with an extra perturbation ~(, which is an order of magnitude
smaller. The travel time is stationary for a finite curve change ~(o) when it does
not change to first order by the extra small perturbation 5}(o)- Applying
integration by parts using~ (C3), one can write the perturbations in 7'1 and T 2
due to the perturbation 6~ as
(c91
This is a second-order differential equation that needs to be solved for ~ with
the boundary conditions (C3). The right-hand side of this expression is the
deviation from the ray equation for the reference curve ~o(So).
Constraining the perturbation to be perpendicular to the reference curve
eliminates one degree of freedom and makes the computation more efficient
without loss of generality. In order to take full advantage of this, it is conve-
nient to transform (C9) to ray coordinates. In order to do so, define two unit
vectors 01 and 02 such that (~o, ql' q2) form an orthonormal basis. It is assumed
here that the unit vectors do not rotate around the reference curve, that is
(~o, ~ o ) = 0 , (C14)
RAY BENDING REVISITED 287
where 4 denotes either ql or 42. The projection of ql on the basis vectors gives
~1 = - ( r o , ql)ro • (C16)
/d3Fo • ..
ql
~ : - 41 ro - (Fo, 41~ro
~:; • (C17)
dso3'
b~±--~- (u',r~)~
o r o = (~
u, ql )0 1 + (7, q2 )4 2. (C18)
- ( ql q142 : ~7 V a -4- q2 q2 q2 : V V a ) q2
d
(°-dqi ] '[- 02 ~ qi4j: ~7~7 __ qj
dso ~ dso } j=l 0
-[-(~] ~ (qi4j -[- 4j4i): (~70")(O'~0 - ~7~)qj : (4i, 6r~0 _ ~70) ' (C22)
288 T. J. M O S E R , G. N O L E T , A N D R. S N I E D E R
where
..
Fi(s) : (c26)
O-
DEPARTMENT OF THEORETICAL GEOPHYSICS
PO Box 80.021
BUDAPESTLAAN 4 , 3 5 T A UTRECHT, THE NETHERLANDS