C++1z 数学の特殊関数
C++1zでは、C++11のころから繰り越されていた数学の特殊関数(special functions)が導入されます。
一覧としては、以下になります:
関数名 | 説明 |
---|---|
assoc_laguerre |
ラゲールの陪多項式 associated Laguerre polynomials |
assoc_legendre |
ルジャンドルの陪多項式 associated Legendre polynomials |
beta |
ベータ関数 beta function |
comp_ellint_1 |
(完全)第1種楕円積分 (complete) elliptic integral of the first kind |
comp_ellint_2 |
(完全)第2種楕円積分 (complete) elliptic integral of the second kind |
comp_ellint_3 |
(完全)第3種楕円積分 (complete) elliptic integral of the third kind |
cyl_bessel_j |
(第1種)円筒ベッセル関数 cylindrical Bessel functions (of the first kind) |
cyl_bessel_i |
正規変形円筒ベッセル関数 regular modified cylindrical Bessel functions |
cyl_bessel_k |
非正規変形円筒ベッセル関数 irregular modified cylindrical Bessel functions |
cyl_neumann |
円筒ノイマン関数 (第2種円筒ベッセル関数) cylindrical Neumann functions, cylindrical Bessel functions (of the second kind) |
ellint_1 |
(不完全)第1種楕円積分 (incomplete) elliptic integral of the first kind |
ellint_2 |
(不完全)第2種楕円積分 (incomplete) elliptic integral of the second kind |
ellint_3 |
(不完全)第3種楕円積分 (incomplete) elliptic integral of the third kind |
expint |
指数積分 exponential integral |
hermite |
エルミート多項式 Hermite polynomials |
legendre |
ラゲールの多項式 Laguerre polynomials |
laguerre |
ルジャンドルの多項式 Legendre polynomials |
riemann_zeta |
リーマンゼータ関数 Riemann zeta function |
sph_bessel |
(第1種)球ベッセル関数 spherical Bessel functions (of the first kind) |
sph_legendre |
球ラゲール陪多項式 spherical associated Legendre functions |
sph_neumann |
球ノイマン関数 (第2種球ベッセル関数) spherical Neumann functions, spherical Bessel functions (of the second kind) |
これらの関数は、<cmath>
ヘッダに追加されます。C言語の標準ライブラリにこれらの関数はないので、Cへの参照ではなく、C++の標準ライブラリとして動作が定義されます。
これらのほかに、float
版として末尾にf
がついたバージョン、long double
版として末尾にl
がついたバージョンが定義されます。
参照
- N1422 A Proposal to Add Mathematical Special Functions to the C++ Standard Library
- N1514 A Proposal to Add Mathematical Special Functions to the C++ Standard Library (version 2)
- N1542 A Proposal to Add Mathematical Special Functions to the C++ Standard Library (version 3)
- N1570 Corrections to Domain-error Reporting for TR1 Chapter on Special Math Functions.
- N1884 Further Restrictions on Special Math Functions
- N3548 Conditionally-supported Special Math Functions for C++14
- N3743 Conditionally-supported Special Math Functions for C++14, v2
- N4437 Conditionally-supported Special Math Functions, v3
- P0226R0 Mathematical Special Functions for C++17, v4
- P0226R1 Mathematical Special Functions for C++17, v5
お断り
この記事の内容は、C++1zが正式リリースされる際には変更される可能性があります。正式リリース後には、C++日本語リファレンスサイトcpprefjpの以下の階層の下に解説ページを用意する予定です。