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

HyperGeometric.h

Go to the documentation of this file.
00001 #ifndef HYPERGEOMETRIC_H
00002 #define HYPERGEOMETRIC_H
00003 
00004 
00005 // ----------------------------------------------------------------------
00006 //
00007 // Bridge object between C++ code and the GSL HyperGeometric functions
00008 //
00009 // ----------------------------------------------------------------------
00010 
00011 #ifndef ZMENVIRONMENT_H
00012   #include "ZMutility/ZMenvironment.h"
00013 #endif
00014 #include <utility>
00015 #include <complex>
00016 
00017 ZM_BEGIN_NAMESPACE( zmsf )      /*  namespace zmsf  {  */
00018 
00019 typedef std::pair<double,double> Dpair;
00020 typedef std::complex<double> Dcomplex;
00021 
00026 
00027 struct HyperGeometric {
00028 
00030   static double HyperG0F1( const double c, const double x );
00031 
00033   static Dpair HyperG0F1Err( const double c, const double x ); 
00034 
00036   static double HyperG1F1( const int m, const int n, const double x );
00037 
00039   static Dpair HyperG1F1Err( const int m, const int n, const double x );
00040 
00042   static double HyperG1F1( const double a, const double b, const double x );
00043 
00045   static Dpair HyperG1F1Err( const double a, const double b, const double x );
00046 
00048   static double HyperGU( const int m, const int n, const double x );
00049 
00051   static Dpair HyperGUErr( const int m, const int n, const double x ); 
00052 
00054   static double HyperGU( const double a, const double b, const double x );
00055 
00057   static Dpair HyperGUErr( const double a, const double b, const double x ); 
00058 
00060   static double HyperGauss( const double a, const double b,
00061                      const double c, const double x );
00062 
00064   static Dpair HyperGaussErr( const double a, const double b,
00065                        const double c, const double x ); 
00066 
00068   static double HyperGaussConjugate( const Dcomplex a, const double c,
00069                               const double x );
00070 
00072   static Dpair HyperGaussConjugateErr( const Dcomplex a, const double c,
00073                                 const double x );
00074 
00076   static double NormedHyperGauss( const double a, const double b,
00077                            const double c, const double x );
00078 
00080   static Dpair NormedHyperGaussErr( const double a, const double b,
00081                        const double c, const double x ); 
00082 
00084   static double NormedHyperGaussConjugate( const Dcomplex a, const double c,
00085                                    const double x );
00086 
00088   static Dpair NormedHyperGaussConjugateErr( const Dcomplex a, const double c,
00089                                       const double x );
00090 
00092   static double HyperG2F0( const double a, const double b, const double x );
00093 
00095   static Dpair HyperG2F0Err( const double a, const double b, const double x ); 
00096 
00097 //---------------------------------------------------
00098 
00099 };  // HyperGeometric
00100 
00101 ZM_END_NAMESPACE( zmsf )        /*  }  // namespace zmsf  */
00102 
00103 #endif  /* HYPERGEOMETRIC_H */

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