MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE: Product

  • To: mathgroup at
  • Subject: [mg87527] RE: [mg87457] Product
  • From: "Jose Luis Gomez" <jose.luis.gomez at>
  • Date: Sat, 12 Apr 2008 06:59:06 -0400 (EDT)
  • References: <>

(* Steven *)
(* I think it is an interesting question *)
(* See what happens when we compare total with other ways to add many small
integers *)

(* First a test list:*)

In[1]:= mytestlist = Table[RandomInteger[{1, 9}], {1000000}];

(* add all the numbers in the list, and also report the computer time used
to calculate:*)

In[2]:= Timing[Plus @@ mytestlist]

Out[2]= {0.266, 5003966}

(* AGAIN add all the numbers in the list, BUT THIS TIME USING TOTAL and also
report the computer time used to calculate:*)

In[3]:= Timing[Total[mytestlist]]

Out[3]= {0.031, 5003966}

(* As you can see, for small integers, Total has a special algorithm that
that adds ten times faster than just add all the numbers in order*)
(* Therefore your question is equivalent to ask if there is an improved
algorithm to multiply numbers, and if that algorithm is implemented in a
special command in Mathematica, equivalent to Total*)

(* I do not know the answer, while someone else answers this, you can
multiply the following way:*)

In[4]:= Times @@ mytestlist

(* large result deleted *)

(* The following link might be interesting for you:*)
(* *)
(* *)

(* Hope that helps *)
(* Jose *)
(* Mexico *)

-----Mensaje original-----
De: Steven [mailto:steven_504 at] 
Enviado el: Viernes, 11 de Abril de 2008 12:43 a.m.
Para: mathgroup at
Asunto: [mg87457] Product

Silly beginner's question: is there a function to multiply all elements of a
list, like Total does for addition?
'fraid I can't find it.

  • References:
    • Product
      • From: "Steven" <>
  • Prev by Date: EdgeRenderingFunction to produce edge labels in GraphPlot
  • Next by Date: Re: Problem for using "Epilog" to plot legend
  • Previous by thread: Re: Product
  • Next by thread: Re: RE: Product