### 6.42.36 Produit indicé : product mul

Voir aussi 6.42.36, 6.48.6 et 6.48.8).

#### Produit des valeurs d’une expression : product

product ou mul a 3 ou 4 ou 5 arguments.

- Avec 3 ou 5 arguments
  product(Xpr,Var=a..b,p) ou product(Xpr,Var,a,b,p) ou mul(Xpr,Var,a..b,p) ou mul(Xpr,Var,a,b,p)renvoie le produit demandé c’est à dire renvoie le produit des valeurs de l’expression Xpr quand la variable Var va de a à b avec un pas égal à p.
  On tape :
  product(x`^`2+1,x=1..5,2)
  Ou on tape :
  product(x`^`2+1,x,1,5,2)
  Ou on tape :
  mul(x`^`2+1,x=1..5,2)
  Ou on tape :
  mul(x`^`2+1,x,1,5,2)
  On obtient :
  520
  En effet :
  2*10*26=520
- Avec 4 arguments, product(Xpr,Var,a,b) ou mul(Xpr,Var,a,b) n’a pas la même valeur selon que a est plus petit ou égal à b ou non car on veut avoir l’égalité :
  product(Xpr,Var,a,b)= product(Xpr,Var,a,c)*product(Xpr,Var,c+1,b).
  Aussi, lorsque le pas p n’est pas précisé on a :
  - si a est inférieur à b,
    product(Xpr,Var,a,b) renvoie le produit des valeurs de l’expression Xpr quand la variable Var va de a à b avec un pas de 1 : cette syntaxe est compatible avec Maple.
    Ainsi si a<= b on a :
    product(Xpr,Var,a,b)=product(Xpr,Var,a,b,1).
    On tape :
    product(x`^`2+1,x,1,4)
    Ou on tape :
    mul(x`^`2+1,x,1,4)
    On obtient :
    1700
    En effet :
    2*5*10*17=1700
  - si a est supérieur à b+1,
    product(Xpr,Var,a,b) renvoie l’inverse du produit des valeurs de l’expression Xpr quand la variable Var va de b+1 à a-1 avec un pas 1 : cette syntaxe est compatible avec Maple.
    On tape :
    product(x`^`2+1,x,4,1)
    Ou on tape :
    mul(x`^`2+1,x,4,1)
    On obtient :
    1/50
    En effet :
    1/(5*10)=1/50
  - si a est égal à b+1,
    product(Xpr,Var,b+1,b) renvoie 1.
    On tape :
    product(x`^`2+1,x,5,4)
    Ou on tape :
    mul(x`^`2+1,x,5,4)
    On obtient :
    1

#### Produit des éléments d’une liste : product

Voir aussi .* (cf 6.43.5) et hadamard pour les matrices (cf 6.48.8).
product ou mul peut aussi avoir 1 ou 2 arguments :
une liste de nombres réels (ou de décimaux) ou
deux listes de même longueur.
(voir aussi 6.42.36, 6.48.6 et 6.48.8).

- si product ou mul a un argument l, product ou mul renvoie le produit des éléments de l.
  On tape :
  product([2,3,4])
  On tape :
  mul([2,3,4])
  On obtient :
  24
  On tape :
  product([[2,3,4],[5,6,7]])
  On obtient :
  [10,18,28]
  -
- si product ou mul a deux arguments l1 et l2 (qui sont deux listes ou deux matrices), product ou mul renvoie le produit terme à terme des éléments de l1 et des éléments de l2.
  On tape :
  product([2,3,4],[5,6,7])
  Ou on tape :
  mul([2,3,4],[5,6,7])
  On obtient :
  [10,18,28]
  On tape :
  product([[2,3,4],[5,6,7]],[[2,3,4],[5,6,7]])
  Ou on tape :
  mul([[2,3,4],[5,6,7]],[[2,3,4],[5,6,7]])
  On obtient :
  [[4,9,16],[25,36,49]]