XCas sum limit confusion

08262020, 07:48 PM
Post: #1




XCas sum limit confusion
Quote:Discrete sum (with 2 or 4 arguments return then sum from a to b if a<=bAbove quote is from XCas help screen for sum() Why the convoluted swapping of limit with aboved logic ? And, why swapped limit changed to b+1 to a1, and not b to a ? Some confusing examples: XCas> sum(k, k, 1, 5) // = 1+2+3+4+5 = 15 XCas> sum(k, k, 5, 1) // = sum(k, k, 2, 4) = (2+3+4) = 9. OK, but don't know why XCas> sum(k, k, 5, 1, 1) // got 15 ? somehow, step flipped to 1, instead of swapping limits. XCas> sum(k, k, 5.1, 1) // got 14.0 ? expected sum(k, k, 2, 4.1) = (2+3+4) = 9 Missing step is not equivalent to default step=1 XCas> factor(sum(k, k, a, b)) // (b+a)*(ba+1)/2 XCas> sum(k, k, a, b, 1) // "Unable to sort boundaries a,b Error: Bad Argument Value" 

08262020, 09:58 PM
(This post was last modified: 11232020 07:24 PM by Albert Chan.)
Post: #2




RE: XCas sum limit confusion
This may explain the reason for (a,b) → (b+1,a1), if a>b+1
Say, we have a function F(x) = sum(f(t), t=inf .. x1) If a ≤ b, S1 = sum(f(t), t=a .. b) = F(b+1)  F(a) If a > b, we could flip the limit, just like doing integrals. S2 =  sum(f(t), t=b .. a) = (F(a+1)  F(b)) = F(b)  F(a+1) But, S1 != S2. To aim for symmetry, we shift the limit a bit: S2 =  sum(f(t), t=b+1 .. a1) = F(a)  F(b+1) = S1 Sympy Gamma: Sum(k, (k, 5, 1)) = (2 + 3 + 4) = 9 But, the cure maybe worse than the disease. Mathematica also does closed end limit, but generated a list. (conceptually) If the list is empty, there is nothing to sum. We lost the symmetry, but it is simple to understand. Mathematica: Sum(k, (k, 5, 1)) = 0 Openended sum is very elegant: S1 = sum(f(t), t = a .. b1) = F(b)  F(a) S2 = sum(f(t), t = b .. a1) = F(a)  F(b) We got nice symmetry, without worrying a, b sort order. Also of interest: Should array indices start at 0 or 1 ? 

09022023, 12:54 PM
Post: #3




RE: XCas sum limit confusion
For the same reason, product limits behave exactly the same as sum.
Cas> Pochhammer(a,n) := product((a+j), j, 0, n1) Cas> Pochhammer(a, 0) → 1 Cas> Pochhammer(0, 0) → 1 When limits get switched, "opposite" for sum negated equivalent to product reciprocal. Pochhammer(a, n) = product((a+j), j, 0, n1) = 1/product((a+j), j, n, 1) Cas> Pochhammer(a, 3) → a*(a+1)*(a+2) Cas> Pochhammer(a, 3) → 1/((a1)*(a2)*(a3)) 

« Next Oldest  Next Newest »

User(s) browsing this thread: 1 Guest(s)