std:: riemann_zeta, std:: riemann_zetaf, std:: riemann_zetal
|
double
riemann_zeta
(
double
arg
)
;
double
riemann_zeta
(
float
arg
)
;
|
(1) | |
|
double
riemann_zeta
(
IntegralType arg
)
;
|
(2) | |
모든 특수 함수와 마찬가지로,
riemann_zeta
는 구현체가
__STDCPP_MATH_SPEC_FUNCS__
를 최소 201003L 값으로 정의하고, 사용자가 표준 라이브러리 헤더를 포함하기 전에
__STDCPP_WANT_MATH_SPEC_FUNCS__
를 정의한 경우에만
<cmath>
에서 사용 가능함이 보장됩니다.
목차 |
매개변수
| arg | - | 부동 소수점 또는 정수형 타입의 값 |
반환값
오류가 발생하지 않으면, 전체 실수 축에 대해 정의된 리만 제타 함수 값 arg , ζ(arg) 을 반환합니다:
-
arg > 1인 경우,
Σ
∞
n=1 n -arg
. -
0 ≤ arg ≤ 1인 경우,
Σ ∞1 1 - 2 1-arg
n=1 (-1) n-1
n -arg
. -
arg < 0인 경우,
2
arg
π arg-1
sin(
)Γ(1 − arg)ζ(1 − arg) .πarg 2
오류 처리
오류는 math_errhandling 에 명시된 대로 보고될 수 있습니다.
- 인수가 NaN이면, NaN이 반환되고 도메인 오류는 보고되지 않습니다.
참고 사항
TR 29124을 지원하지 않지만 TR 19768을 지원하는 구현체들은 이 함수를
tr1/cmath
헤더와
std::tr1
네임스페이스에서 제공합니다.
이 함수의 구현체는 boost.math에서도 사용 가능합니다 .
예제
(gcc 6.0에서 표시된 대로 작동)
#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1 #include <cmath> #include <iostream> int main() { // 잘 알려진 값들에 대한 점검 std::cout << "ζ(-1) = " << std::riemann_zeta(-1) << '\n' << "ζ(0) = " << std::riemann_zeta(0) << '\n' << "ζ(1) = " << std::riemann_zeta(1) << '\n' << "ζ(0.5) = " << std::riemann_zeta(0.5) << '\n' << "ζ(2) = " << std::riemann_zeta(2) << ' ' << "(π²/6 = " << std::pow(std::acos(-1), 2) / 6 << ")\n"; }
출력:
ζ(-1) = -0.0833333 ζ(0) = -0.5 ζ(1) = inf ζ(0.5) = -1.46035 ζ(2) = 1.64493 (π²/6 = 1.64493)
외부 링크
Weisstein, Eric W. "리만 제타 함수." MathWorld - Wolfram 웹 자원에서 제공.