Updates:
Labels: NeedsReview
Comment #45 on issue 1766 by smichr: expand(power_base=True) is too
aggressive
http://code.google.com/p/sympy/issues/detail?id=1766
I think I am seeing the light at the end of the tunnel...this has been a
pandora's
box of an issue. Here's where things stand right now as of the last 0000
commit in
branch 1766:
This
(2*f*k - f*m*w**2)/(k**2 - 3*k*m*w**2 + m**2*w**4)
simplifies to
f*(2*k - m*w**2)/(k**2 - 3*k*m*w**2 + m**2*w**4)
and these assertions do not fail
Desirable behaviors
# pretty applies to exp, too
assert fraction(exp(-x)) == (1, exp(x))
# rules of powers prohibit expansion
assert separate((x*y*z)**x) == (x*y*z)**x
# if p is positive, it can be pulled out
assert separatevars(sqrt(y*(p**2 + x*p**2))) == p*sqrt(y*(1 + x))
# a negative exponent in a power is moved to the side of the fraction
# to make the exponent positive
assert (x**n).as_numer_denom() == (1, x**-n)
# non-commutatives are not re-ordered
assert (n1*n2*n1).as_independent(n2) == (n1, n2*n1)
# exp is handled in separatevars
assert (exp(2*x)-exp(2*y))/(exp(x)-exp(y)) == exp(x) + exp(y)
One of the ode XFAILS passes now.
Questionable behaviors
# you can only extract numbers of the same sign
assert (-S(4)).extract_multiplicatively(2) == None
# shouldn't the following always be true if the base is real
# and positive (as for exp())?
assert separate((exp(x)*exp(y))**z) != exp(x*z)*exp(y*z)
# shouldn't this go to (z**y)**2 automatically?
assert powsimp(z**(2*y)) == z**(2*y)
The last commit 0000 with comments is available for review.
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--
You received this message because you are subscribed to the Google Groups
"sympy-issues" 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-issues?hl=en.