Function Boost-zeta函数

Function Boost-zeta函数,function,math,boost,Function,Math,Boost,我尝试使用boost库中的zeta函数: double dz1 = boost::math::zeta<double> (1.0); double dz1=boost::math::zeta(1.0); 当我运行程序时,我得到: terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_inje

我尝试使用boost库中的zeta函数:

double dz1 = boost::math::zeta<double> (1.0);
double dz1=boost::math::zeta(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)'
terminate在抛出“boost::exception\u detail::clone\u impl”的实例后调用
what():函数boost::math::zeta中的错误:极点1处zeta函数的求值
中止(堆芯转储)'

有人知道发生了什么吗?

黎曼-泽塔函数是一个无限和:

只有当参数的实部大于1时,它才会收敛。如果它等于1,则级数发散,其和为无穷大

因此,当您使用1.0调用函数时,库抛出了一个错误

有用链接:


Riemann zeta函数是一个无穷和:

只有当参数的实部大于1时,它才会收敛。如果它等于1,则级数发散,其和为无穷大

因此,当您使用1.0调用函数时,库抛出了一个错误

有用链接:


zeta函数的极点为1,这是错误消息所说的:)这个问题已经得到了正确的回答,但我发现令人烦恼的是,
boost::math::zeta
抛出而不是抛出invalid,返回NaN并将处理留给用户。zeta函数的极点为1,这就是错误消息所说的:)这个问题已经得到了正确的回答,但我发现令人烦恼的是,
boost::math::zeta
抛出而不是抛出invalid,返回NaN并将处理留给用户。