ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
gsl::sf::legendre Namespace Reference

Legendre functions. More...

Typedefs

typedef gsl_sf_legendre_t legendre_t
 Alias. More...
 

Functions

legendre_t const SCHMIDT ()
 Type. More...
 
legendre_t const SPHARM ()
 Type. More...
 
legendre_t const FULL ()
 Type. More...
 
legendre_t const NONE ()
 Type. More...
 
int Pl_e (int const l, double const x, result &result)
 C++ version of gsl_sf_legendre_Pl_e(). More...
 
double Pl (int const l, double const x)
 C++ version of gsl_sf_legendre_Pl(). More...
 
template<typename DATA >
int Pl_array (int const lmax, double const x, DATA &result_array)
 C++ version of gsl_sf_legendre_Pl_array(). More...
 
template<typename DATA >
int Pl_deriv_array (int const lmax, double const x, DATA &result_array, DATA &result_deriv_array)
 C++ version of gsl_sf_legendre_Pl_deriv_array(). More...
 
int P1_e (double x, result &result)
 C++ version of gsl_sf_legendre_P1_e(). More...
 
int P2_e (double x, result &result)
 C++ version of gsl_sf_legendre_P2_e(). More...
 
int P3_e (double x, result &result)
 C++ version of gsl_sf_legendre_P3_e(). More...
 
double P1 (double const x)
 C++ version of gsl_sf_legendre_P1(). More...
 
double P2 (double const x)
 C++ version of gsl_sf_legendre_P2(). More...
 
double P3 (double const x)
 C++ version of gsl_sf_legendre_P3(). More...
 
int Q0_e (double const x, result &result)
 C++ version of gsl_sf_legendre_Q0_e(). More...
 
double Q0 (double const x)
 C++ version of gsl_sf_legendre_Q0(). More...
 
int Q1_e (double const x, result &result)
 C++ version of gsl_sf_legendre_Q1_e(). More...
 
double Q1 (double const x)
 C++ version of gsl_sf_legendre_Q1(). More...
 
int Ql_e (int const l, double const x, result &result)
 C++ version of gsl_sf_legendre_Ql_e(). More...
 
double Ql (int const l, double const x)
 C++ version of gsl_sf_legendre_Ql(). More...
 
int Plm_e (int const l, int const m, double const x, result &result)
 C++ version of gsl_sf_legendre_Plm_e(). More...
 
double Plm (int const l, int const m, double const x)
 C++ version of gsl_sf_legendre_Plm(). More...
 
template<typename DATA >
int Plm_array (int const lmax, int const m, double const x, DATA &result_array)
 C++ version of gsl_sf_legendre_Plm_array(). More...
 
template<typename DATA >
int Plm_deriv_array (int const lmax, int const m, double const x, DATA &result_array, DATA &result_deriv_array)
 C++ version of gsl_sf_legendre_Plm_deriv_array(). More...
 
int sphPlm_e (int const l, int m, double const x, result &result)
 C++ version of gsl_sf_legendre_sphPlm_e(). More...
 
double sphPlm (int const l, int const m, double const x)
 C++ version of gsl_sf_legendre_sphPlm(). More...
 
int array_size (int const lmax, int const m)
 C++ version of gsl_sf_legendre_array_size(). More...
 
int H3d_0_e (double const lambda, double const eta, result &result)
 C++ version of gsl_sf_legendre_H3d_0_e(). More...
 
double H3d_0 (double const lambda, double const eta)
 C++ version of gsl_sf_legendre_H3d_0(). More...
 
int H3d_1_e (double const lambda, double const eta, result &result)
 C++ version of gsl_sf_legendre_H3d_1_e(). More...
 
double H3d_1 (double const lambda, double const eta)
 C++ version of gsl_sf_legendre_H3d_1(). More...
 
int H3d_e (int const l, double const lambda, double const eta, result &result)
 C++ version of gsl_sf_legendre_H3d_e(). More...
 
double H3d (int const l, double const lambda, double const eta)
 C++ version of gsl_sf_legendre_H3d(). More...
 
template<typename DATA >
int H3d_array (int const lmax, double const lambda, double const eta, DATA &result_array)
 C++ version of gsl_sf_legendre_H3d_array(). More...
 
template<typename DATA >
int array (legendre_t const norm, size_t const lmax, double const x, DATA &result_array)
 C++ version of gsl_sf_legendre_array(). More...
 
template<typename DATA >
int array_e (legendre_t const norm, size_t const lmax, double const x, double const csphase, DATA &result_array)
 C++ version of gsl_sf_legendre_array_e(). More...
 
template<typename DATA >
int deriv_array (legendre_t const norm, size_t const lmax, double const x, DATA &result_array, DATA &result_deriv_array)
 C++ version of gsl_sf_legendre_deriv_array(). More...
 
template<typename DATA >
int deriv_array_e (legendre_t const norm, size_t const lmax, double const x, double const csphase, DATA &result_array, DATA &result_deriv_array)
 C++ version of gsl_sf_legendre_deriv_array_e(). More...
 
template<typename DATA >
int deriv_alt_array (legendre_t const norm, size_t const lmax, double const x, DATA &result_array, DATA &result_deriv_array)
 C++ version of gsl_sf_legendre_deriv_alt_array(). More...
 
template<typename DATA >
int deriv_alt_array_e (legendre_t const norm, size_t const lmax, double const x, double const csphase, DATA &result_array, DATA &result_deriv_array)
 C++ version of gsl_sf_legendre_deriv_alt_array_e(). More...
 
template<typename DATA >
int deriv2_array (legendre_t const norm, size_t const lmax, double const x, DATA &result_array, DATA &result_deriv_array, DATA &result_deriv2_array)
 C++ version of gsl_sf_legendre_deriv2_array(). More...
 
template<typename DATA >
int deriv2_array_e (legendre_t const norm, size_t const lmax, double const x, double const csphase, DATA &result_array, DATA &result_deriv_array, DATA &result_deriv2_array)
 C++ version of gsl_sf_legendre_deriv2_array_e(). More...
 
template<typename DATA >
int deriv2_alt_array (legendre_t const norm, size_t const lmax, double const x, DATA &result_array, DATA &result_deriv_array, DATA &result_deriv2_array)
 C++ version of gsl_sf_legendre_deriv2_alt_array(). More...
 
template<typename DATA >
int deriv2_alt_array_e (legendre_t const norm, size_t const lmax, double const x, double const csphase, DATA &result_array, DATA &result_deriv_array, DATA &result_deriv2_array)
 C++ version of gsl_sf_legendre_deriv2_alt_array_e(). More...
 
size_t array_n (size_t const lmax)
 C++ version of gsl_sf_legendre_array_n(). More...
 
size_t array_index (size_t const l, size_t const m)
 C++ version of gsl_sf_legendre_array_index(). More...
 
size_t nlm (size_t const lmax)
 C++ version of gsl_sf_legendre_nlm(). More...
 

Detailed Description

Legendre functions.

Typedef Documentation

◆ legendre_t

typedef gsl_sf_legendre_t gsl::sf::legendre::legendre_t

Alias.

Definition at line 36 of file sf_legendre.hpp.

Function Documentation

◆ array()

template<typename DATA >
int gsl::sf::legendre::array ( legendre_t const  norm,
size_t const  lmax,
double const  x,
DATA &  result_array 
)
inline

C++ version of gsl_sf_legendre_array().

Parameters
normNormalisation type
lmaxMaximum value of l parameter
xValue in (–1,1)
result_arrayArray for result
Returns
GSL_SUCCESS or error code

Definition at line 731 of file sf_legendre.hpp.

◆ array_e()

template<typename DATA >
int gsl::sf::legendre::array_e ( legendre_t const  norm,
size_t const  lmax,
double const  x,
double const  csphase,
DATA &  result_array 
)
inline

C++ version of gsl_sf_legendre_array_e().

Parameters
normNormalisation type
lmaxMaximum value of l parameter
xValue in (–1,1)
csphaseParameter for Condon–Shortley phase factor
result_arrayArray for result
Returns
GSL_SUCCESS or error code

Definition at line 760 of file sf_legendre.hpp.

◆ array_index()

size_t gsl::sf::legendre::array_index ( size_t const  l,
size_t const  m 
)
inline

C++ version of gsl_sf_legendre_array_index().

Parameters
lIndex l
mIndex m
Returns
Index in array

Definition at line 1058 of file sf_legendre.hpp.

◆ array_n()

size_t gsl::sf::legendre::array_n ( size_t const  lmax)
inline

C++ version of gsl_sf_legendre_array_n().

Parameters
lmaxMaximum value of l parameter
Returns
Minimum result array size

Definition at line 1051 of file sf_legendre.hpp.

◆ array_size()

int gsl::sf::legendre::array_size ( int const  lmax,
int const  m 
)
inline

C++ version of gsl_sf_legendre_array_size().

size of result_array needed for the array versions of Plm (lmax - m + 1)

Parameters
lmaxAn integer
mAn integer
Returns
GSL_SUCCESS

Definition at line 415 of file sf_legendre.hpp.

◆ deriv2_alt_array()

template<typename DATA >
int gsl::sf::legendre::deriv2_alt_array ( legendre_t const  norm,
size_t const  lmax,
double const  x,
DATA &  result_array,
DATA &  result_deriv_array,
DATA &  result_deriv2_array 
)
inline

C++ version of gsl_sf_legendre_deriv2_alt_array().

Parameters
normNormalisation type
lmaxMaximum value of l parameter
xValue in (–1,1)
result_arrayArray for result
result_deriv_arrayArray for result
result_deriv2_arrayArray for result
Returns
GSL_SUCCESS or error code

Definition at line 1000 of file sf_legendre.hpp.

◆ deriv2_alt_array_e()

template<typename DATA >
int gsl::sf::legendre::deriv2_alt_array_e ( legendre_t const  norm,
size_t const  lmax,
double const  x,
double const  csphase,
DATA &  result_array,
DATA &  result_deriv_array,
DATA &  result_deriv2_array 
)
inline

C++ version of gsl_sf_legendre_deriv2_alt_array_e().

Parameters
normNormalisation type
lmaxMaximum value of l parameter
xValue in (–1,1)
csphaseParameter for Condon–Shortley phase factor
result_arrayArray for result
result_deriv_arrayArray for result
result_deriv2_arrayArray for result
Returns
GSL_SUCCESS or error code

Definition at line 1037 of file sf_legendre.hpp.

◆ deriv2_array()

template<typename DATA >
int gsl::sf::legendre::deriv2_array ( legendre_t const  norm,
size_t const  lmax,
double const  x,
DATA &  result_array,
DATA &  result_deriv_array,
DATA &  result_deriv2_array 
)
inline

C++ version of gsl_sf_legendre_deriv2_array().

Parameters
normNormalisation type
lmaxMaximum value of l parameter
xValue in (–1,1)
result_arrayArray for result
result_deriv_arrayArray for result
result_deriv2_arrayArray for result
Returns
GSL_SUCCESS or error code

Definition at line 924 of file sf_legendre.hpp.

◆ deriv2_array_e()

template<typename DATA >
int gsl::sf::legendre::deriv2_array_e ( legendre_t const  norm,
size_t const  lmax,
double const  x,
double const  csphase,
DATA &  result_array,
DATA &  result_deriv_array,
DATA &  result_deriv2_array 
)
inline

C++ version of gsl_sf_legendre_deriv2_array_e().

Parameters
normNormalisation type
lmaxMaximum value of l parameter
xValue in (–1,1)
csphaseParameter for Condon–Shortley phase factor
result_arrayArray for result
result_deriv_arrayArray for result
result_deriv2_arrayArray for result
Returns
GSL_SUCCESS or error code

Definition at line 963 of file sf_legendre.hpp.

◆ deriv_alt_array()

template<typename DATA >
int gsl::sf::legendre::deriv_alt_array ( legendre_t const  norm,
size_t const  lmax,
double const  x,
DATA &  result_array,
DATA &  result_deriv_array 
)
inline

C++ version of gsl_sf_legendre_deriv_alt_array().

Parameters
normNormalisation type
lmaxMaximum value of l parameter
xValue in (–1,1)
result_arrayArray for result
result_deriv_arrayArray for result
Returns
GSL_SUCCESS or error code

Definition at line 855 of file sf_legendre.hpp.

◆ deriv_alt_array_e()

template<typename DATA >
int gsl::sf::legendre::deriv_alt_array_e ( legendre_t const  norm,
size_t const  lmax,
double const  x,
double const  csphase,
DATA &  result_array,
DATA &  result_deriv_array 
)
inline

C++ version of gsl_sf_legendre_deriv_alt_array_e().

Parameters
normNormalisation type
lmaxMaximum value of l parameter
xValue in (–1,1)
csphaseParameter for Condon–Shortley phase factor
result_arrayArray for result
result_deriv_arrayArray for result
Returns
GSL_SUCCESS or error code

Definition at line 889 of file sf_legendre.hpp.

◆ deriv_array()

template<typename DATA >
int gsl::sf::legendre::deriv_array ( legendre_t const  norm,
size_t const  lmax,
double const  x,
DATA &  result_array,
DATA &  result_deriv_array 
)
inline

C++ version of gsl_sf_legendre_deriv_array().

Parameters
normNormalisation type
lmaxMaximum value of l parameter
xValue in (–1,1)
result_arrayArray for result
result_deriv_arrayArray for result
Returns
GSL_SUCCESS or error code

Definition at line 789 of file sf_legendre.hpp.

◆ deriv_array_e()

template<typename DATA >
int gsl::sf::legendre::deriv_array_e ( legendre_t const  norm,
size_t const  lmax,
double const  x,
double const  csphase,
DATA &  result_array,
DATA &  result_deriv_array 
)
inline

C++ version of gsl_sf_legendre_deriv_array_e().

Parameters
normNormalisation type
lmaxMaximum value of l parameter
xValue in (–1,1)
csphaseParameter for Condon–Shortley phase factor
result_arrayArray for result
result_deriv_arrayArray for result
Returns
GSL_SUCCESS or error code

Definition at line 823 of file sf_legendre.hpp.

◆ FULL()

legendre_t const gsl::sf::legendre::FULL ( )
inline

Type.

Returns
GSL_SF_LEGENDRE_FULL

Definition at line 51 of file sf_legendre.hpp.

◆ H3d()

double gsl::sf::legendre::H3d ( int const  l,
double const  lambda,
double const  eta 
)
inline

C++ version of gsl_sf_legendre_H3d().

lth radial eigenfunction of the Laplacian on the 3-dimensional hyperbolic space.

Normalization: Flat-Lim legendre_H3d_l(l,lambda,eta) = j_l(lambda*eta)

eta >= 0.0, l >= 0

Parameters
lAn integer
lambdaA real value
etaA real value
Returns
The function value

Definition at line 678 of file sf_legendre.hpp.

References gsl::sf::eta().

◆ H3d_0()

double gsl::sf::legendre::H3d_0 ( double const  lambda,
double const  eta 
)
inline

C++ version of gsl_sf_legendre_H3d_0().

Zeroth radial eigenfunction of the Laplacian on the 3-dimensional hyperbolic space.

legendre_H3d_0(lambda,eta) := sin(lambda*eta)/(lambda*sinh(eta))

Normalization: Flat-Lim legendre_H3d_0(lambda,eta) = j_0(lambda*eta)

eta >= 0.0

Parameters
lambdaA real value
etaA real value
Returns
The function value

Definition at line 606 of file sf_legendre.hpp.

References gsl::sf::eta().

◆ H3d_0_e()

int gsl::sf::legendre::H3d_0_e ( double const  lambda,
double const  eta,
result result 
)
inline

C++ version of gsl_sf_legendre_H3d_0_e().

Zeroth radial eigenfunction of the Laplacian on the 3-dimensional hyperbolic space.

legendre_H3d_0(lambda,eta) := sin(lambda*eta)/(lambda*sinh(eta))

Normalization: Flat-Lim legendre_H3d_0(lambda,eta) = j_0(lambda*eta)

eta >= 0.0

Parameters
lambdaA real value
etaA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS or GSL_EDOM

Definition at line 589 of file sf_legendre.hpp.

References gsl::sf::eta().

◆ H3d_1()

double gsl::sf::legendre::H3d_1 ( double const  lambda,
double const  eta 
)
inline

C++ version of gsl_sf_legendre_H3d_1().

First radial eigenfunction of the Laplacian on the 3-dimensional hyperbolic space.

legendre_H3d_1(lambda,eta) := 1/sqrt(lambda^2 + 1) sin(lam eta)/(lam sinh(eta)) (coth(eta) - lambda cot(lambda*eta))

Normalization: Flat-Lim legendre_H3d_1(lambda,eta) = j_1(lambda*eta)

eta >= 0.0

Parameters
lambdaA real value
etaA real value
Returns
The function value

Definition at line 645 of file sf_legendre.hpp.

References gsl::sf::eta().

◆ H3d_1_e()

int gsl::sf::legendre::H3d_1_e ( double const  lambda,
double const  eta,
result result 
)
inline

C++ version of gsl_sf_legendre_H3d_1_e().

First radial eigenfunction of the Laplacian on the 3-dimensional hyperbolic space.

legendre_H3d_1(lambda,eta) := 1/sqrt(lambda^2 + 1) sin(lam eta)/(lam sinh(eta)) (coth(eta) - lambda cot(lambda*eta))

Normalization: Flat-Lim legendre_H3d_1(lambda,eta) = j_1(lambda*eta)

eta >= 0.0

Parameters
lambdaA real value
etaA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS or GSL_EDOM

Definition at line 626 of file sf_legendre.hpp.

References gsl::sf::eta().

◆ H3d_array()

template<typename DATA >
int gsl::sf::legendre::H3d_array ( int const  lmax,
double const  lambda,
double const  eta,
DATA &  result_array 
)
inline

C++ version of gsl_sf_legendre_H3d_array().

Array of H3d(ell), 0 <= ell <= lmax

Parameters
lmaxAn integer
lambdaA real value
etaA real value
result_arrayAn array of size lmax
Returns
GSL_SUCCESS

Definition at line 704 of file sf_legendre.hpp.

References gsl::sf::eta().

◆ H3d_e()

int gsl::sf::legendre::H3d_e ( int const  l,
double const  lambda,
double const  eta,
result result 
)
inline

C++ version of gsl_sf_legendre_H3d_e().

lth radial eigenfunction of the Laplacian on the 3-dimensional hyperbolic space.

Normalization: Flat-Lim legendre_H3d_l(l,lambda,eta) = j_l(lambda*eta)

eta >= 0.0, l >= 0

Parameters
lAn integer
lambdaA real value
etaA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS or GSL_EDOM

Definition at line 662 of file sf_legendre.hpp.

References gsl::sf::eta().

◆ nlm()

size_t gsl::sf::legendre::nlm ( size_t const  lmax)
inline

C++ version of gsl_sf_legendre_nlm().

Parameters
lmaxMaximum value of l parameter
Returns
UNDOCUMENTED

Definition at line 1065 of file sf_legendre.hpp.

◆ NONE()

legendre_t const gsl::sf::legendre::NONE ( )
inline

Type.

Returns
GSL_SF_LEGENDRE_NONE

Definition at line 56 of file sf_legendre.hpp.

◆ P1()

double gsl::sf::legendre::P1 ( double const  x)
inline

C++ version of gsl_sf_legendre_P1().

P_l(x), l=1

Parameters
xA real value
Returns
The function value

Definition at line 164 of file sf_legendre.hpp.

◆ P1_e()

int gsl::sf::legendre::P1_e ( double  x,
result result 
)
inline

C++ version of gsl_sf_legendre_P1_e().

P_l(x), l=1

Parameters
xA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS or GSL_EDOM

Definition at line 138 of file sf_legendre.hpp.

◆ P2()

double gsl::sf::legendre::P2 ( double const  x)
inline

C++ version of gsl_sf_legendre_P2().

P_l(x), l=2

Parameters
xA real value
Returns
The function value

Definition at line 171 of file sf_legendre.hpp.

◆ P2_e()

int gsl::sf::legendre::P2_e ( double  x,
result result 
)
inline

C++ version of gsl_sf_legendre_P2_e().

P_l(x), l=2

Parameters
xA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS

Definition at line 147 of file sf_legendre.hpp.

◆ P3()

double gsl::sf::legendre::P3 ( double const  x)
inline

C++ version of gsl_sf_legendre_P3().

P_l(x), l=3

Parameters
xA real value
Returns
The function value

Definition at line 178 of file sf_legendre.hpp.

◆ P3_e()

int gsl::sf::legendre::P3_e ( double  x,
result result 
)
inline

C++ version of gsl_sf_legendre_P3_e().

P_l(x), l=3

Parameters
xA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS

Definition at line 156 of file sf_legendre.hpp.

◆ Pl()

double gsl::sf::legendre::Pl ( int const  l,
double const  x 
)
inline

C++ version of gsl_sf_legendre_Pl().

P_l(x) l >= 0; |x| <= 1

Parameters
lAn integer
xA real value
Returns
The function value

Definition at line 74 of file sf_legendre.hpp.

◆ Pl_array()

template<typename DATA >
int gsl::sf::legendre::Pl_array ( int const  lmax,
double const  x,
DATA &  result_array 
)
inline

C++ version of gsl_sf_legendre_Pl_array().

P_l(x) for l=0,...,lmax; |x| <= 1

Parameters
lmaxAn integer
xA real value
result_arrayAn array of size lmax
Returns
GSL_SUCCESS or GSL_EDOM

Definition at line 97 of file sf_legendre.hpp.

◆ Pl_deriv_array()

template<typename DATA >
int gsl::sf::legendre::Pl_deriv_array ( int const  lmax,
double const  x,
DATA &  result_array,
DATA &  result_deriv_array 
)
inline

C++ version of gsl_sf_legendre_Pl_deriv_array().

P_l(x) and P_l'(x) for l=0,...,lmax; |x| <= 1

Parameters
lmaxAn integer
xA real value
result_arrayAn array of size lmax
result_deriv_arrayAn array of size lmax
Returns
The function value

Definition at line 125 of file sf_legendre.hpp.

◆ Pl_e()

int gsl::sf::legendre::Pl_e ( int const  l,
double const  x,
result result 
)
inline

C++ version of gsl_sf_legendre_Pl_e().

P_l(x) l >= 0; |x| <= 1

Parameters
lAn integer
xA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS or GSL_EDOM

Definition at line 65 of file sf_legendre.hpp.

◆ Plm()

double gsl::sf::legendre::Plm ( int const  l,
int const  m,
double const  x 
)
inline

C++ version of gsl_sf_legendre_Plm().

P_l^m(x) m >= 0; l >= m; |x| <= 1.0

Note that this function grows combinatorially with l. Therefore we can easily generate an overflow for l larger than about 150.

There is no trouble for small m, but when m and l are both large, then there will be trouble. Rather than allow overflows, these functions refuse to calculate when they can sense that l and m are too big.

If you really want to calculate a spherical harmonic, then DO NOT use this. Instead use legendre_sphPlm() below, which uses a similar recursion, but with the normalized functions.

Parameters
lAn integer
mAn integer
xA real value
Returns
The function value

Definition at line 274 of file sf_legendre.hpp.

◆ Plm_array()

template<typename DATA >
int gsl::sf::legendre::Plm_array ( int const  lmax,
int const  m,
double const  x,
DATA &  result_array 
)
inline

C++ version of gsl_sf_legendre_Plm_array().

P_l^m(x) m >= 0; l >= m; |x| <= 1.0 l=|m|,...,lmax

Parameters
lmaxAn integer
mAn integer
xA real value
result_arrayAn array of size lmax
Returns
GSL_SUCCESS or GSL_EDOM or GSL_EOVRFLW

Definition at line 301 of file sf_legendre.hpp.

◆ Plm_deriv_array()

template<typename DATA >
int gsl::sf::legendre::Plm_deriv_array ( int const  lmax,
int const  m,
double const  x,
DATA &  result_array,
DATA &  result_deriv_array 
)
inline

C++ version of gsl_sf_legendre_Plm_deriv_array().

P_l^m(x) and d(P_l^m(x))/dx; m >= 0; lmax >= m; |x| <= 1.0 l=|m|,...,lmax

Parameters
lmaxAn integer
mAn integer
xA real value
result_arrayAn array of size lmax
result_deriv_arrayAn array of size lmax
Returns
GSL_SUCCESS or GSL_EDOM or GSL_EOVRFLW

Definition at line 333 of file sf_legendre.hpp.

◆ Plm_e()

int gsl::sf::legendre::Plm_e ( int const  l,
int const  m,
double const  x,
result result 
)
inline

C++ version of gsl_sf_legendre_Plm_e().

P_l^m(x) m >= 0; l >= m; |x| <= 1.0

Note that this function grows combinatorially with l. Therefore we can easily generate an overflow for l larger than about 150.

There is no trouble for small m, but when m and l are both large, then there will be trouble. Rather than allow overflows, these functions refuse to calculate when they can sense that l and m are too big.

If you really want to calculate a spherical harmonic, then DO NOT use this. Instead use legendre_sphPlm() below, which uses a similar recursion, but with the normalized functions.

Parameters
lAn integer
mAn integer
xA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS or GSL_EDOM or GSL_EOVRFLW

Definition at line 251 of file sf_legendre.hpp.

◆ Q0()

double gsl::sf::legendre::Q0 ( double const  x)
inline

C++ version of gsl_sf_legendre_Q0().

Q_0(x), x > -1, x != 1

Parameters
xA real value
Returns
The function value

Definition at line 194 of file sf_legendre.hpp.

◆ Q0_e()

int gsl::sf::legendre::Q0_e ( double const  x,
result result 
)
inline

C++ version of gsl_sf_legendre_Q0_e().

Q_0(x), x > -1, x != 1

Parameters
xA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS or GSL_EDOM

Definition at line 186 of file sf_legendre.hpp.

◆ Q1()

double gsl::sf::legendre::Q1 ( double const  x)
inline

C++ version of gsl_sf_legendre_Q1().

Q_1(x), x > -1, x != 1

Parameters
xA real value
Returns
The function value

Definition at line 210 of file sf_legendre.hpp.

◆ Q1_e()

int gsl::sf::legendre::Q1_e ( double const  x,
result result 
)
inline

C++ version of gsl_sf_legendre_Q1_e().

Q_1(x), x > -1, x != 1

Parameters
xA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS or GSL_EDOM

Definition at line 202 of file sf_legendre.hpp.

◆ Ql()

double gsl::sf::legendre::Ql ( int const  l,
double const  x 
)
inline

C++ version of gsl_sf_legendre_Ql().

Q_l(x), x > -1, x != 1, l >= 0

Parameters
lAn integer
xA real value
Returns
The function value

Definition at line 228 of file sf_legendre.hpp.

◆ Ql_e()

int gsl::sf::legendre::Ql_e ( int const  l,
double const  x,
result result 
)
inline

C++ version of gsl_sf_legendre_Ql_e().

Q_l(x), x > -1, x != 1, l >= 0

Parameters
lAn integer
xA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS or GSL_EDOM

Definition at line 219 of file sf_legendre.hpp.

◆ SCHMIDT()

legendre_t const gsl::sf::legendre::SCHMIDT ( )
inline

Type.

Returns
GSL_SF_LEGENDRE_SCHMIDT

Definition at line 41 of file sf_legendre.hpp.

◆ SPHARM()

legendre_t const gsl::sf::legendre::SPHARM ( )
inline

Type.

Returns
GSL_SF_LEGENDRE_SPHARM

Definition at line 46 of file sf_legendre.hpp.

◆ sphPlm()

double gsl::sf::legendre::sphPlm ( int const  l,
int const  m,
double const  x 
)
inline

C++ version of gsl_sf_legendre_sphPlm().

P_l^m(x), normalized properly for use in spherical harmonics m >= 0; l >= m; |x| <= 1.0

There is no overflow problem, as there is for the standard normalization of P_l^m(x).

Specifically, it returns:

   sqrt((2l+1)/(4pi)) sqrt((l-m)!/(l+m)!) P_l^m(x)
Parameters
lAn integer
mAn integer
xA real value
Returns
The function value

Definition at line 374 of file sf_legendre.hpp.

◆ sphPlm_e()

int gsl::sf::legendre::sphPlm_e ( int const  l,
int  m,
double const  x,
result result 
)
inline

C++ version of gsl_sf_legendre_sphPlm_e().

P_l^m(x), normalized properly for use in spherical harmonics m >= 0; l >= m; |x| <= 1.0

There is no overflow problem, as there is for the standard normalization of P_l^m(x).

Specifically, it returns:

   sqrt((2l+1)/(4pi)) sqrt((l-m)!/(l+m)!) P_l^m(x)
Parameters
lAn integer
mAn integer
xA real value
resultThe result as a gsl::sf::result object
Returns
GSL_SUCCESS or GSL_EDOM

Definition at line 356 of file sf_legendre.hpp.