MultiZetaValue
The depth-2 multiple zeta value , for integers . Provided by @enumeratio/analytic.
✓ checked against that system · ! checked, with disagreements (hover a chip)Fungrim
MultiZetaValue✓Fungrim entryMultiZetaValue(s1, s2)the depth-2 Euler sum .mpmath
nsum(lambda n1: n1**(-s1) * nsum(lambda n2: n2**(-s2), [1, n1 - 1]), [2, inf])Typed signatures
| Type | Package | Applies |
|---|---|---|
(integer, integer) -> number | analytic | always |
Details
- Scoped to depth 2 with both weights — every
MultiZetaValueidentity Fungrim declares is this shape, which is also exactly what makes the double sum converge unconditionally. A general depth- MZV over compositions is a different, open-ended project and is not attempted here. - Numerically: , summed directly for the first 32 terms; the tail closes with the Euler–Maclaurin expansion of (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: , , and Euler's reflection for .
Examples
6 more kept as data, checked against the oraclesAbout
| Examples | 10 |
|---|---|
| Checked against | Wolfram Language 9 agree1 differmpmath 1 unevaluated |
| Crosswalk | FungrimFungrim entry ×7mpmath |
Implementation
primitive · numericirreducibly numeric — it evaluates rather than rewrites
nativeengine
typescriptpackages/symbols/analysis/analytic/src/multizeta.tsmapped
wolframpackages/oracle/src/mappings.tsWolfram has no MultiZetaValue/MZV head; this is the defining double sum, N[]'d since our own evaluator is numeric-only here.
mapped
mpmathpackages/oracle/src/mappings.tssame defining double sum, nested nsum.
See also: Zeta, HurwitzZeta