std:: riemann_zeta, std:: riemann_zetaf, std:: riemann_zetal
|
Défini dans l'en-tête
<cmath>
|
||
| (1) | ||
|
float
riemann_zeta
(
float
num
)
;
double
riemann_zeta
(
double
num
)
;
|
(depuis C++17)
(jusqu'à C++23) |
|
|
/* floating-point-type */
riemann_zeta
(
/* floating-point-type */
num
)
;
|
(depuis C++23) | |
|
float
riemann_zetaf
(
float
num
)
;
|
(2) | (depuis C++17) |
|
long
double
riemann_zetal
(
long
double
num
)
;
|
(3) | (depuis C++17) |
|
Défini dans l'en-tête
<cmath>
|
||
|
template
<
class
Integer
>
double riemann_zeta ( Integer num ) ; |
(A) | (depuis C++17) |
std::riemann_zeta
pour tous les types à virgule flottante non qualifiés cv comme type du paramètre
num
.
(depuis C++23)
Table des matières |
Paramètres
| num | - | valeur à virgule flottante ou valeur |
Valeur de retour
Si aucune erreur ne se produit, valeur de la fonction zêta de Riemann de num , ζ(num) , définie pour l'ensemble de l'axe réel :
-
Pour
num>1
,
Σ
∞
n=1 n -num
-
Pour
0≤num≤1
,
Σ ∞1 2 1-num
-1
n=1 (-1) n
n -num
-
Pour
num<0
,
2
num
π num-1
sin(
)Γ(1−num)ζ(1−num)πnum 2
Gestion des erreurs
Les erreurs peuvent être signalées comme spécifié dans math_errhandling .
- Si l'argument est NaN, NaN est retourné et aucune erreur de domaine n'est signalée
Notes
Les implémentations qui ne prennent pas en charge C++17, mais prennent en charge
ISO 29124:2010
, fournissent cette fonction si
__STDCPP_MATH_SPEC_FUNCS__
est défini par l'implémentation à une valeur d'au moins 201003L et si l'utilisateur définit
__STDCPP_WANT_MATH_SPEC_FUNCS__
avant d'inclure tout en-tête de la bibliothèque standard.
Les implémentations qui ne prennent pas en charge ISO 29124:2010 mais prennent en charge TR 19768:2007 (TR1), fournissent cette fonction dans l'en-tête
tr1/cmath
et l'espace de noms
std::tr1
.
Une implémentation de cette fonction est également disponible dans boost.math .
Les surcharges supplémentaires ne sont pas tenues d'être fournies exactement comme (A) . Elles doivent seulement être suffisantes pour garantir que pour leur argument num de type entier, std :: riemann_zeta ( num ) ait le même effet que std :: riemann_zeta ( static_cast < double > ( num ) ) .
Exemple
#include <cmath> #include <format> #include <iostream> #include <numbers> int main() { constexpr auto π = std::numbers::pi; // vérifications ponctuelles pour les valeurs connues for (const double x : {-1.0, 0.0, 1.0, 0.5, 2.0}) std::cout << std::format("ζ({})\t= {:+.5f}\n", x, std::riemann_zeta(x)); std::cout << std::format("π²/6\t= {:+.5f}\n", π * π / 6); }
Sortie :
ζ(-1) = -0.08333 ζ(0) = -0.50000 ζ(1) = +inf ζ(0.5) = -1.46035 ζ(2) = +1.64493 π²/6 = +1.64493
Liens externes
| Weisstein, Eric W. "Fonction Zêta de Riemann." De MathWorld — Une ressource Web Wolfram. |