Important notes on the spheroidal package: -- By downloading or using this package, you agree to abide by the terms of its license; please see license.txt for details. -- This package is based on the original Spheroidal package by Falloon (see P. E. Falloon, P. C. Abbott, and J. B. Wang, J. Phys. A36 (2003) 5477). The code has been heavily optimized, particularly for common cases, and various bugs have been fixed. -- Slightly different versions are provided for Mathematica versions 4, 5, and 6. In version 4, the package defines its own Legendre functions to work around bugs in Mathematica's behavior along branch cuts; they are returned in series expansions. Versions for 5 and 6 are mostly similar, with small changes to account for different behavior of Legendre function simplification. Versions 5 and 6 also compute spherical Bessel functions more efficiently than their predecessors, making it more efficient to compute these functions directly rather than by using recursion relations. The code for versions 5 and 6 also adapts to changes in the implementation of machine precision from version 4. -- Mathematica version 6 has support for spheroidal functions. It appears to also be based on the Falloon package. To use the improved package here, the built-in functions must be disabled before loading the package, as follows (this can be done for each session individually or included in init.m): Unprotect["Spheroidal*"] ClearAll["Spheroidal*"] The Spheroidal6.m package file automatically issues these commands when it is loaded. -- Depending on the task, this package should be 2-100 times faster than either the original package or the Mathematica version 6 code. -- The ordering of arguments follows the original Falloon package; the last two arguments are reversed in the Mathematica implementation. Except for this change, the definitions and conventions for functions here should correspond to those in Mathematica 6. -- Series expansions around c=0 (the spherical limit) are now implemented for all functions, and several bugs have been fixed in the Falloon/Mathematica implementations of the series for angular functions. -- The package implements the function SpheroidalS3, the analog of the spherical Hankel function SphericalHankelH1. In analogy to the Bessel function case, SpheroidalS3 is the same as SpheroidalS1 + I SpheroidalS2, but it is computed in a way that avoids cancellation of large numbers between these two terms in the case of evanescent waves.