Namespaces
Variants

std:: riemann_zeta, std:: riemann_zetaf, std:: riemann_zetal

From cppreference.net
double riemann_zeta ( double arg ) ;

double riemann_zeta ( float arg ) ;
double riemann_zeta ( long double arg ) ;
float riemann_zetaf ( float arg ) ;

long double riemann_zetal ( long double arg ) ;
(1)
double riemann_zeta ( IntegralType arg ) ;
(2)
1) arg 리만 제타 함수 를 계산합니다.
2) 모든 integral type 인자를 받는 오버로드 집합 또는 함수 템플릿. (1) 와 동등하며, 인자를 double 으로 캐스팅한 후 적용됩니다.

모든 특수 함수와 마찬가지로, 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(
    πarg
    2
    )Γ(1 − arg)ζ(1 − arg)
    .

오류 처리

오류는 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 웹 자원에서 제공.