std::riemann_zeta
STD:Riemann[医]Zeta,STD::Riemann[医]Zetaf,STD::Riemann[医]顶叶
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) | (since C++17) |
---|---|---|
double riemann_zeta( Integral arg | (2) | (since C++17) |
1%29计算Riemann Zeta函数成arg
...
2%29一组过载或接受任意参数的函数模板积分型将参数转换为double
...
参数
arg | - | value of a floating-point or integral type |
---|
返回值
如果没有错误发生,则Riemann zeta函数的值arg
,ζ%28 arg
%29,定义为整个真实轴:
- 对于Arg>1,Σ∞ n=1n-Arg
- 0≤arg≤1,1-21-arg
Σ∞
n=1%28-1%29N-1
恩-阿格
- 对于Arg<0,2arg πArg-1 SIN%28πArg 2%29Γ%281-Arg%29ζ%281-Arg%29错误处理错误可以按数学[医]错误处理...
- 如果参数为nan,则返回nan,并且不报告域错误。
注记
不支持C++17但支持的实现ISO 29124:2010,则提供此功能__STDCPP_MATH_SPEC_FUNCS__
由实现定义为值至少为201003L,且用户定义__STDCPP_WANT_MATH_SPEC_FUNCS__
在包含任何标准库头之前。
不支持iso 29124:2010但支持tr 19768:2007%28TR1%29的实现,在标头中提供此功能。tr1/cmath
和命名空间std::tr1
...
此功能的实现也是可以在中学里找到。...
例
二次
#include <cmath>
#include <iostream>
int main()
{
// spot checks for well-known values
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)
二次
外部链接
Riemann Zeta函数来自MathWorld的一个Wolfram Web资源。
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。