Open AlanPearl opened 4 years ago
Everything works now after running pip install sympy==1.5.1
(downgraded from 1.6)! Now I'm not sure if this is a bug with nbodykit or sympy
@eelregit, @nickhand any comments?
The travis builds are stalling in a similar looking location: https://travis-ci.org/github/bccp/nbodykit/jobs/703292960
Seems like a sympy problem. It'd be nice to submit a minimal example to sympy issues, after figuring out which m it got stuck on, and which factor() of the two on the line.
Yes. I can confirm with the sympy master branch (1.7.0dev0) the three point test case no longer stalls.
I suspect https://github.com/sympy/sympy/pull/19537 is the fix. Not sure about their release cycle -- if they'll cut a release soon, then we probably don't need to do anything on our side.
Sounds good. I looked into it a little bit more and it looks like factoring using the imaginary extension is what causes the issue. I opened an issue here https://github.com/sympy/sympy/issues/19688#issue-650114094
Woops, you're right, this does indeed work on the master branch of sympy!
Thanks for pinning this down to the imaginary extension!
Issue
Both
SurveyData3PCF
andSimulationBox3PCF
can be instantiated for example whenpoles=[0, 1]
. However, if I include a pole of 2 or higher in the list of poles, it never instantiates. I've tracked the problem down to the YlmCache class, which seems to enter an infinite loop somewhere inexpr.factor()
ofYlmCache._get_Ylm()
whenever m = 2 and above. I'm not super familiar with sympy expressions, so I don't know how to fix this.Producing this bug
Installation (I'm running Ubuntu 18.04.4 on WSL)
Anything with m < 2 works fine
Runs forever with m >= 2