Light Scattering Group
Computational Procedures
Computer programmes have been written to simulate light scattering from homogeneous spheres of real refractive index. These programmes allow the computation of four basic representations of scattering :
- Mie amplitude function
.gif)
- Gegenbauer amplitude spectrum
- Mie irradiance function

- Gegenbauer irradiance spectrum
for inner and outer size parameters in the range
and
.
Such programmes require the accurate generation of Riccati-Bessel functions
,
and
,
for orders
to
,
Gegenbauer polynomials
for
to
and the decomposition factor
for
and
.
Bessel Functions
The algorithm used to obtain the two seed values
and
is based on Meissels asymptotic approximation of cylindrical Bessel functions
for orders greater than the argument [1]. The approximation becomes increasingly
accurate for
.
Meissels formula for half integer order, where
,
is given by
, |
3.0 |
![]() |
3.1 |
and
,
with the constraint
.
To minimise any rounding errors in computing the Gamma function an alternative
description was found for
,
a simple analysis will show that
| 3.2 |
and has a form that lends itself more easily to machine computation.
Gegenbauer Functions
An accurate and fast computational scheme exists for Gegenbauer functions since they are stable under forward recursion. The relationship required for forward recurrence is given by [2]
| 3.3 |
Seed values of forward recursion are calculated using
and
.
We judge the accuracy of Gegenbauer recurrence by comparing values of
when
with
those calculated directly using the equality
| 3.4 |
An alternative form of this equation is
| 3.4 |
which is preferred as it is less susceptible to rounding errors. Values computed
using Eq. (3.4) are exact and allows forward recurrence to be checked for
.
Decomposition Factors
We are principally concerned with first degree Gegenbauer spectra
,
so only the decomposition factors
will be discussed here for
.
Two basic features of the set of decomposition factors are the large number
of such factors and the number of factorials which need to be computed in the
evaluation of
| 3.5 |
where
,
,
and
.
Clearly a strategy is needed which reduces the overall number of mathematical
operations that are required.
This is possible by collecting decomposition factors of common
and relating the nearest diagonal and anti-diagonal neighbours by
| 3.6a |
and
| 3.6b |
Other useful relationships are:
| 3.7a |
| 3.7b |
In Eqs. (3.6) and (3.7);
,
,
and
are those
of
.
Eqs. (3.16) and Eqs. (3.17) are the basis of a recurrence scheme for computing
all the decomposition factors. The starting point for recurrence of a particular
value of
may
be
| 3.8a |
| 3.8b |
![]() |
3.8c |
| 3.8d |
, |
3.8e |
whichever is most convenient.
The accuracy of individual decomposition factors may be determined by comparing
the factors obtained by recurrence with those given by Eqs. (3.8). A second
measure gives the overall accuracy of factors having particular values of
and
by using
a sum rule
| 3.9 |
which is shown for
but has been derived for all values of
.
References
- Watson, G. N. (1944). Meissels first extension of Carlini's formula. A treatise on the Theory of Bessel Functions. Cambridge, University Press: 226-227.
- Morse, P. M. and H. Feshbach (1953). Boundary conditions and Eigenfunctions. Methods of Theoretical Physics. L. I. Schiff. New York, McGraw-Hill. 1: 781-784.
,

,