Why it seems that there is no counterpart function as to multiplication, to `Total` as to addition?
In addition to the previous answer...
I designed and implemented Total
17 years ago. Its first version was named ListSum
. The primary reason for ListSum
's implementation was to encapsulate the functionalities dealing with error accumulation while summing a list of numbers. (A well known phenomena in, say, numerical solvers for ODE's.)
Of course, I also considered ListProduct
, having analogous functionality. But there was not really a strong reason or use case for it.
(During the final design phase Stephen Wolfram renamed ListSum
to Total
.)
@tomd
My memory of things is that before Total, Tr@lst was considered faster than Plus@@lst if lst was a packed array, an observation Ted Ersek attributes to Rob Knapp
Rob Knapp was supervising my work on the Total
project.
Total
is different from Plus@@
because it uses tricks to minimize round-off error. It is thus a useful addition to the toolkit. Times@@
doesn't suffer from the problem, so no similar function is needed.