special_functions_beta — beta
special_functions_beta — beta (베타 함수)
beta는 **베타 함수(Beta function)**를 계산해요. C++17에서 도입됐어요. <cmath> 헤더에 있어요.
수학적 특수 함수(mathematical special function) 계열 중 하나예요.
출처: cppreference
본문
// <cmath> 헤더, C++17
float beta( float x, float y );
double beta( double x, double y );
long double beta( long double x, long double y );
// C++23부터 제네릭 부동 소수점 타입 버전
설명
베타 함수 B(x, y)는 다음과 같이 정의돼요.
B(x, y) = Γ(x)Γ(y) / Γ(x + y)
여기서 Γ는 감마 함수예요. 통계·확률 분포(베타 분포)와 밀접하게 관련돼요.
#include <cmath>
std::beta(1.0, 1.0); // 1.0
std::beta(2.0, 2.0); // 1/6 ≈ 0.1666...
std::beta(2.0, 3.0); // 1/12 ≈ 0.0833...
오류 처리
- 도메인 오류(예:
x또는y가 음수)가 발생하면 NaN이 반환되고FE_INVALID가 설정돼요. - 극(pole) 오류(예:
x또는y가 0 이하 정수)에서 상황에 따라 처리돼요.
활용
베타 함수는 베타 분포, 기각 샘플링, 베이즈 통계, 조합론 등에서 사용돼요.
// 베타 분포의 정규화 상수
double pdf = std::pow(x, a-1) * std::pow(1-x, b-1) / std::beta(a, b);
수학적 특수 함수 계열(<cmath>, C++17) 중 하나로, 확률·통계 계산에 자주 쓰여요.