### 5.40.31  Product : product mul

#### Product of values of an expression : product

product(expr,var,a,b,p) or mul(expr,var,a,b,p) returns the product of values of an expression ex when the variable var goes from a to b with a step p (by default p=1) : this syntax is for compatibility with Maple.
Input :

product(x`^`2+1,x,1,4)

or:

mul(x`^`2+1,x,1,4)

Output :

1700

Indeed 2*5*10*17=1700
Input :

product(x`^`2+1,x,1,5,2)

or:

mul(x`^`2+1,x,1,5,2)

Output :

520

Indeed 2*10*26=520

#### Product of elements of a list : product

product or mul takes as argument a list l of reals (or floating numbers) or two lists of the same size (see also 5.40.31, 5.45.6 and 5.45.8).

• if product or mul has a list l as argument, product or mul returns the product of the elements of l.
Input :
product([2,3,4])
or :
mul([2,3,4])
Output :
24
Input :
product([[2,3,4],[5,6,7]])
Output :
[10,18,28]
• if product or mul takes as arguments l1 and l2 (two lists or two matrices), product or mul returns the term by term product of the elements of l1 and l2.
Input :
product([2,3,4],[5,6,7])
or :
mul([2,3,4],[5,6,7])
Output :
[10,18,28]
Input :
product([[2,3,4],[5,6,7]],[[2,3,4],[5,6,7]])
or :
mul([[2,3,4],[5,6,7]],[[2,3,4],[5,6,7]])
Output :
[[4,9,16],[25,36,49]]