![]() |
Home | Libraries | People | FAQ | More |
namespace boost{ namespace math{ namespace tr1{ extern "C"{ // [5.2.1.1] 連帶拉格朗日函數: double assoc_laguerre(unsigned n, unsigned m, double x); float assoc_laguerref(unsigned n, unsigned m, float x); long double assoc_laguerrel(unsigned n, unsigned m, long double x); // [5.2.1.2] 連帶勒讓德函數: double assoc_legendre(unsigned l, unsigned m, double x); float assoc_legendref(unsigned l, unsigned m, float x); long double assoc_legendrel(unsigned l, unsigned m, long double x); // [5.2.1.3] β函數: double beta(double x, double y); float betaf(float x, float y); long double betal(long double x, long double y); // [5.2.1.4] (完全)第一類橢圓積分: double comp_ellint_1(double k); float comp_ellint_1f(float k); long double comp_ellint_1l(long double k); // [5.2.1.5] (完全)第二類橢圓積分: double comp_ellint_2(double k); float comp_ellint_2f(float k); long double comp_ellint_2l(long double k); // [5.2.1.6] (完全)第三類橢圓積分: double comp_ellint_3(double k, double nu); float comp_ellint_3f(float k, float nu); long double comp_ellint_3l(long double k, long double nu); // [5.2.1.8] 規範化調整柱面貝賽爾函數: double cyl_bessel_i(double nu, double x); float cyl_bessel_if(float nu, float x); long double cyl_bessel_il(long double nu, long double x); // [5.2.1.9] 柱面貝賽爾函數(第一類): double cyl_bessel_j(double nu, double x); float cyl_bessel_jf(float nu, float x); long double cyl_bessel_jl(long double nu, long double x); // [5.2.1.10] 非規範化調整柱面貝賽爾函數: double cyl_bessel_k(double nu, double x); float cyl_bessel_kf(float nu, float x); long double cyl_bessel_kl(long double nu, long double x); // [5.2.1.11] 柱面諾依曼函數; // 柱面貝賽爾函數(第二類): double cyl_neumann(double nu, double x); float cyl_neumannf(float nu, float x); long double cyl_neumannl(long double nu, long double x); // [5.2.1.12] (不完全)第一類橢圓積分: double ellint_1(double k, double phi); float ellint_1f(float k, float phi); long double ellint_1l(long double k, long double phi); // [5.2.1.13] (不完全)第二類橢圓積分: double ellint_2(double k, double phi); float ellint_2f(float k, float phi); long double ellint_2l(long double k, long double phi); // [5.2.1.14] (不完全)第三類橢圓積分: double ellint_3(double k, double nu, double phi); float ellint_3f(float k, float nu, float phi); long double ellint_3l(long double k, long double nu, long double phi); // [5.2.1.15] 指數積分: double expint(double x); float expintf(float x); long double expintl(long double x); // [5.2.1.16] 哈米特多項式: double hermite(unsigned n, double x); float hermitef(unsigned n, float x); long double hermitel(unsigned n, long double x); // [5.2.1.18] 拉格朗日多項式: double laguerre(unsigned n, double x); float laguerref(unsigned n, float x); long double laguerrel(unsigned n, long double x); // [5.2.1.19] 勒讓德多項式: double legendre(unsigned l, double x); float legendref(unsigned l, float x); long double legendrel(unsigned l, long double x); // [5.2.1.20] 黎曼ζ函數: double riemann_zeta(double); float riemann_zetaf(float); long double riemann_zetal(long double); // [5.2.1.21] 球面貝賽爾函數(第一類): double sph_bessel(unsigned n, double x); float sph_besself(unsigned n, float x); long double sph_bessell(unsigned n, long double x); // [5.2.1.22] 球面可結合勒讓德函數: double sph_legendre(unsigned l, unsigned m, double theta); float sph_legendref(unsigned l, unsigned m, float theta); long double sph_legendrel(unsigned l, unsigned m, long double theta); // [5.2.1.23] 球面諾依曼函數; // 球面貝賽爾函數(第二類): double sph_neumann(unsigned n, double x); float sph_neumannf(unsigned n, float x); long double sph_neumannl(unsigned n, long double x); }}}} // namespaces
此外還提供了大量的上面函數的針對double版本的重載函數, 因此使用混合的 float, double, long double, 或 integer 參數都得到支持, 返回值的類型由返回值類型推導法則.來確定。
例如:
expintf(2.0f); // float 版本, 返回 float. expint(2.0f); // 同樣也調用 float 版本 且返回float類型. expint(2.0); // double 版本, 返回 double. expintl(2.0L); // long double 版本, 返回 long double. expint(2.0L); // 同樣調用 long double 版本. expint(2); // integer 參數當作 double 對待, 返回 double.
// [5.2.1.1]連帶拉格朗日多項式: double assoc_laguerre(unsigned n, unsigned m, double x); float assoc_laguerref(unsigned n, unsigned m, float x); long double assoc_laguerrel(unsigned n, unsigned m, long double x);
返回 assoc_laguerre 函數:
參見laguerre瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.2]可結合勒讓德函數: double assoc_legendre(unsigned l, unsigned m, double x); float assoc_legendref(unsigned l, unsigned m, float x); long double assoc_legendrel(unsigned l, unsigned m, long double x);
返回 assoc_legendre函數 :
參見legendre_p瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.3] β函數: double beta(double x, double y); float betaf(float x, float y); long double betal(long double x, long double y);
返回 x 和 y的β函數:
參見beta 瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.4] (完全)第一類橢圓積分: double comp_ellint_1(double k); float comp_ellint_1f(float k); long double comp_ellint_1l(long double k);
返回k的第一類完全橢圓積分:
參見ellint_1瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.5] (完全)第二類橢圓積分: double comp_ellint_2(double k); float comp_ellint_2f(float k); long double comp_ellint_2l(long double k);
返回k的第二類完全橢圓積分:
參見ellint_2瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.6] (完全)第三類橢圓積分: double comp_ellint_3(double k, double nu); float comp_ellint_3f(float k, float nu); long double comp_ellint_3l(long double k, long double nu);
返回 k 和 nu的第三類完全橢圓積分:
參見ellint_3 瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.8]規範化修正柱面貝賽爾函數: double cyl_bessel_i(double nu, double x); float cyl_bessel_if(float nu, float x); long double cyl_bessel_il(long double nu, long double x);
返回nu 和x的第一類修正貝賽爾函數
參見cyl_bessel_i 瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.9] 柱面貝賽函數 (第一類): double cyl_bessel_j(double nu, double x); float cyl_bessel_jf(float nu, float x); long double cyl_bessel_jl(long double nu, long double x);
返回nu 和x的第一類貝賽爾函數:
參見cyl_bessel_j 瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.10] 非規範化修正柱面貝賽爾函數: double cyl_bessel_k(double nu, double x); float cyl_bessel_kf(float nu, float x); long double cyl_bessel_kl(long double nu, long double x);
返回nu 和x的第二類修正貝賽爾函數:
參見cyl_bessel_k 瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.11] 柱面諾依曼函數; // 柱面貝賽爾函數(第二類): double cyl_neumann(double nu, double x); float cyl_neumannf(float nu, float x); long double cyl_neumannl(long double nu, long double x);
返回nu 和 x 的第二類貝賽爾函數(諾依曼函數):
參見cyl_neumann 瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.12] (不完全) 第一類橢圓積分: double ellint_1(double k, double phi); float ellint_1f(float k, float phi); long double ellint_1l(long double k, long double phi);
k 和phi的第一類不完全橢圓積分:
參見ellint_1瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.13] (不完全) 第二類橢圓積分: double ellint_2(double k, double phi); float ellint_2f(float k, float phi); long double ellint_2l(long double k, long double phi);
k 和phi的第二類不完全橢圓積分:
參見ellint_2瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.14] (不完全) 第三類橢圓積分: double ellint_3(double k, double nu, double phi); float ellint_3f(float k, float nu, float phi); long double ellint_3l(long double k, long double nu, long double phi);
返回k, nu 和 phi和第三類不完全橢圓積分:
參見ellint_3瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.15] 指數積分: double expint(double x); float expintf(float x); long double expintl(long double x);
返回x的指數積分 Ei :
參見expint瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.16] 哈米特多項式: double hermite(unsigned n, double x); float hermitef(unsigned n, float x); long double hermitel(unsigned n, long double x);
返回x的n'th哈米特多項式
參見hermite瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.18] 拉格朗日多項式: double laguerre(unsigned n, double x); float laguerref(unsigned n, float x); long double laguerrel(unsigned n, long double x); 返回x的 n'th勒讓德多項式:
參見laguerre 瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.19] 勒讓德多項式: double legendre(unsigned l, double x); float legendref(unsigned l, float x); long double legendrel(unsigned l, long double x);
返回x的 l'th勒讓德多項式:
參見legendre_p 瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.20] 黎曼ζ函數: double riemann_zeta(double); float riemann_zetaf(float); long double riemann_zetal(long double);
返回x的黎曼ζ函數
參見zeta 瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.21] 球面貝賽爾函數(第一類): double sph_bessel(unsigned n, double x); float sph_besself(unsigned n, float x); long double sph_bessell(unsigned n, long double x);
返回x的第一類球面貝賽爾函數 jn(x):
參見sph_bessel 瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.22] 球面連帶勒讓德函數: double sph_legendre(unsigned l, unsigned m, double theta); float sph_legendref(unsigned l, unsigned m, float theta); long double sph_legendrel(unsigned l, unsigned m, long double theta);
返回l, m 和 theta 的球面可結合勒讓德函數
參看spherical_harmonic瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.23] 球面諾依曼函數; //球面貝賽爾函數 (第二類): double sph_neumann(unsigned n, double x); float sph_neumannf(unsigned n, float x); long double sph_neumannl(unsigned n, long double x);
返回x 的球面諾依曼函數yn(x):
參見sph_bessel 瞭解這個函數的完全模板版本(只有頭文件).
// [5.2.1.7] 合連幾何函數: double conf_hyperg(double a, double c, double x); float conf_hypergf(float a, float c, float x); long double conf_hypergl(long double a, long double c, long double x); // [5.2.1.17] 超幾何函數: double hyperg(double a, double b, double c, double x); float hypergf(float a, float b, float c, float x); long double hypergl(long double a, long double b, long double c, long double x);
![]() |
注意 |
|---|---|
因為它們不具備數值穩定性,所以沒有實現這兩個函數。 |