Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

This is apparently indeed a bug. Aside from the example yideey gives, we have the following in the code:

cmd1 = "integrate((%s)*(%s),%s,%s,%s)"%(i1,i2, uu, a1,    tt-b1)    ## if a1+b1 < tt < a2+b1
cmd2 = "integrate((%s)*(%s),%s,%s,%s)"%(i1,i2, uu, tt-b2, tt-b1)    ## if a1+b2 < tt < a2+b1
cmd3 = "integrate((%s)*(%s),%s,%s,%s)"%(i1,i2, uu, tt-b2, a2)       ## if a1+b2 < tt < a2+b2
cmd4 = "integrate((%s)*(%s),%s,%s,%s)"%(i1,i2, uu, a1, a2)          ## if a2+b1 < tt < a1+b2
<snip>
if a1-b1<a2-b2:
    if a2+b1!=a1+b2:
       h = Piecewise([[(a1+b1,a1+b2),fg1],[(a1+b2,a2+b1),fg4],[(a2+b1,a2+b2),fg3]])

Note how the cmd2 (which becomes fg2) is what is supposed to end up between a1+b2 and a2+b1, but instead the result of cmd4 does (which is fg4).

This is now this bug report on Trac, #12123.