I caught this while trying to execute the is_convergent() method from the 
concrete module for Sum . So the problem is that any expression of the form 
Sum( f(x), (x, 1, oo)).is_convergent() where f(x) contains factorial2 
either gives out an error or False. 
Some examples being 

>>> Sum(factorial2(2*x-1)/factorial2(2*x) * 1/(2*x +1) , (x, 1, 
oo)).is_convergent()
False
>>> Sum((factorial2(2*x-1)/factorial2(2*x))**3 , (x, 1, oo)).is_convergent()
False 
>>> Sum(factorial2(2*x-1)/factorial2(2*x) * ((4*x+3)/(2*x +2)) , (x, 1, 
oo)).is_convergent()
False
>>> Sum((factorial2(2*x-1)/factorial2(2*x))**1 , (x, 1, oo)).is_convergent()
False

Usually double factorials work wonderfully when subjected to either Raabe's 
test or Krummer's test 
First 2 converge by Raabe's test  and last 2 diverge (obviously it gives 
false but I think it doesn't conduct proper evaluation ) . Their factorial 
counterparts are pretty similar and work as expected !

>>> Sum(factorial(2*x-1)/factorial(2*x) * 1/(2*x +1) , (x, 1, 
oo)).is_convergent()
True
>>> Sum((factorial(2*x-1)/factorial(2*x))**3 , (x, 1, oo)).is_convergent()
True
>>> Sum(factorial(2*x-1)/factorial(2*x) * (4*x+3)/(2*x +2) , (x, 1, 
oo)).is_convergent()
False
>>> Sum((factorial(2*x-1)/factorial(2*x))**1 , (x, 1, oo)).is_convergent()
False

Some like the following give long trace back of error 
>>> Sum(n/factorial(n) , (n, 1, oo)).is_convergent()
True
>>>Sum(n/factorial2(n) , (n, 1, oo)).is_convergent() # should give true 
like above 
>>> Sum(factorial2(n) , (n, 1, oo)).is_convergent() # should return false 
but gives long traceback

Now that most of these would involve Raabe's test and the initial 
Divergence test which involves taking limit at oo for expressions having 
factorial2
1) For Raabe's test we would need  limit( x ( ( f(x)/f(x + 1) - 1) , x, oo) 
2) For something like Sum(factorial2(n) , (n, 1, oo)).is_convergent( )  we 
would need limit(factorial2(x), x, oo) .

All of these are the actual reason for the error as gruntz is executed for 
the same which gives a long traceback. Corresponding factorial expressions 
work perfectly while using gruntz ! Obviously limit(factorial(x) , x, oo) 
gives oo.

 I am a bit new to gruntz and tend to get confused easily, hence Before 
reporting on github or trying to work on this I thought of confirming 
whether this is a legit issue . I have also mapped down couple more 
expressions from different issues reported on github for which gruntz leads 
to errors and will to work on them slowly as I get comfortable with gruntz 
!  
Any suggestions are welcome . Thanks 



-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/fc567a89-ab76-4adb-9f5b-b07c72775922n%40googlegroups.com.

Reply via email to