|
ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
|
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... | |
Legendre functions.
| typedef gsl_sf_legendre_t gsl::sf::legendre::legendre_t |
Alias.
Definition at line 36 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_array().
| norm | Normalisation type |
| lmax | Maximum value of l parameter |
| x | Value in (–1,1) |
| result_array | Array for result |
Definition at line 731 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_array_e().
| norm | Normalisation type |
| lmax | Maximum value of l parameter |
| x | Value in (–1,1) |
| csphase | Parameter for Condon–Shortley phase factor |
| result_array | Array for result |
Definition at line 760 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_array_index().
| l | Index l |
| m | Index m |
Definition at line 1058 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_array_n().
| lmax | Maximum value of l parameter |
Definition at line 1051 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_array_size().
size of result_array needed for the array versions of Plm (lmax - m + 1)
| lmax | An integer |
| m | An integer |
Definition at line 415 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_deriv2_alt_array().
| norm | Normalisation type |
| lmax | Maximum value of l parameter |
| x | Value in (–1,1) |
| result_array | Array for result |
| result_deriv_array | Array for result |
| result_deriv2_array | Array for result |
Definition at line 1000 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_deriv2_alt_array_e().
| norm | Normalisation type |
| lmax | Maximum value of l parameter |
| x | Value in (–1,1) |
| csphase | Parameter for Condon–Shortley phase factor |
| result_array | Array for result |
| result_deriv_array | Array for result |
| result_deriv2_array | Array for result |
Definition at line 1037 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_deriv2_array().
| norm | Normalisation type |
| lmax | Maximum value of l parameter |
| x | Value in (–1,1) |
| result_array | Array for result |
| result_deriv_array | Array for result |
| result_deriv2_array | Array for result |
Definition at line 924 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_deriv2_array_e().
| norm | Normalisation type |
| lmax | Maximum value of l parameter |
| x | Value in (–1,1) |
| csphase | Parameter for Condon–Shortley phase factor |
| result_array | Array for result |
| result_deriv_array | Array for result |
| result_deriv2_array | Array for result |
Definition at line 963 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_deriv_alt_array().
| norm | Normalisation type |
| lmax | Maximum value of l parameter |
| x | Value in (–1,1) |
| result_array | Array for result |
| result_deriv_array | Array for result |
Definition at line 855 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_deriv_alt_array_e().
| norm | Normalisation type |
| lmax | Maximum value of l parameter |
| x | Value in (–1,1) |
| csphase | Parameter for Condon–Shortley phase factor |
| result_array | Array for result |
| result_deriv_array | Array for result |
Definition at line 889 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_deriv_array().
| norm | Normalisation type |
| lmax | Maximum value of l parameter |
| x | Value in (–1,1) |
| result_array | Array for result |
| result_deriv_array | Array for result |
Definition at line 789 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_deriv_array_e().
| norm | Normalisation type |
| lmax | Maximum value of l parameter |
| x | Value in (–1,1) |
| csphase | Parameter for Condon–Shortley phase factor |
| result_array | Array for result |
| result_deriv_array | Array for result |
Definition at line 823 of file sf_legendre.hpp.
|
inline |
|
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
| l | An integer |
| lambda | A real value |
| eta | A real value |
Definition at line 678 of file sf_legendre.hpp.
References gsl::sf::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
| lambda | A real value |
| eta | A real value |
Definition at line 606 of file sf_legendre.hpp.
References gsl::sf::eta().
|
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
| lambda | A real value |
| eta | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 589 of file sf_legendre.hpp.
References gsl::sf::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
| lambda | A real value |
| eta | A real value |
Definition at line 645 of file sf_legendre.hpp.
References gsl::sf::eta().
|
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
| lambda | A real value |
| eta | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 626 of file sf_legendre.hpp.
References gsl::sf::eta().
|
inline |
C++ version of gsl_sf_legendre_H3d_array().
Array of H3d(ell), 0 <= ell <= lmax
| lmax | An integer |
| lambda | A real value |
| eta | A real value |
| result_array | An array of size lmax |
Definition at line 704 of file sf_legendre.hpp.
References gsl::sf::eta().
|
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
| l | An integer |
| lambda | A real value |
| eta | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 662 of file sf_legendre.hpp.
References gsl::sf::eta().
|
inline |
C++ version of gsl_sf_legendre_nlm().
| lmax | Maximum value of l parameter |
Definition at line 1065 of file sf_legendre.hpp.
|
inline |
|
inline |
C++ version of gsl_sf_legendre_P1().
P_l(x), l=1
| x | A real value |
Definition at line 164 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_P1_e().
P_l(x), l=1
| x | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 138 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_P2().
P_l(x), l=2
| x | A real value |
Definition at line 171 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_P2_e().
P_l(x), l=2
| x | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 147 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_P3().
P_l(x), l=3
| x | A real value |
Definition at line 178 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_P3_e().
P_l(x), l=3
| x | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 156 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_Pl().
P_l(x) l >= 0; |x| <= 1
| l | An integer |
| x | A real value |
Definition at line 74 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_Pl_array().
P_l(x) for l=0,...,lmax; |x| <= 1
| lmax | An integer |
| x | A real value |
| result_array | An array of size lmax |
Definition at line 97 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_Pl_deriv_array().
P_l(x) and P_l'(x) for l=0,...,lmax; |x| <= 1
| lmax | An integer |
| x | A real value |
| result_array | An array of size lmax |
| result_deriv_array | An array of size lmax |
Definition at line 125 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_Pl_e().
P_l(x) l >= 0; |x| <= 1
| l | An integer |
| x | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 65 of file sf_legendre.hpp.
|
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.
| l | An integer |
| m | An integer |
| x | A real value |
Definition at line 274 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_Plm_array().
P_l^m(x) m >= 0; l >= m; |x| <= 1.0 l=|m|,...,lmax
| lmax | An integer |
| m | An integer |
| x | A real value |
| result_array | An array of size lmax |
Definition at line 301 of file sf_legendre.hpp.
|
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
| lmax | An integer |
| m | An integer |
| x | A real value |
| result_array | An array of size lmax |
| result_deriv_array | An array of size lmax |
Definition at line 333 of file sf_legendre.hpp.
|
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.
| l | An integer |
| m | An integer |
| x | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 251 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_Q0().
Q_0(x), x > -1, x != 1
| x | A real value |
Definition at line 194 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_Q0_e().
Q_0(x), x > -1, x != 1
| x | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 186 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_Q1().
Q_1(x), x > -1, x != 1
| x | A real value |
Definition at line 210 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_Q1_e().
Q_1(x), x > -1, x != 1
| x | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 202 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_Ql().
Q_l(x), x > -1, x != 1, l >= 0
| l | An integer |
| x | A real value |
Definition at line 228 of file sf_legendre.hpp.
|
inline |
C++ version of gsl_sf_legendre_Ql_e().
Q_l(x), x > -1, x != 1, l >= 0
| l | An integer |
| x | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 219 of file sf_legendre.hpp.
|
inline |
|
inline |
|
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)
| l | An integer |
| m | An integer |
| x | A real value |
Definition at line 374 of file sf_legendre.hpp.
|
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)
| l | An integer |
| m | An integer |
| x | A real value |
| result | The result as a gsl::sf::result object |
Definition at line 356 of file sf_legendre.hpp.