Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#474 rootscontract expands unnecessarily

open
nobody
Lisp Core (472)
5
2006-07-19
2003-12-17
Stavros Macrakis
No

rootscontract((4*t+4)^(1/2)/(32*t+32)^(1/5)),
rootsconmode:all
=> (t^3+3*t^2+3*t+1)^(1/10)
instead of
(t+1)^(3/10)

There is no good reason for it to be expanding the wole
thing when there is a non-trivial gcd. At worst, it could
give the result in the form:

(4*t+4)^(3/10)/8^(1/5)

Then again, there doesn't seem to be any equivalent of
rootscontract for *integral* powers. How do you simplify

(4*t+4)^20/(t+1)^20

to 2^40

without using factor (which in general of course is much
more expensive than GCD)?

Discussion

  • Logged In: NO

    ratsubst helps:

    ex1:(4*t+4)^20/(t+1)^20
    ratsubst(z, t+1, %);

     
  • Robert Dodier
    Robert Dodier
    2006-07-19

    • labels: --> Lisp Core
     
  • Robert Dodier
    Robert Dodier
    2006-07-19

    Logged In: YES
    user_id=501686

    Observed in 5.9.3cvs.