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, legendre
  • sph_legendre

에르미트/라게르 (Hermite/Laguerre)

  • hermite, assoc_laguerre, laguerre

타원/적분 (Elliptic/integral)

  • ellint_1, ellint_2, ellint_3
  • comp_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));

수학적 특수 함수는 과학·공학 계산의 고급 도구 모음이에요. 개별 함수의 오류 처리와 수식은 각 문서를 참조해요.

더 알아보기 (Learn more)

cppreference