Question

The first i ran this:

sage: f(x)=(2/n)*(sin(n*x)*(-1)^(n+1))
sage: sum(f, n, 1, 2) #using summation function
-sin(2*x) + 2*sin(x)

So, In this case the result was evaluated correctly.

But if i tried to combine the first line and the second line together:

sage: f(x,k) = sum((2/n)*(sin(n*x)*(-1)^(n+1)), n, 1, k)
#where n = 1,2,3 ... k
sage: f(x,2)
-2*sum((-1)^n*sin(n*x)/n, n, 1, 2)

The result was not finished.

Why sage cannot evaluate mathematical expression in this case?

Another tried to prove that Sage can pass its variable from left function to right function even though the right function was a nested function:

sage: f(x) = sin(arcsin(x)) 
sage: f(0.5)
0.500000000000000
Was it helpful?

Solution

sage: n, k = var('n, k')
sage: f(x,k) = sum((2/n)*(sin(n*x)*(-1)^(n+1)), n, 1, k)
#where n = 1,2,3 ... k
sage: f
(x, k) |--> -2*sum((-1)^n*sin(n*x)/n, n, 1, k)

I'm not sure what you think is wrong here. The 2 and a factor of -1 were both factored out, that's all.

However, I do agree that this doesn't expand. What is happening is that we are sending the sum to Maxima

if algorithm == 'maxima':
    return maxima.sr_sum(expression,v,a,b)

and then ordinarily when it returns, it is still a Maxima object (which may be a bug?). But when we put it in the function, it becomes a Sage object - but we don't have a Sage "sum" object. So I think that is what would have to be fixed.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top