Hello all,

I discovered sympy recently, and am very impressed.  It does almost
everything I need (and way more besides).

I'm making a start on removing the auto-distribution of constants
(which is apparently an old issue, referred to at
http://code.google.com/p/sympy/issues/detail?id=1497 and
http://groups.google.com/group/sympy/browse_thread/thread/32bbf03c1bd922aa/a6557f077e3b2df1?
among other places).

So far, I'm going through the failed tests, and fixing the trivial
ones (by trivial I mean that the expected behavior has changed, so
Rational(1,2)*(x+y) should return (x+y)/2, not x/2 + y/2), and
classifying the others.  The good news is that the non-trivial ones
are falling neatly into three categories so far, so there hopefully
won't be too many actual changes to make.

But there a couple of bugs that have me baffled.  For example:
test_subs_dict1 in sympy/core/tests/test_subs.

    c2,c3,q1p,q2p,c1,s1,s2,s3= symbols('c2 c3 q1p q2p c1 s1 s2 s3')
    test=c2**2*q2p*c3 + c1**2*s2**2*q2p*c3 + s1**2*s2**2*q2p*c3 \
        - c1**2*q1p*c2*s3 - s1**2*q1p*c2*s3
    assert test.subs({c1**2 : 1-s1**2, c2**2 : 1-s2**2, c3**3: 1-
s3**2}) \
        == c3*q2p*(1 - s2**2) + c3*q2p*s2**2*(1 - s1**2) -
c2*q1p*s3*(1 - s1**2) \
        + c3*q2p*s1**2*s2**2 - c2*q1p*s3*s1**2

If I create the necessary symbols, and enter

    test.subs({c1**2 : 1-s1**2, c2**2 : 1-s2**2, c3**3: 1-s3**2})

I get back

    c3*q2p*(1 - s2**2) + c3*q2p*s2**2*(1 - s1**2) - c2*q1p*s3*(1 -
s1**2) + c3*q2p*s1**2*s2**2 - c2*q1p*s3*s1**2

Which is all well and good.  But if I then copy and paste these to get

    test.subs({c1**2 : 1-s1**2, c2**2 : 1-s2**2, c3**3: 1-s3**2}) ==
c3*q2p*(1 - s2**2) + c3*q2p*s2**2*(1 - s1**2) - c2*q1p*s3*(1 - s1**2)
+ c3*q2p*s1**2*s2**2 - c2*q1p*s3*s1**2

It returns False.  Does anyone have any clue how that could happen?
I'm starting to pull my hair out over this.

Thanks in advance,
Kate

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
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.

Reply via email to