| |
*Astron. Astrophys. 318, 680-686 (1997)*
## 5. Numerics and practical considerations
For the actual numerical integration of the differential equation,
we have found the Bulirsch-Stoer method to be both faster and more
exact than other methods such as Runge-Kutta. However, the
conventional method of rational function extrapolation is rather
unstable in this particular case; fortunately, using polynomial
extrapolation solves the problem. Although programming the integration
is rather straightforward in theory, in numerical practice
considerable effort is needed to determine combinations of free
parameters which work for all cases. We have tested the finished
programme intensively and extensively, for example by comparing the
results of calculations for (the value of
plays no special role in the integration of the
differential equation) with those in Refsdal et al. (1967) or
given by the method of elliptical integrals as outlined in Feige
(1992) and have used it in Kayser (1995), Helbig (1996) and Helbig
& Kayser (1996). For a general discussion of various methods of
integrating second-order differential equations, see Press et al.
(1992). Those interested in technical details can read the comments in
our source code and the accompanying user's guide.
Since , in contrast to the other cosmological
parameters, merely inversely scales the angular size distance, our
routine actually calculates the angular size distance in units of
. This *dimensionless* quantity must be
multiplied by (in whatever units are
convenient) in order to obtain the actual distance. Other than
reducing numerical overhead, this allows all distances to be
calculated modulo , which is convenient for
expressing quantities in an -independent manner.
In practice, cancels out of many calculations
anyway.
Apart from auxiliary routines which the user does not have to be
concerned with, our implementation consists of four `FORTRAN77`
subroutines. The first, `INICOS`, calculates *z*
-independent quantities used by the other routines, some of which are
returned to the calling programme. `ANGSIZ` calculates the
angular size distance. Normally, is used as a
*z* -independent cosmological parameter, on an equal footing with
and . If desired, however,
the user can let `INICOS` know that a variable (that is,
*z* -dependent) is to be used; this is
given by the function `VARETA`. We supply an example; the user
can modify this to suit her needs. In particular, many different
dependencies of on *z* can be included, and
a decision made in the calling programme about which one to use. This
feature is also included in our example. `ANGSIZ` returns only
the distance ; if one is interested in the
other distances in the bounce models, our subroutine `BNGSIZ`
returns all of these (though internally calculating only the
independent distances, of course, depending on the dependence of
on *z*).
Due to the fact that not everyone has a Fortran90 compiler at his
disposal, we have coded the routines in `FORTRAN77`. Only
standard `FORTRAN77` features are used, and thus the routines
should be able to be used on all platforms which support
`FORTRAN77`. Since standard `FORTRAN77` is a subset of
Fortran90, the routines can be used without change in Fortran90 as
well.
With the exception of , all distance measures
can be easily transformed into one another. Thus, it suffices to
calculate the angular size distance for a given case.
^{10}
When discussing the distance between two objects other than the
observer, rather than between the observer and one object, in many
cases one of two simplifying assumptions can be made:
In this case, the *proper distance
at the time of emission* between the two
objects is , where is
the angle in radians between the two objects on the sky.
In this case, the *angular size
distance* between the two objects is .
()) refers to the
distance due to () when
setting () equal to
zero. In the first case, where the two objects are practically at the
same redshift, one uses the angular size distance to this redshift to
transform the observed difference in angular position on the sky into
the *proper distance* between the two objects at the time of
emission. This follows directly from the definition of the angular
size distance. Since the distance between the objects is much less
than the distance from the observer to the objects, the differently
defined distances between the objects are for practical purposes
degenerate. A practical example of this case would be the distance
between individual galaxies in a galaxy cluster at large redshift.
Naturally, one should use *one* redshift, say, of the cluster
centre; the individual redshifts will in most cases be overlaid with
the doppler redshift due to the velocity dispersion of the cluster, so
the difference in *cosmological* redshifts is negligible. (Of
course, the *present* distance would be a factor of
larger, due to the expansion of the universe,
were the objects comoving and not, as in a galaxy cluster, bound.) In
the second case, which is typical of gravitational lensing, the angles
on the sky between, for example, source and lens, are small enough to
be neglected, so that the angular size distance between the objects is
determined by the difference in redshift. If neither of these
assumptions can be made, any sort of distance between the two objects
is probably of no practical interest. (Of course, there is the trivial
case where the redshifts are all in which case
one can simply use , and
as normal spherical coordinates.)
© European Southern Observatory (ESO) 1997
Online publication: July 3, 1998
helpdesk.link@springer.de |