Implementation
The equations given in Section 3.2 are entirely appropriate if the direct beam
coincides with one of the quadrature angles. If this is not the case, then the equations
for doubling become more complex. Equations with separate terms for primary and
scattered light are given in Hansen and Travis [24] and
van de Hulst [60].
Every matrix multiplication is an integration (Section 3.1). Quadrature
methods improve the integration accuracy using a fixed number of points judiciously
chosen. Gaussian quadrature gives very good answers, but unfortunately none of the
quadrature points corresponds to normal incidence. Lobatto quadrature
[43] includes normal incidence as a quadrature point, but it also includes a
quadrature point at .
This leads to singularities in the reflection matrix (Equation
(3.31). Those using Lobatto quadrature have found it comparable in accuracy to
Gaussian quadrature [47].
Since quadrature points seldom coincide with angles at which information is
desired, interpolation to points of interest is required. Because the reflection and
transmission operators are functions of
and ,
two-dimensional interpolation
methods must be used. Bicubic spline interpolation [49] works well
for small numbers of quadrature points, but is slow when many quadrature points are
used. Polynomial interpolation [49] also works well for small
numbers of quadrature points, but is useless for large numbers of points. Simple
bilinear interpolation is fast for any number of quadrature points but is considerably
less accurate than spline interpolation. Consequently, splines were used for
one-dimensional interpolation and bilinear interpolation was used when two-dimensional
interpolation was required.
|