special_functions — 수학적 특수 함수
special_functions — 수학적 특수 함수 (Mathematical special functions)
수학적 특수 함수(mathematical special functions) 라이브러리는 원래 Library TR1(ISO/IEC TR 19768:2007)의 일부였다가, 독립 ISO 표준(ISO/IEC 29124:2010)으로 출판되었고, 마지막으로 C++17부터 ISO C++에 통합됐어요.
주로 <cmath> 헤더를 통해 제공돼요.
출처: cppreference
본문
포함된 함수들
감마/계승 (Gamma & factorial)
tgamma— 감마 함수lgamma— 감마의 자연로그
베셀 (Bessel)
cyl_bessel_i,cyl_bessel_j,cyl_bessel_k,cyl_neumann
르장드르/구면 (Legendre/Spherical)
assoc_legendre,legendresph_legendre
에르미트/라게르 (Hermite/Laguerre)
hermite,assoc_laguerre,laguerre
타원/적분 (Elliptic/integral)
ellint_1,ellint_2,ellint_3comp_ellint_1,comp_ellint_2,comp_ellint_3
확률/기타
beta,riemann_zeta,expint,zeta
#include <cmath>
std::tgamma(5.0); // 24 (4! = 24)
std::beta(2.0, 3.0); // 1/12
std::legendre(2, 0.5); // 르장드르 다항식
std::riemann_zeta(2.0); // π²/6 ≈ 1.6449
특징
- 원래 TR1/독립 표준이었던 것을 C++17이 흡수했어요.
- 각 함수는
float/double/long double오버로드(접미사f/l)를 제공해요. - C++23부터 일부는 제네릭 부동 소수점 타입과
constexpr지원을 얻었어요. - 물리·공학·통계·수치 해석의 고급 수학 문제에 사용.
// 가우스 적분 등에 쓰이는 감마·계승
double binom = std::tgamma(n+1) / (std::tgamma(k+1) * std::tgamma(n-k+1));
수학적 특수 함수는 과학·공학 계산의 고급 도구 모음이에요. 개별 함수의 오류 처리와 수식은 각 문서를 참조해요.