• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <cmath>

    std::riemann_zeta

    namespace std {
      double
        riemann_zeta(double x);              // (1) C++17
      floating-point-type
        riemann_zeta(floating-point-type x); // (1) C++23
    
      Promoted
        riemann_zeta(Arithmetic x);          // (2) C++17
    
      float
        riemann_zetaf(float x);              // (3) C++17
    
      long double
        riemann_zetal(long double x);        // (4) C++17
    }
    

    概要

    リーマンのゼータ関数 (Riemann zeta function) を求める。

    戻り値

    引数 x のリーマンゼータ関数 ζ(x)={k=1kxfor x>11121xk=1(1)k1kxfor 0x12xπx1sinπx2Γ(1x)ζ(1x)for x<0 を返す。

    備考

    #include <cmath>
    #include <iostream>
    
    int main() {
      std::cout << "riemann_zeta(-2) = " << std::riemann_zeta(-2) << "\n";  // 0
      std::cout << "riemann_zeta(-1) = " << std::riemann_zeta(-1) << "\n";  // -1 / 12
      std::cout << "riemann_zeta(0)  = " << std::riemann_zeta(0) << "\n";   // -1 / 2
      std::cout << "riemann_zeta(1)  = " << std::riemann_zeta(1) << "\n";   // ∞
      std::cout << "riemann_zeta(2)  = " << std::riemann_zeta(2) << "\n";   // π^2 / 6
    }
    

    出力例

    riemann_zeta(-2) = 0
    riemann_zeta(-1) = -0.0833333
    riemann_zeta(0)  = -0.5
    riemann_zeta(1)  = inf
    riemann_zeta(2)  = 1.64493
    

    バージョン

    言語

    • C++17

    処理系

    参照