s22aa returns a sequence of values for either the unnormalized or normalized Legendre functions of the first kind or for real of a given order and degree .
Syntax
C# |
---|
public static void s22aa( int mode, double x, int m, int nl, double[] p, out int ifail ) |
Visual Basic |
---|
Public Shared Sub s22aa ( _ mode As Integer, _ x As Double, _ m As Integer, _ nl As Integer, _ p As Double(), _ <OutAttribute> ByRef ifail As Integer _ ) |
Visual C++ |
---|
public: static void s22aa( int mode, double x, int m, int nl, array<double>^ p, [OutAttribute] int% ifail ) |
F# |
---|
static member s22aa : mode : int * x : float * m : int * nl : int * p : float[] * ifail : int byref -> unit |
Parameters
- mode
- Type: System..::..Int32On entry: indicates whether the sequence of function values is to be returned unnormalized or normalized.
- The sequence of function values is returned unnormalized.
- The sequence of function values is returned normalized.
Constraint: or .
- x
- Type: System..::..DoubleOn entry: the argument of the function.Constraint: .
- m
- Type: System..::..Int32On entry: the order of the function.Constraint: .
- nl
- Type: System..::..Int32On entry: the degree of the last function required in the sequence.Constraints:
- ;
- if , ;
- if , .
- p
- Type: array<System..::..Double>[]()[][]An array of size []On exit: the required sequence of function values as follows:
- if , contains , for ;
- if , contains , for .
- ifail
- Type: System..::..Int32%On exit: unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).
Description
s22aa 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.
s22aa 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 [Parameters]) to zero whenever the required function is not defined for certain values of and (e.g., and ).
References
Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications
Error Indicators and Warnings
Errors or warnings detected by the method:
On entry, , or or , or , or when , or , or when .
Accuracy
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.
Parallelism and Performance
None.
Further Comments
None.
Example
This example reads the values of the arguments , and from a file, calculates the sequence of unnormalized associated Legendre function values , and prints the results.
Example program (C#): s22aae.cs