--- /home/rubey/axiom/mnt/linux/src/algebra/sttaylor.spad 2004-06-09 10:53:56.000000000 +0000
+++ sttaylor.spad 2004-09-08 10:50:41.000000000 +0000
@@ -444,16 +444,20 @@
(ord := (order exquo denom(rn))) case "failed" =>
error "**: rational power does not exist"
co := frst x
+ (invCo := recip co) case "failed" =>
+ error "** rational power of coefficient undefined"
+-- This error message is misleading, isn't it? see sups.spad/cRationalPower
power :=
-- one? co => YS(powerrn(rn,x,#1))
(co = 1) => YS(powerrn(rn,x,#1))
- RATPOWERS =>
- invCo := recip co
- invCo case "failed" =>
- error "** rational power of coefficient undefined"
- co**rn * YS(powerrn(rn,(invCo :: A) * x,#1))
+ (denom rn) = 1 =>
+ not negative?(num := numer rn) =>
+-- It seems that this cannot happen, but I don't know why
+ (co**num::NNI) * YS(powerrn(rn,(invCo :: A) * x,#1))
+ (invCo :: A)**((-num)::NNI) * YS(powerrn(rn,(invCo :: A) * x,#1))
+
+ RATPOWERS => co**rn * YS(powerrn(rn,(invCo :: A) * x,#1))
error "** rational power of coefficient undefined"
- monom(1,(ord :: I) * numer(rn)) * power
if A has Field then
mapdiv(x,y) == delay