[Date Index] [Thread Index] [Author Index]
Re: error with Sum and Infinity
On 8/4/09 at 4:30 AM, fateman at cs.berkeley.edu (Richard Fateman) wrote: >The underlying point is that Mathematica is conflating two concepts >with the name Sum: >A. A loop of finitely many terms evaluated in sequence and adding >up the terms. and >B. A symbolic calculation based on various combinatorial ideas, the >calculus of finite differences, and other systematic simplifications >that reduces a summation, either finite or infinite, into a result >that does not have any summation notation in it. Like summing >arithmetic progressions, geometric progressions, etc (and very >advanced etc.). >For this second concept to work, the summand must be something that >can be suitably manipulated, typically starting as a single >algebraic expression. A programming segment, or a pattern match that >requires that each value of the index be fed into an evaluator will >not, generally work with algorithms for indefinite or >definite/infinite summation. Obviously you cannot feed an infinite >number of index values into a function and sum up all the terms. >A clean solution would be to separate these two concepts: a loop >and a symbolic closed-form simplifier for a summation. Or for >Mathematica to use the Sum form, but somehow allow you to indicate >to the system that you want it evaluated as a loop or simplified to >a closed form. Your suggestion truly will not solve anything. Suppose Mathematica had functions SumA and SumB per your description above. Now instead of a new user asking why Sum doesn't return 1 when infinitely many terms exist, you will get questions as to why SumB cannot deal with a finite number of terms or the same question when SumA fails to work as the user is expecting. It does not help clarify things to add a new function with a different name for new users. In fact, it is more likely to cause confusion since you would now have two things with similar names that don't behave the same. And if the two names were not similar, you almost certainly ensure a new user will not find the one with the less intuitive name. And for the more experienced/knowledgeable user there is no advantage to what you propose over the way things are now.