Function Repository Resource:

 MultiplePolyLogStar

Source Notebook

Compute the multiple polylogarithm star function

Contributed by: Jayanta Phadikar

ResourceFunction["MultiplePolyLogStar"][{r1,r2,…,rk},{s1,s2,…,sk}]

gives the multiple polylogarithm star function defined by the weakly ordered nested sum .

Details

ResourceFunction["MultiplePolyLogStar"] is the star, or weakly ordered, depth-k extension of PolyLog.
The first argument is the list of indices or weights; the second argument is the list of decoration values, also called colors or numerator weights. The two lists must have the same length.
In its domain of absolute convergence, ResourceFunction["MultiplePolyLogStar"] is defined by .
For convergence, set pm=|s1⋯sm|. The series converges absolutely when pm<1 for every m, diverges when pm>1 for some m, and, on the boundary pm=1, convergence depends on the weights.
ResourceFunction["MultiplePolyLogStar"] is a mathematical function suitable for symbolic and numerical manipulation.
Divergent cases can evaluate to Infinity or ComplexInfinity.
For depth 1, ResourceFunction["MultiplePolyLogStar"][{r},{s}] agrees with MultiplePolyLog[{r},{s}] and PolyLog[r,s].
When all decoration values are 1, ResourceFunction["MultiplePolyLogStar"] gives the corresponding MultipleZetaStar value.

Examples

Basic Examples (3) 

Exact values are generated automatically for simple arguments:

In[1]:=
ResourceFunction["MultiplePolyLogStar"][{1, 1}, {1/2, 1/3}]
Out[1]=

Discretely sample across the first index with decoration values fixed:

In[2]:=
DiscretePlot[
 ResourceFunction["MultiplePolyLogStar"][{z, 1}, {1/2, 1/3}], {z, 1, 10}]
Out[2]=

Plot along a real slice of a decoration value:

In[3]:=
Plot[ResourceFunction[
  "MultiplePolyLogStar"][{1, 1}, {1/2, x}], {x, -1, 1}]
Out[3]=

Scope (15) 

Numerical evaluation (3) 

Evaluate numerically:

In[4]:=
N[ResourceFunction["MultiplePolyLogStar"][{2, 4, 6}, {1/2, 1/3, 1/4}]]
Out[4]=

Evaluate to high precision:

In[5]:=
N[ResourceFunction[
  "MultiplePolyLogStar"][{2, 4, 6}, {1/2, 1/3, 1/4}], 20]
Out[5]=

Evaluate numerically with a complex decoration value:

In[6]:=
N[ResourceFunction["MultiplePolyLogStar"][{2, 3}, {1/2 + I/3, 1/4}]]
Out[6]=

Specific Values (5) 

Evaluate at decoration values {1, -1}:

In[7]:=
ResourceFunction["MultiplePolyLogStar"][{2, 1}, {1, -1}]
Out[7]=

Evaluate at conjugate decoration values {-I,I}:

In[8]:=
ResourceFunction["MultiplePolyLogStar"][{2, 1}, {-I, I}]
Out[8]=

A MultiplePolyLogStar with negative integers and zeros as the indices evaluates to a rational number:

In[9]:=
ResourceFunction["MultiplePolyLogStar"][{-2, 0, 0}, {1/2, -1/2, 1/3}]
Out[9]=

A zero in the decoration list makes the MultiplePolyLogStar vanish identically:

In[10]:=
ResourceFunction[
 "MultiplePolyLogStar"][{6, 2, 3, 4}, {-I, 0, 1/2, -1/2}]
Out[10]=

A divergent MultiplePolyLogStar:

In[11]:=
ResourceFunction["MultiplePolyLogStar"][{2, 3}, {6, 10}]
Out[11]=

Visualization (7) 

Discrete plot of the diagonal depth-2 values across positive n, highlighting rapid decay with increasing weight:

In[12]:=
DiscretePlot[
 ResourceFunction["MultiplePolyLogStar"][{n, n}, {1/2, 1/3}], {n, 1, 10}]
Out[12]=

Discretely sample a MultiplePolyLogStar across integer (positive/zero/negative) indices:

In[13]:=
DiscretePlot[
 Log10@ResourceFunction[
   "MultiplePolyLogStar"][{n, 1}, {1/2, 1/3}], {n, -10, 10}]
Out[13]=

Side-by-side traces of MultiplePolyLogStar[{n,2},{1/2,1/3}] and MultiplePolyLogStar[{2,n},{1/2,1/3}] that emphasize order asymmetry under index swap:

In[14]:=
DiscretePlot[
 Evaluate@{ResourceFunction["MultiplePolyLogStar"][{n, 2}, {1/2, 1/3}],
    ResourceFunction["MultiplePolyLogStar"][{2, n}, {1/2, 1/3}]}, {n, 2, 20}, Sequence[ScalingFunctions -> {None, "Log"}, PlotStyle -> {
Directive[Thick, 
RGBColor[0., 0.619, 0.451]], 
Directive[Thick, 
RGBColor[0.8, 0.475, 0.655]]}]]
Out[14]=

Discrete 3-D bars of Log10[MultiplePolyLogStar[{z1,z2},{1/2,1/3}]] over positive indices, showing how magnitude varies across the grid:

In[15]:=
DiscretePlot3D[
 Abs@Log10@
   ResourceFunction["MultiplePolyLogStar"][{z1, z2}, {1/2, 1/3}], {z1,
   1, 8}, {z2, 1, 8}, Sequence[
 ExtentSize -> Full, ColorFunction -> "NeonColors", AxesLabel -> Automatic]]
Out[15]=

Plot along a real slice of a decoration value for a depth-three MultiplePolyLog:

In[16]:=
Plot[ResourceFunction[
  "MultiplePolyLogStar"][{2, 3, 4}, {s, 1/3, 1/6}], {s, -1/2, 1/2}]
Out[16]=

Visualize the dependence on two decoration values for a depth-two MultiplePolyLog:

In[17]:=
Plot3D[ResourceFunction[
  "MultiplePolyLogStar"][{3, 2}, {s1, s2}], {s1, -1/2, 1/2}, {s2, -1/2, 1/2}, Sequence[
 PlotRange -> All, ColorFunction -> "AlpineColors", ColorFunctionScaling -> False, Mesh -> 12, MeshStyle -> Directive[White, 
Opacity[0.25]], Lighting -> "Neutral", BoxRatios -> {1, 1, 0.6}, AxesLabel -> Map[Style[#, 12, 
GrayLevel[0.25]]& , {"s1", "s2"}], LabelStyle -> Directive[
GrayLevel[0.2], 12], ImageMargins -> 10, ImagePadding -> 20, ClippingStyle -> None]]
Out[17]=

Render a complex surface over a rectangular region of the decoration s-plane:

In[18]:=
ComplexPlot3D[
 ResourceFunction[
  "MultiplePolyLogStar"][{2, 3}, {s, 1/3}], {s, -1/2 - I/2, 1/2 + I/2}]
Out[18]=

Properties & Relations (4) 

Depth-1 convergent MultiplePolyLogStar is same as MultiplePolyLog and PolyLog:

In[19]:=
ResourceFunction["MultiplePolyLogStar"][{10}, {1/3}] == MultiplePolyLog[{10}, {1/3}] == PolyLog[10, 1/3]
Out[19]=

A convergent MultiplePolyLogStar can be written as a linear combination of MultiplePolyLog's:

In[20]:=
Inactive[
ResourceFunction["MultiplePolyLogStar"]][{2, 3, 4}, {1/2, 1/3, 1/6}] ==
  Sum[((1/2)^n1 (1/3)^n2 (1/6)^n3)/(
  n1^2 n2^3 n3^4), {n1, 1, Infinity}, {n2, 1, n1}, {n3, 1, n2}]
Out[20]=

Verify the identity numerically:

In[21]:=
N[Activate[%]]
Out[21]=

When all decoration values are 1, MultiplePolyLogStar gives a multiple zeta star value:

In[22]:=
ResourceFunction["MultiplePolyLogStar"][{2, 3}, {1, 1}]
Out[22]=

When all the decoration values are either 1 or -1, MultiplePolyLogStar reduces to combinations of HarmonicPolyLog:

In[23]:=
ResourceFunction[
 "MultiplePolyLogStar"][{3, 6, 10, 2, 1}, {1, -1, -1, 1, -1}]
Out[23]=

Possible Issues (2) 

Both arguments must be lists:

In[24]:=
ResourceFunction["MultiplePolyLogStar"][2, {1/2}]
Out[24]=

The two lists must have the same length:

In[25]:=
ResourceFunction["MultiplePolyLogStar"][{2, 3, 4}, {1/2, 1/3}]
Out[25]=

Publisher

Jayanta Kumar Phadikar

Version History

  • 1.0.0 – 24 August 2026

Related Resources

License Information