This has been implemented in the last 3 commits to: https://bitbucket.org/frobnitzem/sympy-cg $ git cherry-pick 894e2579e4a5..48d92278714b I'll switch to a github repo soon for pulls to work.
It fixes the infinite recursion problems, but leaves an error in test_eval_power.py and test_expand.py related to evalf_log returning a dictionary containing a substitution object with some (None, None, ...) tuples in there. evalf_log later calls mpf_cmp with those None objects and it chokes on them. I don't know the internals of evalf, but this seems like a separate issue. There may be other issues elsewhere caused by changing the behavior of Eq as well... ~ David. On Wednesday, August 29, 2012 9:42:10 AM UTC-6, David M. Rogers wrote: > > There's another reference I was looking at here: > https://groups.google.com/d/topic/sympy/xP_uM49pXeo/discussion > where Chris Smith said that 'Equal' stored an unsimplified relation, and > the Eq() should simplify. > I tried changing relational.py to always check if (lhs - rhs).equals(0), > but ran into some infinite recursions > when testing nontrivial expressions, because equals simplifies its > argument, which then calls equals again. > > On Monday, August 27, 2012 10:48:46 PM UTC-6, smichr wrote: >> >> On Tue, Aug 28, 2012 at 10:13 AM, Aaron Meurer <[email protected]> >> wrote: >> > Ah, yes. And the answer is always the same: "If we're going to fix >> > it, let's fix it the correct way". Which it's yet to be fixed, >> > because the correct way is not so simple. >> >> Since Eq(1,1) gives True, I am in favor of an iterim fix that makes >> Eq(x,x) give True, too. >> > -- You received this message because you are subscribed to the Google Groups "sympy" group. To view this discussion on the web visit https://groups.google.com/d/msg/sympy/-/zKMXBWCGEB4J. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
