s22aac evaluates a sequence of values for either the unnormalized or normalized Legendre (
) or associated Legendre (
) functions of the first kind
or
, where
is real with
, of order
and degree
defined by
respectively;
is the (unassociated) Legendre polynomial of degree
given by
(the
Rodrigues formula). Note that some authors (e.g.,
Abramowitz and Stegun (1972)) include an additional factor of
(the
Condon–Shortley Phase) in the definitions of
and
. They use the notation
in order to distinguish between the two cases.
s22aac is based on a standard recurrence relation described in Section 8.5.3 of
Abramowitz and Stegun (1972). Constraints are placed on the values of
and
in order to avoid the possibility of machine overflow. It also sets the appropriate elements of the array
p (see
Section 5) to zero whenever the required function is not defined for certain values of
and
(e.g.,
and
).
- NE_ALLOC_FAIL
-
Dynamic memory allocation failed.
See
Section 3.1.2 in the Introduction to the
NAG Library CL Interface for further information.
- NE_BAD_PARAM
-
On entry, argument had an illegal value.
- NE_INT
-
On entry, .
Constraint: .
On entry, .
Constraint: .
On entry, .
Constraint: .
On entry, .
Constraint: .
- NE_INT_2
-
On entry, and .
Constraint: .
On entry, .
Constraint: when .
- NE_INTERNAL_ERROR
-
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact
NAG for assistance.
See
Section 7.5 in the Introduction to the
NAG Library CL Interface for further information.
- NE_NO_LICENCE
-
Your licence key may have expired or may not have been installed correctly.
See
Section 8 in the Introduction to the
NAG Library CL Interface for further information.
- NE_REAL
-
On entry, .
Constraint: .
The computed function values should be accurate to within a small multiple of the machine precision except when underflow (or overflow) occurs, in which case the true function values are within a small multiple of the underflow (or overflow) threshold of the machine.
Background information to multithreading can be found in the
Multithreading documentation.
None.