This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)

Product

Product
evaluates the product .
Product
starts with .
Product
uses steps di.
Product
uses successive values , , ....
Product
evaluates the multiple product .
Product
gives the indefinite product .
  • The limits should be underscripts and overscripts of in normal input, and subscripts and superscripts when embedded in other text.
  • Product uses the standard Mathematica 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.
  • For sums, the following options can be given:
Assumptions$Assumptionsassumptions to make about parameters
GenerateConditionsFalsewhether to generate answers that involve conditions on parameters
MethodAutomaticmethod to use
RegularizationNonewhat regularization to use
VerifyConvergenceTruewhether to verify convergence
  • Possible values for Regularization include: None and . specifies different schemes for different variables in a multiple product.
  • Product can do essentially all products that are given in standard books of tables.
Numeric product:
Symbolic product:
Use Esc prod Esc to enter and Ctrl+_ to enter the lower limit, then Ctrl+% for the upper limit:
Infinite product:
Multiple product with product over performed first:
Numeric product:
In[1]:=
Click for copyable input
Out[1]=
 
Symbolic product:
In[1]:=
Click for copyable input
Out[1]=
 
Use Esc prod Esc to enter and Ctrl+_ to enter the lower limit, then Ctrl+% for the upper limit:
In[1]:=
Click for copyable input
Out[1]=
 
Infinite product:
In[1]:=
Click for copyable input
Out[1]=
 
Multiple product with product over performed first:
In[1]:=
Click for copyable input
Out[1]=
A definite product over a finite range:
Use step size 2:
Use a list of elements:
Plot the sequence of partial products:
A multiple product over finite ranges:
Use different step sizes:
The outermost product bounds can depend on inner variables:
Combine a product over lists with standard iteration ranges:
The elements in the iterator list can be any expression:
Compute a product over an infinite range:
Multivariate product over infinite ranges:
Use a symbolic range:
Indefinite products:
The ratio is equivalent to the multiplicand:
The definite product is given as the ratio of indefinite products:
Multivariate indefinite products:
Mixes of indefinite and definite products:
Use GenerateConditions to get the conditions under which the answer is true:
Refine the resulting answer:
Use Assumptions to provide assumptions directly to Product:
Ratios of expressions with a general function:
Indefinite products are unique up to a constant factor:
For exponential functions, products are equivalent to sums :
The results differ by a constant factor:
The product of polynomial functions can always be done in terms of factorial functions:
Products of rational functions can always be represented as rational functions and factorials:
A minimal number of factorial functions will be used:
Hypergeometric term sequences can be represented in terms of BarnesG:
The DiscreteRatio is rational for all hypergeometric term sequences:
Many functions give hypergeometric terms:
Any products of hypergeometric terms are hypergeometric terms:
Their products in general require BarnesG:
Q-polynomial products can always be represented in terms of q-factorial functions:
A q-polynomial is the composition of a polynomial with an exponential:
Products of q-rational functions can always be done in terms of q-rational and q-factorials:
A q-rational function is the composition of a rational function with an exponential:
In general Root objects are needed:
Polynomials and rational functions of trigonometric functions:
Similarly for hyperbolic functions:
Rational functions raised to a polynomial power:
Floor and Ceiling related functions:
Periodic sequences:
Any function applied to a periodic sequence generates a periodic sequence:
A sequence raised to a periodic exponent:
A periodic sequence raised to a non-periodic exponent:
For exponential functions products are equivalent to sums :
Rational products can be represented as factorial functions:
For infinite products the limit of the multiplicand needs to be 1:
An infinite product may not converge:
Hypergeometric term products can be represented in terms of BarnesG:
Q-polynomial products can be represented in terms of q-factorial functions:
Some products of q-rational functions can be represented as q-rational functions:
But in general they require q-factorial functions:
Products of trigonometric and hyperbolic functions:
Piecewise products can often be reduced to the previous classes:
In other cases the piecewise part is eventually constant:
Special products:
Multiple products:
Use Assumptions to study the behavior under different conditions on the parameter:
Generate conditions for convergence of an infinite product:
The product of all primes is divergent:
Use Regularization to assign a finite value to this product:
The product of all natural numbers is divergent:
Setting VerifyConvergence to False may assign a finite value in such cases:
Many special functions are defined by products, including Factorial:
And BarnesG:
Many constants can be represented as products including Pi:
E:
Weierstrass factorizations for elementary functions:
A Lagrange interpolating polynomial:
A Lagrange interpolating polynomial for symbolic values:
A Newton interpolating polynomial for symbolic values:
Using a symbolic closed-form product can provide fast evaluation:
Compare timings of the closed form to procedural evaluation:
Define a likelihood function for a distribution and dataset:
The likelihood function for an ExponentialDistribution for a small dataset:
Find the maximum-likelihood parameter estimator:
Likelihood function for BernoulliDistribution:
NProduct will use numerical methods to compute products:
Applying N to an unevaluated product effectively uses NProduct:
DiscreteRatio is the inverse for indefinite products:
Product essentially solves a special difference equation as solved by RSolve:
A product may not be convergent:
The upper product limit is assumed to be an integer distance from the lower limit:
Use GenerateConditions to get explicit assumptions:
In general the upper limit is assumed to be a multiple of distance from the lower limit:
With GenerateConditions the assumptions are explicit:
Answers in terms of Zeta and PolyLog derivatives:
New in 1 | Last modified in 7