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) 중 하나로, 확률·통계 계산에 자주 쓰여요.

더 알아보기 (Learn more)

cppreference