Spheroidal Wave Functions

Installation Note

To make use of the package SpheroidF.m in Mathematica Ver 3.01, user has to create a folder inside the folder C:/.../Wolfram Research/Mathematica/3.0/AddOns/Applications/  a new folder and name it "ProgrammingInMathematica".  Then, copy the file spheroid.m into this folder.  In UNIX system, simply copy it into the user's account.  To load the package PC, simply key in:

<< ProgrammingInMathematica`SpheroidF`

In UNIX system, simply type ( after copying the file ) :

<< `SpheroidF.m`

After then, the package is ready for use.

Functions

There are altogether 18 functions that can be utilized upon loading the package.  They are :
	1) Prolate Angular Function of the 1st type - (Subscript[((S^((1)))), mn])(c, η)
	2) Prolate Angular Function of the 2nd type - (Subscript[((S^((2)))), mn])(c, η)
	3) Oblate Angular Function of the 1st type - (Subscript[((S^((1)))), mn])(-ic, η)
	4) Oblate Angular Function of the 2nd type - (Subscript[((S^((2)))), mn])(-ic, η)
	5) Prolate Radial Function of the 1st type - (Subscript[((R^((1)))), mn])(c, ξ)
	6) Prolate Radial Function of the 2nd type - (Subscript[((R^((2)))), mn])(c, ξ)
	7) Oblate Radial Function of the 1st type - (Subscript[((R^((1)))), mn])(-ic, iξ)
	8) Oblate Radial Function of the 1st type - (Subscript[((R^((2)))), mn])(-ic, iξ)
In addition, it also include the derivatives of the above functions, i.e., 
	9) Prolate Angular Function of the 1st type - (Subscript[((S^((1)))'), mn])(c, η)
	10) Prolate Angular Function of the 2nd type - (Subscript[((S^((2)))'), mn])(c, η)
	11) Oblate Angular Function of the 1st type - (Subscript[((S^((1)))'), mn])(-ic, η)
	12) Oblate Angular Function of the 2nd type - (Subscript[((S^((2)))'), mn])(-ic, η)
	13) Prolate Radial Function of the 1st type - (Subscript[((R^((1)))'), mn])(c, ξ)
	14) Prolate Radial Function of the 2nd type - (Subscript[((R^((2)))'), mn])(c, ξ)
	15) Oblate Radial Function of the 1st type - (Subscript[((R^((1)))'), mn])(-ic, iξ)
	16) Oblate Radial Function of the 1st type - (Subscript[((R^((2)))'), mn])(-ic, iξ)
The last two functions calculate the eigenvalue and eigenvalues (Subscript[λ, mn])of the characteristics equation :
	((∂ )/∂) α[(1-(α^2))((∂ )/∂) α(Subscript[A, mn])(c, α)] + [ (Subscript[λ, mn])-(c^2) (α^2)-((m^2)/(1 - (α^2)))](Subscript[A, mn])(c, α)=0
		where α=ξ or η  and
		          A=S or R

Example

The Angular Function is called by "SpheroidSF[m,n,c,η,Type->1/2,kind->"prolate"/"oblate"]".  ( REMEMBER TO ENCLOSE THE WORD "prolate" or "oblate" IN INVERTED COMMAS.  OTHERWISE, WRONG SOLUTION WILL RESULT) .  For example, the value of (Subscript[((S^((1)))), 02])(1.0, 0.5) is given by

SpheroidSF[0, 2, 1.0, 0.5, Type -> 1, kind -> "prolate"]

For the corresponding type 2 solution i.e., (Subscript[((S^((2)))), 02])(1.0, 0.5), simply change the type to 2, as shown below:

SpheroidSF[0, 2, 1.0, 0.5, Type -> 2, kind -> "prolate"]

For the oblate case , change the kind to "oblate" without keying in the -ic for the parameter c, e.g. (Subscript[((S^((1)))), 02])(-1.0 i, 0.5)

SpheroidSF[0, 2, 1.0, 0.5, Type -> 1, kind -> "oblate"]

In similar fashion, the value of  (Subscript[((S^((2)))), 02])(-1.0 i, 0.5) is given by :

SpheroidSF[0, 2, 1.0, 0.5, Type -> 2, kind -> "oblate"]

The radial function and derivatives are called in similar style. Some styles is given below:
The value of (Subscript[((R^((1)))), 01])(2.0, 1.077)

SpheroidRF[0, 1, 2.0, 1.077, Type -> 1, kind -> "prolate"]

The value of (Subscript[((R^((2)))), 01])(2.0, 1.077)

SpheroidRF[0, 1, 2.0, 1.077, Type -> 2, kind -> "prolate"]

The value of (Subscript[((R^((1)))), 01])(-i 2.0, i 1.077)

SpheroidRF[0, 1, 2.0, 1.077, Type -> 1, kind -> "oblate"]

The value of (Subscript[((R^((2)))), 01])(-i 2.0, i 1.077)

SpheroidRF[0, 1, 2.0, 1.077, Type -> 2, kind -> "oblate"]

The Derivatives

The derivatives of the angular functions is called using "SpheroidSFPrime[m,n,c,η,Type,kind].  e.g. the values of (Subscript[((S^((1)))'), 01])(1.2, 0.8) is given by :

SpheroidSFPrime[0, 1, 1.2, 0.8, Type -> 1,  kind -> "prolate"]

the values of (Subscript[((S^((2)))'), 01])(1.2, 0.8) is given by :

SpheroidSFPrime[0, 1, 1.2, 0.8, Type -> 2,  kind -> "prolate"]

the values of (Subscript[((S^((1)))'), 01])(-i 1.2, 0.8) is given by :

SpheroidSFPrime[0, 1, 1.2, 0.8, Type -> 1,  kind -> "oblate"]

the values of (Subscript[((S^((2)))'), 01])(-i 1.2, 0.8) is given by :

SpheroidSFPrime[0, 1, 1.2, 0.8, Type -> 2,  kind -> "oblate"]

For the radial function derivatives , the value of (Subscript[((R^((1)))'), 11])(2.0, 1.020):

SpheroidRFPrime[1, 1, 2.0, 1.020, Type -> 1,  kind -> "prolate"]

The value of (Subscript[((R^((2)))'), 11])(2.0, 1.020):

SpheroidRFPrime[1, 1, 2.0, 1.020, Type -> 2,  kind -> "prolate"]

The value of (Subscript[((R^((1)))'), 11])(-i 2.0, i 1.020):

SpheroidRFPrime[1, 1, 2.0, 1.020, Type -> 1,  kind -> "oblate"]

The value of (Subscript[((R^((2)))'), 11])(-i 2.0, i 1.020):

SpheroidRFPrime[1, 1, 2.0, 1.020, Type -> 2,  kind -> "oblate"]

EigenValue

The package also includes two functions that can be called to given the characteristic values.  While one of the function give, just one eignevalue for given m, n , c , the other givens the first n characteristics values  For a single eigenvalue.

EigenV[1, 1, 1.0]

gives the values for (Subscript[λ, 11])(1.0).  On the other hand,

EigenVals[1, 1, 8]

gives the values for (Subscript[λ, 11])(1.0),(Subscript[λ, 12])(1.0),(Subscript[λ, 13])(1.0),(Subscript[λ, 14])(1.0),(Subscript[λ, 15])(1.0),(Subscript[λ, 16])(1.0),(Subscript[λ, 17])(1.0),(Subscript[λ, 18])(1.0), i.e the first 8 characteristics values given m, c.  The format for the two Functions are
	1) EigenV[m,n,c]
	2) EigenVals[m,c,n]

Reliability

The values computed by this package has been verified against all available table in the text "Spheroidal Wave Functions" by Carson Flammer and is found to be accurate and comparable.  The tables that were verified is compiled in the file TableI, TableII, and TableIII.  Pls kindly refer to the file for proof of accuracy.  Thank you.  For any error found, please kindly forward to the student author.  Any comment is welcomed.