Function Repository Resource:

 HarmonicNumberToIntegral

Source Notebook

Convert harmonic number expressions to inactive integral representations

Contributed by: Jayanta Phadikar

ResourceFunction["HarmonicNumberToIntegral"][expr]

gives an inactive integral representation of the supported harmonic number expression expr.

Details

ResourceFunction["HarmonicNumberToIntegral"][expr] returns an expression with head Inactive[Integrate]. The integral is displayed in standard integral notation, but it is not evaluated immediately.
Integral representations are useful for transforming finite harmonic sums into forms suitable for Integrate, NIntegrate, and further symbolic manipulation.
Supported inputs include ordinary HarmonicNumber expressions, AlternatingHarmonicNumber expressions, HyperHarmonicNumber expressions, and MultipleHarmonicNumber expressions in the forms shown in the examples.
For higher-order harmonic numbers, the result is usually an iterated integral over nested unit intervals. The number of integration variables grows with the order or depth of the input.
Additional parameters in the supported harmonic number heads are carried into the integrand as weights, signs, or color parameters.
The generated integration variables use formal symbols such as x and subscripted formal variables, which helps avoid collisions with variables already present in the input.
Use Activate on the result to turn the inactive integral into an ordinary Integrate expression. For the finite numeric examples, the activated integral agrees with the original harmonic number value.

Examples

Basic Examples (2) 

Convert an ordinary first-order harmonic number to a one-dimensional inactive integral:

In[1]:=
ResourceFunction["HarmonicNumberToIntegral"][HarmonicNumber[10]]
Out[1]=
In[2]:=
Activate[%] == HarmonicNumber[10]
Out[2]=

Convert an alternating harmonic number to an inactive integral:

In[3]:=
ResourceFunction["HarmonicNumberToIntegral"][
 AlternatingHarmonicNumber[10]]
Out[3]=
In[4]:=
Activate[%] == AlternatingHarmonicNumber[10]
Out[4]=

Scope (10) 

Convert a second-order harmonic number to an iterated integral:

In[5]:=
ResourceFunction["HarmonicNumberToIntegral"][HarmonicNumber[10, 2]]
Out[5]=
In[6]:=
Activate[%] == HarmonicNumber[10, 2]
Out[6]=

Include an additional parameter in the harmonic-number expression, which is reflected in the weight of the integrand:

In[7]:=
ResourceFunction["HarmonicNumberToIntegral"][HarmonicNumber[10, 2, 3]]
Out[7]=
In[8]:=
Activate[%] == HarmonicNumber[10, 2, 3]
Out[8]=

Convert a higher-order alternating harmonic number:

In[9]:=
ResourceFunction["HarmonicNumberToIntegral"][
 AlternatingHarmonicNumber[10, 2]]
Out[9]=
In[10]:=
Activate[%] == AlternatingHarmonicNumber[10, 2]
Out[10]=

Convert an alternating harmonic number with an additional parameter:

In[11]:=
ResourceFunction["HarmonicNumberToIntegral"][
 AlternatingHarmonicNumber[10, 2, 3]]
Out[11]=
In[12]:=
Activate[%] == AlternatingHarmonicNumber[10, 2, 3]
Out[12]=

Convert a hyperharmonic number to an inactive integral representation:

In[13]:=
ResourceFunction["HarmonicNumberToIntegral"][
 HyperHarmonicNumber[2, 10]]
Out[13]=
In[14]:=
Activate[%] == HyperHarmonicNumber[2, 10]
Out[14]=

Convert a generalized hyperharmonic number with an extra parameter:

In[15]:=
ResourceFunction["HarmonicNumberToIntegral"][
 HyperHarmonicNumber[2, 10, 3]]
Out[15]=
In[16]:=
Activate[%] == HyperHarmonicNumber[2, 10, 3]
Out[16]=

Convert a hyperharmonic number with two additional parameters:

In[17]:=
ResourceFunction["HarmonicNumberToIntegral"][
 HyperHarmonicNumber[2, 10, 3, 4]]
Out[17]=
In[18]:=
Activate[%] == HyperHarmonicNumber[2, 10, 3, 4]
Out[18]=

Convert an uncolored multiple harmonic number to an iterated integral:

In[19]:=
ResourceFunction["HarmonicNumberToIntegral"][
 MultipleHarmonicNumber[12, {2, 3}, {1, 1}]]
Out[19]=
In[20]:=
Activate[%] == MultipleHarmonicNumber[12, {2, 3}, {1, 1}]
Out[20]=

Convert a colored multiple harmonic number, where colors appear as rational factors in the integral kernel:

In[21]:=
ResourceFunction["HarmonicNumberToIntegral"][
 MultipleHarmonicNumber[10, {2, 1}, {1/3, 1/4}]]
Out[21]=
In[22]:=
Activate[%] == MultipleHarmonicNumber[10, {2, 1}, {1/3, 1/4}]
Out[22]=

Convert a depth-three colored multiple harmonic number:

In[23]:=
ResourceFunction["HarmonicNumberToIntegral"][
 MultipleHarmonicNumber[10, {2, 1, 3}, {1/3, 1/4, 1/2}]]
Out[23]=
In[24]:=
Activate[%] == MultipleHarmonicNumber[10, {2, 1, 3}, {1/3, 1/4, 1/2}]
Out[24]=

Publisher

Jayanta Kumar Phadikar

Version History

  • 1.0.0 – 01 July 2026

Related Resources

License Information