Function Repository Resource:

ProductIntegrate

Source Notebook

Evaluate the product integral of a function

Contributed by: Jan Mangaldan

ResourceFunction["ProductIntegrate"][f,x]

gives the indefinite product integral .

ResourceFunction["ProductIntegrate"][f,{x,xmin,xmax}]

gives the definite product integral .

Details

The product integral is also known as the multiplicative integral or geometric integral.
ResourceFunction["ProductIntegrate"] uses the "type II" definition, .
ResourceFunction["ProductIntegrate"] supports the same options as Integrate.

Examples

Basic Examples (2) 

Indefinite product integral of an exponential function:

In[1]:=
ResourceFunction["ProductIntegrate"][c^x, x]
Out[1]=

Definite product integral of an exponential function:

In[2]:=
ResourceFunction["ProductIntegrate"][c^x, {x, a, b}]
Out[2]=

Scope (3) 

Evaluate the indefinite product integral of a power function:

In[3]:=
ResourceFunction["ProductIntegrate"][x^c, x]
Out[3]=

Use Assuming to get a simpler expression:

In[4]:=
Assuming[x > 0 && c > 0, ResourceFunction["ProductIntegrate"][x^c, x]]
Out[4]=

This is the same as using the Assumptions option:

In[5]:=
ResourceFunction["ProductIntegrate"][x^c, x, Assumptions -> (x > 0 && c > 0)]
Out[5]=

Options (2) 

Assumptions (2) 

By default, conditions are generated on parameters that guarantee convergence:

In[6]:=
ResourceFunction["ProductIntegrate"][Exp[x^c], {x, 0, 1}]
Out[6]=

With Assumptions, a result valid under the given assumptions is given:

In[7]:=
ResourceFunction["ProductIntegrate"][Exp[x^c], {x, 0, 1}, Assumptions -> (c > 0)]
Out[7]=

Properties and Relations (3) 

Evaluate the indefinite product integral of a linear function:

In[8]:=
ResourceFunction["ProductIntegrate"][1 + 3 x, x]
Out[8]=

Use the fundamental theorem of product calculus:

In[9]:=
(% /. x -> 2)/(% /. x -> 0) // Simplify
Out[9]=

This is the same as directly evaluating a definite product integral:

In[10]:=
ResourceFunction["ProductIntegrate"][1 + 3 x, {x, 0, 2}]
Out[10]=

ProductIntegrate is the inverse of the resource function ProductD, under certain conditions:

In[11]:=
ResourceFunction["ProductIntegrate"][
 ResourceFunction["ProductD"][1/x, x], x]
Out[11]=
In[12]:=
Simplify[ResourceFunction["ProductIntegrate"][
  ResourceFunction["ProductD"][1/x, x], x], x > 0]
Out[12]=

ProductIntegrate uses Integrate internally, and if the underlying Integrate fails to evaluate, the expression is left unevaluated:

In[13]:=
ResourceFunction["ProductIntegrate"][Exp[Sin[Sin[x]]], x]
Out[13]=

Version History

  • 1.0.0 – 08 March 2021

Source Metadata

Related Resources

License Information