我尝试使用boost库中的zeta函数:
double dz1 = boost::math::zeta<double> (1.0);当我运行这个程序时,我得到:
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::domain_error> >'
what(): Error in function boost::math::zeta<e>: Evaluation of zeta function at pole 1
Aborted (core dumped)'有人知道这是怎么回事吗?
发布于 2013-07-21 19:16:02
Riemann zeta函数是一个无穷大的和:

只有当参数的实部大于1时,它才收敛。如果它等于1,级数就会发散,并且和是无穷大的。
因此,当您使用1.0调用函数时,库抛出了一个错误。
有用的链接:
http://en.wikipedia.org/wiki/Riemann_zeta_function
http://www.boost.org/doc/libs/1_38_0/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/zeta.html
https://stackoverflow.com/questions/17771695
复制相似问题