Main Page | Alphabetical List | Class List | File List | Class Members | File Members

Legendre.h

Go to the documentation of this file.
00001 #ifndef LEGENDRE_H
00002 #define LEGENDRE_H
00003 
00004 
00005 // ----------------------------------------------------------------------
00006 //
00007 // Bridge object between C++ code and the GSL Legendre polynomials
00008 //
00009 // ----------------------------------------------------------------------
00010 
00011 #ifndef ZMENVIRONMENT_H
00012   #include "ZMutility/ZMenvironment.h"
00013 #endif
00014 #include <utility>
00015 #include <vector>
00016 
00017 ZM_BEGIN_NAMESPACE( zmsf )      /*  namespace zmsf  {  */
00018 
00019 typedef std::vector<double> Dvector;
00020 typedef std::pair<double,double> Dpair;
00021 
00026 
00027 struct Legendre {
00028 
00030   static double P1( const double x );   // Evaluate the P1 function
00031 
00033   static Dpair P1Err( const double x ); 
00034 
00036   static double P2( const double x );   // Evaluate the P2 function
00037 
00039   static Dpair P2Err( const double x ); 
00040 
00042   static double P3( const double x );   // Evaluate the P3 function
00043 
00045   static Dpair P3Err( const double x ); 
00046 
00048   static double Pl( const int l, const double x );
00049 
00051   static Dpair PlErr( const int l, const double x ); 
00052 
00054   static Dvector PlArray( const int lmax, const double x );
00055 
00057   static Dvector PlErrArray( const int lmax, const double x );
00058 
00060   static double Q0( const double x );   // Evaluate the Q0 function
00061 
00063   static Dpair Q0Err( const double x ); 
00064 
00066   static double Q1( const double x );   // Evaluate the Q1 function
00067 
00069   static Dpair Q1Err( const double x ); 
00070 
00072   static double Ql( const int l, const double x );
00073 
00075   static Dpair QlErr( const int l, const double x );
00076 
00078   static double Plm( const int l, const int m, const double x );
00079 
00081   static Dpair PlmErr( const int l, const int m, const double x ); 
00082 
00084   static Dvector PlmArray( const int lmax, const int m, const double x );
00085 
00087   static double SphericalPlm( const int l, const int m, const double x );
00088 
00090   static Dpair SphericalPlmErr( const int l, const int m, const double x ); 
00091 
00093   static Dvector SphericalPlmArray( const int lmax, const int m, const double x );
00094 
00096 
00100   static Dvector SphericalPlmErrArray( const int lmax, const int m, const double x );
00101 
00103   static double RegularSphericalConical( const double lambda, double x );
00104 
00106   static Dpair RegularSphericalConicalErr( const double lambda, const double x );
00107 
00109   static double IrregularSphericalConical( const double lambda, const double x );
00110 
00112   static Dpair IrregularSphericalConicalErr( const double lambda, const double x );
00113 
00115   static double ConicalP0( const double lambda, const double x );
00116 
00118   static Dpair ConicalP0Err( const double lambda, const double x );
00119 
00121   static double ConicalP1( const double lambda, const double x );
00122 
00124   static Dpair ConicalP1Err( const double lambda, const double x );
00125 
00127   static double RegularSphericalConicalPl( const int l, const double lambda,
00128                                     const double x );
00129 
00131   static Dpair RegularSphericalConicalPlErr( const int l, const double lambda,
00132                                       const double x );
00133 
00135   static double RegularCylindricalConicalPl( const int l, const double lambda,
00136                                       const double x );
00137 
00139   static Dpair RegularCylindricalConicalPlErr( const int l, const double lambda,
00140                                         const double x );
00141 
00143   static double H3d0( const double lambda, const double eta );
00144 
00146   static Dpair H3d0Err( const double lambda, const double eta );
00147 
00149   static double H3d1( const double lambda, const double eta );
00150 
00152   static Dpair H3d1Err( const double lambda, const double eta );
00153 
00155   static double H3dl( const int l, const double lambda, const double eta );
00156 
00158   static Dpair H3dlErr( const int l, const double lambda, const double eta );
00159 
00161   static Dvector H3dlArray( const int lmax, const double lambda, const double eta );
00162 
00164   static Dvector H3dlErrArray( const int lmax, const double lambda, const double eta );
00165 
00166 };  // Legendre
00167 
00168 ZM_END_NAMESPACE( zmsf )        /*  }  // namespace zmsf  */
00169 
00170 #endif  /* LEGENDRE_H */

Generated on Wed Feb 25 15:03:16 2004 for SpecialFunctions by doxygen 1.3.4