Product
✖
Product
Details and Options


- Product[f,{i,imax}] can be entered as
f.
- ∏ can be entered as
prod
or \[Product].
- Product[f,{i,imin,imax}] can be entered as
f.
- The limits should be underscripts and overscripts of ∏ in normal input, and subscripts and superscripts when embedded in other text.
- Product uses the standard Wolfram Language iteration specification.
- The iteration variable i is treated as local, effectively using Block.
- If the range of a product is finite, i is typically assigned a sequence of values, with f being evaluated for each one.
- In multiple products, the range of the outermost variable is given first.
- The limits of a product need not be numbers. They can be Infinity or symbolic expressions.
- If a product cannot be carried out explicitly by multiplying a finite number of terms, Product will attempt to find a symbolic result. In this case, f is first evaluated symbolically.
- The indefinite product
is defined so that the ratio of terms with successive
gives
.
- Definite and indefinite summation can be mixed in any order.
- The following options can be given:
-
Assumptions $Assumptions assumptions to make about parameters GenerateConditions False whether to generate answers that involve conditions on parameters GeneratedParameters None how to name generated parameters Method Automatic method to use Regularization None what regularization to use VerifyConvergence True whether to verify convergence - Possible values for Regularization include: None and "Dirichlet". {reg1,reg2,…} specifies different schemes for different variables in a multiple product.
- Product can do essentially all products that are given in standard books of tables.
- Product is output in StandardForm using ∏.
- Parallelize[Product[f,iter]] or ParallelProduct[f,iter] computes Product[f,iter] in parallel on all subkernels. »
Examples
open allclose allBasic Examples (5)Summary of the most common use cases

https://wolfram.com/xid/0y8a0q-ywhav


https://wolfram.com/xid/0y8a0q-kmlha0

Use prod
to enter ∏ and
to enter the lower limit, then
for the upper limit:

https://wolfram.com/xid/0y8a0q-im3m7y


https://wolfram.com/xid/0y8a0q-gz0oja

Multiple product with product over performed first:

https://wolfram.com/xid/0y8a0q-d86gpg

Scope (28)Survey of the scope of standard use cases
Basic Uses (9)
A definite product over a finite range:

https://wolfram.com/xid/0y8a0q-fha471


https://wolfram.com/xid/0y8a0q-xoflq


https://wolfram.com/xid/0y8a0q-ghfkry

Plot the sequence of partial products:

https://wolfram.com/xid/0y8a0q-noska

A multiple product over finite ranges:

https://wolfram.com/xid/0y8a0q-c1g3np


https://wolfram.com/xid/0y8a0q-mh9r59

Plot a multivariate sequence and the logarithm of its partial products:

https://wolfram.com/xid/0y8a0q-djwj71

The outermost product bounds can depend on inner variables:

https://wolfram.com/xid/0y8a0q-pamel

Combine a product over lists with standard iteration ranges:

https://wolfram.com/xid/0y8a0q-bqlzxa

The elements in the iterator list can be any expression:

https://wolfram.com/xid/0y8a0q-b9gji6

https://wolfram.com/xid/0y8a0q-mfs77g

Compute a product over an infinite range:

https://wolfram.com/xid/0y8a0q-k1gm40


https://wolfram.com/xid/0y8a0q-dgxe6

Multivariate product over infinite ranges:

https://wolfram.com/xid/0y8a0q-kodob0


https://wolfram.com/xid/0y8a0q-lhvo3


https://wolfram.com/xid/0y8a0q-jh4f04


https://wolfram.com/xid/0y8a0q-ba1d0o

The ratio is equivalent to the multiplicand:

https://wolfram.com/xid/0y8a0q-gqkzl9

The definite product is given as the ratio of indefinite products:

https://wolfram.com/xid/0y8a0q-ntpl2t


https://wolfram.com/xid/0y8a0q-bmrkug

Multivariate indefinite products:

https://wolfram.com/xid/0y8a0q-hdldym


https://wolfram.com/xid/0y8a0q-czlvic

Mixes of indefinite and definite products:

https://wolfram.com/xid/0y8a0q-1aenv

Use GenerateConditions to get the conditions under which the answer is true:

https://wolfram.com/xid/0y8a0q-cebypb

Refine the resulting answer:

https://wolfram.com/xid/0y8a0q-e2o7zq

Use Assumptions to provide assumptions directly to Product:

https://wolfram.com/xid/0y8a0q-bb7x6s

Applying N to an unevaluated product effectively uses NProduct:

https://wolfram.com/xid/0y8a0q-bj0iir


https://wolfram.com/xid/0y8a0q-ez2loc

Special Indefinite Products (10)
Ratios of expressions with a general function:

https://wolfram.com/xid/0y8a0q-conmio

Indefinite products are unique up to a constant factor:

https://wolfram.com/xid/0y8a0q-ihunpn

For exponential functions, products are equivalent to sums :

https://wolfram.com/xid/0y8a0q-ck6las


https://wolfram.com/xid/0y8a0q-hcweup

The results differ by a constant factor:

https://wolfram.com/xid/0y8a0q-ebz3j


https://wolfram.com/xid/0y8a0q-cdhhwm


https://wolfram.com/xid/0y8a0q-hgjbhq


https://wolfram.com/xid/0y8a0q-4h4ef

The product of polynomial functions can always be done in terms of factorial functions:

https://wolfram.com/xid/0y8a0q-xobxa

Products of rational functions can always be represented as rational functions and factorials:

https://wolfram.com/xid/0y8a0q-h058s4

A minimal number of factorial functions will be used:

https://wolfram.com/xid/0y8a0q-o6myr


https://wolfram.com/xid/0y8a0q-bpntdf

Hypergeometric term sequences can be represented in terms of BarnesG:

https://wolfram.com/xid/0y8a0q-cw52l7

The DiscreteRatio is rational for all hypergeometric term sequences:

https://wolfram.com/xid/0y8a0q-dwrey6

Many functions give hypergeometric terms:

https://wolfram.com/xid/0y8a0q-iw3zb8

https://wolfram.com/xid/0y8a0q-j81qn7

Any products of hypergeometric terms are hypergeometric terms:

https://wolfram.com/xid/0y8a0q-hek40i

Their products in general require BarnesG:

https://wolfram.com/xid/0y8a0q-ev62sb

Q-polynomial products can always be represented in terms of q-factorial functions:

https://wolfram.com/xid/0y8a0q-dncff2

A q-polynomial is the composition of a polynomial with an exponential:

https://wolfram.com/xid/0y8a0q-j3niyy

https://wolfram.com/xid/0y8a0q-wg3u


https://wolfram.com/xid/0y8a0q-ceww9s

Products of q-rational functions can always be done in terms of q-rational and q-factorials:

https://wolfram.com/xid/0y8a0q-mwhpsb


https://wolfram.com/xid/0y8a0q-fcfo0o

A q-rational function is the composition of a rational function with an exponential:

https://wolfram.com/xid/0y8a0q-dnx3hw

https://wolfram.com/xid/0y8a0q-gcgdu6

In general, Root objects are needed:

https://wolfram.com/xid/0y8a0q-khfpw


https://wolfram.com/xid/0y8a0q-i8zl5h

Polynomials and rational functions of trigonometric functions:

https://wolfram.com/xid/0y8a0q-dvc0sp


https://wolfram.com/xid/0y8a0q-fk8sv1


https://wolfram.com/xid/0y8a0q-llyc09

Similarly for hyperbolic functions:

https://wolfram.com/xid/0y8a0q-bnstcl


https://wolfram.com/xid/0y8a0q-bwk3zd

Rational functions raised to a polynomial power:

https://wolfram.com/xid/0y8a0q-no3c7o


https://wolfram.com/xid/0y8a0q-da7u16

Floor and Ceiling related functions:

https://wolfram.com/xid/0y8a0q-bkc4ex


https://wolfram.com/xid/0y8a0q-c8cm88


https://wolfram.com/xid/0y8a0q-sgr1q


https://wolfram.com/xid/0y8a0q-eqsrx4


https://wolfram.com/xid/0y8a0q-kpfu3g


https://wolfram.com/xid/0y8a0q-ket1j4


https://wolfram.com/xid/0y8a0q-dw7e1d

Any function applied to a periodic sequence generates a periodic sequence:

https://wolfram.com/xid/0y8a0q-ewt2vq


https://wolfram.com/xid/0y8a0q-elo7u7

A sequence raised to a periodic exponent:

https://wolfram.com/xid/0y8a0q-9hopq

A periodic sequence raised to a nonperiodic exponent:

https://wolfram.com/xid/0y8a0q-dokp40


https://wolfram.com/xid/0y8a0q-lnabr6


https://wolfram.com/xid/0y8a0q-ovuu81

Special Definite Products (9)
For exponential functions products are equivalent to sums :

https://wolfram.com/xid/0y8a0q-jp68oy


https://wolfram.com/xid/0y8a0q-fl6lmq


https://wolfram.com/xid/0y8a0q-dt6ig1

Rational products can be represented as factorial functions:

https://wolfram.com/xid/0y8a0q-cl5b20

For infinite products, the limit of the multiplicand needs to be 1:

https://wolfram.com/xid/0y8a0q-dj08nb


https://wolfram.com/xid/0y8a0q-ri3cf

An infinite product may not converge:

https://wolfram.com/xid/0y8a0q-eibz6g


Hypergeometric term products can be represented in terms of BarnesG:

https://wolfram.com/xid/0y8a0q-ihgc7z


https://wolfram.com/xid/0y8a0q-b7gw6r

Q-polynomial products can be represented in terms of q-factorial functions:

https://wolfram.com/xid/0y8a0q-kprf53

Some products of q-rational functions can be represented as q-rational functions:

https://wolfram.com/xid/0y8a0q-cp7qrt

But in general they require q-factorial functions:

https://wolfram.com/xid/0y8a0q-e3k3rj


https://wolfram.com/xid/0y8a0q-ea7p8y

Products of trigonometric and hyperbolic functions:

https://wolfram.com/xid/0y8a0q-ekbft3


https://wolfram.com/xid/0y8a0q-cphxz7

Piecewise products can often be reduced to the previous classes:

https://wolfram.com/xid/0y8a0q-pqny3

In other cases, the piecewise part is eventually constant:

https://wolfram.com/xid/0y8a0q-fpqfbs


https://wolfram.com/xid/0y8a0q-cz5xr7


https://wolfram.com/xid/0y8a0q-eesiij


https://wolfram.com/xid/0y8a0q-hagopo


https://wolfram.com/xid/0y8a0q-czdxa


https://wolfram.com/xid/0y8a0q-9wn53


https://wolfram.com/xid/0y8a0q-8qll1


https://wolfram.com/xid/0y8a0q-nz1qmu


https://wolfram.com/xid/0y8a0q-bnbsb

Generalizations & Extensions (1)Generalized and extended use cases
ParallelProduct computes Product in parallel:

https://wolfram.com/xid/0y8a0q-bq3f3v

Product can be parallelized automatically, effectively using ParallelProduct:

https://wolfram.com/xid/0y8a0q-xa231c

Options (4)Common values & functionality for each option
Assumptions (1)
Use Assumptions to study the behavior under different conditions on the parameter:

https://wolfram.com/xid/0y8a0q-d3d5v4



https://wolfram.com/xid/0y8a0q-edyplw

GenerateConditions (1)
Regularization (1)
The product of all primes is divergent:

https://wolfram.com/xid/0y8a0q-eaqngn


Use Regularization to assign a finite value to this product:

https://wolfram.com/xid/0y8a0q-jh6z0

VerifyConvergence (1)
The product of all natural numbers is divergent:

https://wolfram.com/xid/0y8a0q-bmiq8g


Setting VerifyConvergence to False may assign a finite value in such cases:

https://wolfram.com/xid/0y8a0q-by11j9

Applications (6)Sample problems that can be solved with this function
Functions Defined by a Product (1)
Many special functions are defined by products, including Factorial:

https://wolfram.com/xid/0y8a0q-nhblc


https://wolfram.com/xid/0y8a0q-gsvs72


https://wolfram.com/xid/0y8a0q-ebryrs


https://wolfram.com/xid/0y8a0q-ra3ac


https://wolfram.com/xid/0y8a0q-fbj1iv


https://wolfram.com/xid/0y8a0q-oxy2u2


https://wolfram.com/xid/0y8a0q-bv76l8

And BarnesG:

https://wolfram.com/xid/0y8a0q-vrom8

Product Representations for Constants (1)
Many constants can be represented as products including Pi:

https://wolfram.com/xid/0y8a0q-evshng


https://wolfram.com/xid/0y8a0q-eyxjqc

E:

https://wolfram.com/xid/0y8a0q-cj3hdk


https://wolfram.com/xid/0y8a0q-9z7qt


https://wolfram.com/xid/0y8a0q-gd4fsb


https://wolfram.com/xid/0y8a0q-x0zup

Product Representations for Functions (1)
Approximate Representation Using Lagrange Interpolation (1)
A Lagrange interpolating polynomial:

https://wolfram.com/xid/0y8a0q-bd5yj

https://wolfram.com/xid/0y8a0q-efa15
A Lagrange interpolating polynomial for symbolic values:

https://wolfram.com/xid/0y8a0q-bpnj4k


https://wolfram.com/xid/0y8a0q-dfvgdj

A Newton interpolating polynomial for symbolic values:

https://wolfram.com/xid/0y8a0q-grydlj


https://wolfram.com/xid/0y8a0q-ic294j

Optimized Representations from Product (1)
Using a symbolic closed‐form product can provide fast evaluation:

https://wolfram.com/xid/0y8a0q-hfpzks

Compare timings of the closed form to procedural evaluation:

https://wolfram.com/xid/0y8a0q-nmxyrf


https://wolfram.com/xid/0y8a0q-mvavvc


https://wolfram.com/xid/0y8a0q-dgkx8

Likelihood Functions for Parameter Estimation (1)
Define a likelihood function for a distribution and dataset:

https://wolfram.com/xid/0y8a0q-dl646s
The likelihood function for an ExponentialDistribution for a small dataset:

https://wolfram.com/xid/0y8a0q-mzk7h

Find the maximum-likelihood parameter estimator:

https://wolfram.com/xid/0y8a0q-ffh53d

Likelihood function for BernoulliDistribution:

https://wolfram.com/xid/0y8a0q-hzsyw


https://wolfram.com/xid/0y8a0q-e4s6s

Properties & Relations (4)Properties of the function, and connections to other functions
NProduct will use numerical methods to compute products:

https://wolfram.com/xid/0y8a0q-bawt2p


https://wolfram.com/xid/0y8a0q-go7f4t


https://wolfram.com/xid/0y8a0q-oylrsv

Applying N to an unevaluated product effectively uses NProduct:

https://wolfram.com/xid/0y8a0q-cwvgs4


https://wolfram.com/xid/0y8a0q-n4kouy

DiscreteRatio is the inverse for indefinite products:

https://wolfram.com/xid/0y8a0q-bsci41


https://wolfram.com/xid/0y8a0q-no0l1

Product essentially solves a special difference equation as solved by RSolve:

https://wolfram.com/xid/0y8a0q-eocg18


https://wolfram.com/xid/0y8a0q-c5dkzf


https://wolfram.com/xid/0y8a0q-ctddbc


https://wolfram.com/xid/0y8a0q-c5f73x

Possible Issues (2)Common pitfalls and unexpected behavior
A product may not be convergent:

https://wolfram.com/xid/0y8a0q-n9pchy


The upper product limit is assumed to be an integer distance from the lower limit:

https://wolfram.com/xid/0y8a0q-kaikc


https://wolfram.com/xid/0y8a0q-b1c4yd


https://wolfram.com/xid/0y8a0q-e4i23p

Use GenerateConditions to get explicit assumptions:

https://wolfram.com/xid/0y8a0q-bp0tdq


https://wolfram.com/xid/0y8a0q-c16emj

In general, the upper limit is assumed to be a multiple of distance from the lower limit:

https://wolfram.com/xid/0y8a0q-nyaj4c

With GenerateConditions, the assumptions are explicit:

https://wolfram.com/xid/0y8a0q-tjfyy

Neat Examples (2)Surprising or curious use cases
Answers in terms of Zeta and PolyLog derivatives:

https://wolfram.com/xid/0y8a0q-c5o77c


https://wolfram.com/xid/0y8a0q-i5u8q7

Create a gallery of infinite products:

https://wolfram.com/xid/0y8a0q-drjp4y

https://wolfram.com/xid/0y8a0q-dllhpe

Wolfram Research (1988), Product, Wolfram Language function, https://reference.wolfram.com/language/ref/Product.html (updated 2019).
Text
Wolfram Research (1988), Product, Wolfram Language function, https://reference.wolfram.com/language/ref/Product.html (updated 2019).
Wolfram Research (1988), Product, Wolfram Language function, https://reference.wolfram.com/language/ref/Product.html (updated 2019).
CMS
Wolfram Language. 1988. "Product." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/Product.html.
Wolfram Language. 1988. "Product." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/Product.html.
APA
Wolfram Language. (1988). Product. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Product.html
Wolfram Language. (1988). Product. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Product.html
BibTeX
@misc{reference.wolfram_2025_product, author="Wolfram Research", title="{Product}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/Product.html}", note=[Accessed: 27-March-2025
]}
BibLaTeX
@online{reference.wolfram_2025_product, organization={Wolfram Research}, title={Product}, year={2019}, url={https://reference.wolfram.com/language/ref/Product.html}, note=[Accessed: 27-March-2025
]}