Ehren Metcalfe
Ehren Metcalfe
Here's a simpler example that avoids exp_polar. hyperexpand introduces a sign change: ``` >>> m = I*meijerg(((1, x + 2), ()), ((x + S(1)/2,), (0,)), -1)/(2*sqrt(pi)) >>> m I*meijerg(((1, x...
Wolfram agrees with pi/2 
two more with the wrong sign after hyperexpand: ```meijerg(((0,), ()), ((1/2,), (1,)), I)``` and ```meijerg(((0,), ()), ((1/2,), (1,)), -1)```
It seems the issue is the z param of meijerg. There's already quite a bit of "polarifying" in meijerint and hyperexpand but in the case of e.g. do_slater it seems...
The above also doesn't work for ```meijerg(((0,), ()), ((1/2,), (1,)), -I)``` (even though it works in current sympy) but interestingly test1a_problematic is also z=-I. I seem to have a fix...
> >>> unpolarify(polar_lift(0)) > 1 I'm not sure how I arrived at this (maybe confused with polar_lift(1) == exp_polar(0)) but it is not what sympy actually produces: ``` >>> unpolarify(polar_lift(0))...
This doesn't address this case: ```python >>> meijerg(((1, 2), ()), ((S(1)/2,), (0,)), 0) meijerg(((1, 2), ()), ((1/2,), (0,)), 0) >>> hyperexpand(_) # prior to this pull this results in -4*sqrt(pi)...
> Can you explain what the purpose of polarify is especially in relation to meijerg and the integration routines and how the change here improves things (without making other things...
> The `hyperexpand(e).subs(x, 0)` case does not work because we end up with `0/0`. It could be that the `sqrt(x)` should be cancelled in or that the result from hyperexpand...
> ```python > > In [8]: hyperexpand(e).expand().subs(x, 0) > Out[8]: 0 > ``` ahh, missed this part. ~~Perhaps a Piecewise is unnecessary.~~ I think we can just disregard my Piecewise...