Skip to content

MultiZetaValue ​

The depth-2 multiple zeta value ζ(s1,s2)=∑n1>n2≥1n1−s1n2−s2\zeta(s_1, s_2) = \sum_{n_1 > n_2 \ge 1} n_1^{-s_1} n_2^{-s_2}, for integers s1,s2≥2s_1, s_2 \ge 2. Provided by @enumeratio/analytic.

✓ checked against that system · ! checked, with disagreements (hover a chip)FungrimMultiZetaValue✓Fungrim entry
MultiZetaValue(s1, s2)the depth-2 Euler sum ζ(s1,s2)\zeta(s_1, s_2).
mpmathnsum(lambda n1: n1**(-s1) * nsum(lambda n2: n2**(-s2), [1, n1 - 1]), [2, inf])
Typed signatures
TypePackageApplies
(integer, integer) -> numberanalyticalways

Domain: Special functions

Details
  • Scoped to depth 2 with both weights ≥2\ge 2 — every MultiZetaValue identity Fungrim declares is this shape, which is also exactly what makes the double sum converge unconditionally. A general depth-nn MZV over compositions is a different, open-ended project and is not attempted here.
  • Numerically: ζ(s1,s2)=∑n≥1n−s1Hn−1(s2)\zeta(s_1,s_2) = \sum_{n\ge1} n^{-s_1} H_{n-1}^{(s_2)}, summed directly for the first 32 terms; the tail closes with the Euler–Maclaurin expansion of Hn−1(s2)H_{n-1}^{(s_2)} (a Hurwitz-zeta tail), turning each correction term into a plain Riemann-zeta tail from the native Zeta — correctly rounded to a double at every weight Fungrim declares.
  • Small cases have closed forms Fungrim states directly: ζ(2,2)=34ζ(4)\zeta(2,2) = \tfrac34\zeta(4), ζ(3,3)=12(ζ(3)2−ζ(6))\zeta(3,3) = \tfrac12(\zeta(3)^2-\zeta(6)), and Euler's reflection ζ(a)ζ(b)−ζ(a+b)=ζ(a,b)+ζ(b,a)\zeta(a)\zeta(b) - \zeta(a+b) = \zeta(a,b) + \zeta(b,a) for a,b≥2a,b\ge2.

Examples

6 more kept as data, checked against the oracles
Basic #

ζ(2,2)=34ζ(4)\zeta(2,2) = \tfrac34\zeta(4)

live ↗
InN(MultiZetaValue(2,2))N(\mathrm{MultiZetaValue}(2, 2))Out0.811 742 425 283 353 60.811\,742\,425\,283\,353\,6

ζ(3,3)=12(ζ(3)2−ζ(6))\zeta(3,3) = \tfrac12(\zeta(3)^2-\zeta(6))

live ↗
InN(MultiZetaValue(3,3))N(\mathrm{MultiZetaValue}(3, 3))Out0.213 798 868 224 592 50.213\,798\,868\,224\,592\,5
Properties #

ζ(2,2)=34ζ(4)\zeta(2, 2) = \tfrac34\zeta(4), one of Fungrim's exact closed forms

live ↗
Inchop(N(MultiZetaValue(2,2))−0.75N(ζ(4)))\mathrm{chop}(N(\mathrm{MultiZetaValue}(2, 2))-0.75N(ζ(4)))Out0.00.0
Possible issues #

s1<2s_1 < 2 stays symbolic — outside the depth-2, both-weights-≥2\ge2 scope

live ↗
InMultiZetaValue(1,2)\mathrm{MultiZetaValue}(1, 2)OutMultiZetaValue(1,2)\mathrm{MultiZetaValue}(1, 2)
About
Examples10
Checked againstWolfram Language 9 agree1 differmpmath 1 unevaluated
CrosswalkFungrimFungrim entry ×7mpmath

Implementation

primitive · numericirreducibly numeric — it evaluates rather than rewrites

nativeenginetypescriptpackages/symbols/analysis/analytic/src/multizeta.ts
mappedwolframpackages/oracle/src/mappings.ts

Wolfram has no MultiZetaValue/MZV head; this is the defining double sum, N[]'d since our own evaluator is numeric-only here.

mappedmpmathpackages/oracle/src/mappings.ts

same defining double sum, nested nsum.

See also: Zeta, HurwitzZeta