RE: Product
- To: mathgroup at smc.vnet.net
- Subject: [mg87527] RE: [mg87457] Product
- From: "Jose Luis Gomez" <jose.luis.gomez at itesm.mx>
- Date: Sat, 12 Apr 2008 06:59:06 -0400 (EDT)
- References: <200804110542.BAA04653@smc.vnet.net>
(* 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:*)
(* http://homepage.cem.itesm.mx/lgomez/matecmatica/fp/fp.html *)
(* http://homepage.cem.itesm.mx/lgomez/matecmatica/funcionalprog.nb *)
(* Hope that helps *)
(* Jose *)
(* Mexico *)
-----Mensaje original-----
De: Steven [mailto:steven_504 at telenet.be]
Enviado el: Viernes, 11 de Abril de 2008 12:43 a.m.
Para: mathgroup at smc.vnet.net
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.
TIA
- Follow-Ups:
- Re: RE: Product
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: RE: Product
- References:
- Product
- From: "Steven" <steven_504@telenet.be>
- Product