aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/newpoly.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-02-08 01:44:04 +0000
committerdos-reis <gdr@axiomatics.org>2009-02-08 01:44:04 +0000
commit6d93161de89559ad66be655a50d3a5001c208c90 (patch)
tree30e165f0c3cf7d8eb28fae9fa9fc9dcf0acd3ab8 /src/algebra/newpoly.spad.pamphlet
parent2fbcd8bc4f97cc3e534e11414f5a12dbc08edf2d (diff)
downloadopen-axiom-6d93161de89559ad66be655a50d3a5001c208c90.tar.gz
Fix AW/66
* algebra/zerodim.spad.pamphlet: Restore use of one? * algebra/updivp.spad.pamphlet: Likewise. * algebra/unifact.spad.pamphlet: Likewise. * algebra/triset.spad.pamphlet: Likewise. * algebra/tools.spad.pamphlet: Likewise. * algebra/suts.spad.pamphlet: Likewise. * algebra/sttaylor.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. * algebra/sregset.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Likewise. * algebra/riccati.spad.pamphlet: Likewise. * algebra/rf.spad.pamphlet: Likewise. * algebra/regset.spad.pamphlet: Likewise. * algebra/rderf.spad.pamphlet: Likewise. * algebra/rdeef.spad.pamphlet: Likewise. * algebra/quat.spad.pamphlet: Likewise. * algebra/puiseux.spad.pamphlet: Likewise. * algebra/pscat.spad.pamphlet: Likewise. * algebra/prtition.spad.pamphlet: Likewise. * algebra/prs.spad.pamphlet: Likewise. * algebra/primelt.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/poly.spad.pamphlet: Likewise. * algebra/polset.spad.pamphlet: Likewise. * algebra/pfo.spad.pamphlet: Likewise. * algebra/perm.spad.pamphlet: Likewise. * algebra/pattern.spad.pamphlet: Likewise. * algebra/padiclib.spad.pamphlet:Likewise. * algebra/openmath.spad.pamphlet: Likewise. * algebra/opalg.spad.pamphlet: Likewise. * algebra/op.spad.pamphlet: Likewise. * algebra/omerror.spad.pamphlet: Likewise. * algebra/oderf.spad.pamphlet: Likewise. * algebra/odeef.spad.pamphlet: Likewise. * algebra/oct.spad.pamphlet: Likewise. * algebra/nlinsol.spad.pamphlet: Likewise. * algebra/newpoly.spad.pamphlet: Likewise. * algebra/naalgc.spad.pamphlet: Likewise. * algebra/naalg.spad.pamphlet: Likewise. * algebra/multpoly.spad.pamphlet: Likewise. * algebra/mring.spad.pamphlet: Likewise. * algebra/modring.spad.pamphlet: Likewise. * algebra/moddfact.spad.pamphlet: Likewise. * algebra/mkfunc.spad.pamphlet: Likewise. * algebra/matstor.spad.pamphlet: Likewise. * algebra/matrix.spad.pamphlet: Likewise. * algebra/matcat.spad.pamphlet: Likewise. * algebra/manip.spad.pamphlet: Likewise. * algebra/lodof.spad.pamphlet: Likewise. * algebra/liouv.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/irexpand.spad.pamphlet: Likewise. * algebra/intrf.spad.pamphlet: Likewise. * algebra/intpm.spad.pamphlet: Likewise. * algebra/intfact.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/intclos.spad.pamphlet: Likewise. * algebra/intaux.spad.pamphlet: Likewise. * algebra/intalg.spad.pamphlet: Likewise. * algebra/intaf.spad.pamphlet: Likewise. * algebra/gpol.spad.pamphlet: Likewise. * algebra/gpgcd.spad.pamphlet: Likewise. * algebra/gb.spad.pamphlet: Likewise. * algebra/gaussian.spad.pamphlet: Likewise. * algebra/galutil.spad.pamphlet: Likewise. * algebra/galpolyu.spad.pamphlet: Likewise. * algebra/galfact.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/fs2ups.spad.pamphlet: Likewise. * algebra/fs2expxp.spad.pamphlet: Likewise. * algebra/free.spad.pamphlet: Likewise. * algebra/fraction.spad.pamphlet: Likewise. * algebra/fr.spad.pamphlet: Likewise. * algebra/fparfrac.spad.pamphlet: Likewise. * algebra/fortran.spad.pamphlet: Likewise. * algebra/fmod.spad.pamphlet: Likewise. * algebra/float.spad.pamphlet: Likewise. * algebra/ffx.spad.pamphlet: Likewise. * algebra/ffnb.spad.pamphlet: Likewise. * algebra/ffcg.spad.pamphlet: Likewise. * algebra/ffcat.spad.pamphlet: Likewise. * algebra/exprode.spad.pamphlet: Likewise. * algebra/expr.spad.pamphlet: Likewise. * algebra/expexpan.spad.pamphlet: Likewise. * algebra/elemntry.spad.pamphlet: Likewise. * algebra/efupxs.spad.pamphlet: Likewise. * algebra/efuls.spad.pamphlet: Likewise. * algebra/e04routine.spad.pamphlet: Likewise. * algebra/e04agents.spad.pamphlet: Likewise. * algebra/divisor.spad.pamphlet: Likewise. * algebra/derham.spad.pamphlet: Likewise. * algebra/defintrf.spad.pamphlet: Likewise. * algebra/defintef.spad.pamphlet: Likewise. * algebra/defaults.spad.pamphlet: Likewise. * algebra/d03agents.spad.pamphlet: Likewise. * algebra/d01weights.spad.pamphlet: Likewise. * algebra/d01routine.spad.pamphlet: Likewise. * algebra/d01agents.spad.pamphlet: Likewise. * algebra/curve.spad.pamphlet: Likewise. * algebra/crfp.spad.pamphlet: Likewise. * algebra/cont.spad.pamphlet: Likewise. * algebra/constant.spad.pamphlet: Likewise. * algebra/complet.spad.pamphlet: Likewise. * algebra/combfunc.spad.pamphlet: Likewise. * algebra/catdef.spad.pamphlet: Likewise. * algebra/brill.spad.pamphlet: Likewise. * algebra/array1.spad.pamphlet: Likewise. * algebra/algfunc.spad.pamphlet: Likewise. * algebra/algfact.spad.pamphlet: Likewise.
Diffstat (limited to 'src/algebra/newpoly.spad.pamphlet')
-rw-r--r--src/algebra/newpoly.spad.pamphlet66
1 files changed, 22 insertions, 44 deletions
diff --git a/src/algebra/newpoly.spad.pamphlet b/src/algebra/newpoly.spad.pamphlet
index db2974e2..8fee6315 100644
--- a/src/algebra/newpoly.spad.pamphlet
+++ b/src/algebra/newpoly.spad.pamphlet
@@ -114,8 +114,7 @@ NewSparseUnivariatePolynomial(R): Exports == Implementation where
ground? y =>
error "in monicModulo$NSUP: ground? #2"
yy := rep y
--- not one? (yy.first.c) =>
- not ((yy.first.c) = 1) =>
+ not one? (yy.first.c) =>
error "in monicModulo$NSUP: not monic #2"
xx := rep x; empty? xx => x
e := yy.first.k; y := per(yy.rest)
@@ -148,8 +147,7 @@ NewSparseUnivariatePolynomial(R): Exports == Implementation where
error "in lazyPseudoRemainder$NSUP: ground? #2"
ground? x => x
yy := rep y; co := yy.first.c
--- one? co => monicModulo(x,y)
- (co = 1) => monicModulo(x,y)
+ one? co => monicModulo(x,y)
(co = -1) => - monicModulo(-x,-y)
xx:= rep x; e := yy.first.k; y := per(yy.rest)
repeat
@@ -633,20 +631,17 @@ RecursivePolynomialCategory(R:Ring, E:OrderedAbelianMonoidSup, V:OrderedSet): Ca
coerce(p:$):O ==
ground? (p) => (ground(p))::O
--- if one?((ip := init(p)))
- if (((ip := init(p))) = 1)
+ if one?((ip := init(p)))
then
if zero?((tp := tail(p)))
then
--- if one?((dp := mdeg(p)))
- if (((dp := mdeg(p))) = 1)
+ if one?((dp := mdeg(p)))
then
return((mvar(p))::O)
else
return(((mvar(p))::O **$O (dp::O)))
else
--- if one?((dp := mdeg(p)))
- if (((dp := mdeg(p))) = 1)
+ if one?((dp := mdeg(p)))
then
return((mvar(p))::O +$O (tp::O))
else
@@ -654,15 +649,13 @@ RecursivePolynomialCategory(R:Ring, E:OrderedAbelianMonoidSup, V:OrderedSet): Ca
else
if zero?((tp := tail(p)))
then
--- if one?((dp := mdeg(p)))
- if (((dp := mdeg(p))) = 1)
+ if one?((dp := mdeg(p)))
then
return((ip::O) *$O (mvar(p))::O)
else
return((ip::O) *$O ((mvar(p))::O **$O (dp::O)))
else
--- if one?(mdeg(p))
- if ((mdeg(p)) = 1)
+ if one?(mdeg(p))
then
return(((ip::O) *$O (mvar(p))::O) +$O (tp::O))
((ip)::O *$O ((mvar(p))::O **$O ((mdeg(p)::O))) +$O (tail(p)::O))
@@ -1063,8 +1056,7 @@ RecursivePolynomialCategory(R:Ring, E:OrderedAbelianMonoidSup, V:OrderedSet): Ca
primitivePart! p ==
zero? p => p
--- if one?(cp := content(p))
- if ((cp := content(p)) = 1)
+ if one?(cp := content(p))
then
p := unitCanonical p
else
@@ -1086,8 +1078,7 @@ RecursivePolynomialCategory(R:Ring, E:OrderedAbelianMonoidSup, V:OrderedSet): Ca
then
gcd(r:R,p:$):R ==
--- one? r => r
- (r = 1) => r
+ one? r => r
zero? p => r
ground? p => gcd(r,ground(p))$R
gcd(gcd(r,init(p)),tail(p))
@@ -1392,13 +1383,11 @@ RecursivePolynomialCategory(R:Ring, E:OrderedAbelianMonoidSup, V:OrderedSet): Ca
dpol : NNI := mdeg(pol)
tpol: $ := tail(pol)
sipol,svpol,sdpol,stpol : String
--- if one? ipol
- if (ipol = 1)
+ if one? ipol
then
sipol := empty()$String
else
--- if one?(-ipol)
- if ((-ipol) = 1)
+ if one?(-ipol)
then
sipol := "-"
else
@@ -1409,8 +1398,7 @@ RecursivePolynomialCategory(R:Ring, E:OrderedAbelianMonoidSup, V:OrderedSet): Ca
else
sipol := concat(sipol,"*")$String
svpol := string(convert(vpol)@Symbol)
--- if one? dpol
- if (dpol = 1)
+ if one? dpol
then
sdpol := empty()$String
else
@@ -1571,8 +1559,7 @@ NewSparseMultivariatePolynomial(R,VarSet) : Exports == Implementation where
not ground?(ib)$$ =>
error"Error in monicModulo from NSMP : #2 is not monic"
mM : $
--- if not one?(ib)$$
- if not ((ib) = 1)$$
+ if not one?(ib)$$
then
r : R := ground(ib)$$
rec : Union(R,"failed"):= recip(r)$R
@@ -1703,23 +1690,20 @@ NewSparseMultivariatePolynomial(R,VarSet) : Exports == Implementation where
LazardQuotient(x:$, y:$, n: N):$ ==
zero?(n) => error("LazardQuotient$NSMP : n = 0")
--- one?(n) => x
- (n = 1) => x
+ one?(n) => x
a: N := 1
while n >= (b := 2*a) repeat a := b
c: $ := x
n := (n - a)::N
repeat
--- one?(a) => return c
- (a = 1) => return c
+ one?(a) => return c
a := a quo 2
c := exactQuo(c*c,y)
if n >= a then ( c := exactQuo(c*x,y) ; n := (n - a)::N )
LazardQuotient2(p:$, a:$, b:$, n: N) ==
zero?(n) => error " in LazardQuotient2$NSMP: bad #4"
--- one?(n) => p
- (n = 1) => p
+ one?(n) => p
c: $ := LazardQuotient(a,b,(n-1)::N)
exactQuo(c*p,b)
@@ -1782,14 +1766,12 @@ NewSparseMultivariatePolynomial(R,VarSet) : Exports == Implementation where
then
exactQuotient (a:$,b:R) ==
--- one? b => a
- (b = 1) => a
+ one? b => a
a case R => (a::R quo$R b)::$
([a.v, map(exactQuotient(#1,b),a.ts)$SUP2]$VPoly)::Rep
exactQuotient! (a:$,b:R) ==
--- one? b => a
- (b = 1) => a
+ one? b => a
a case R => (a::R quo$R b)::$
a.ts := map(exactQuotient!(#1,b),a.ts)$SUP2
a
@@ -1797,14 +1779,12 @@ NewSparseMultivariatePolynomial(R,VarSet) : Exports == Implementation where
else
exactQuotient (a:$,b:R) ==
--- one? b => a
- (b = 1) => a
+ one? b => a
a case R => ((a::R exquo$R b)::R)::$
([a.v, map(exactQuotient(#1,b),a.ts)$SUP2]$VPoly)::Rep
exactQuotient! (a:$,b:R) ==
--- one? b => a
- (b = 1) => a
+ one? b => a
a case R => ((a::R exquo$R b)::R)::$
a.ts := map(exactQuotient!(#1,b),a.ts)$SUP2
a
@@ -1817,8 +1797,7 @@ NewSparseMultivariatePolynomial(R,VarSet) : Exports == Implementation where
gcd(r,content(p))$R
gcd(r:R,p:$):R ==
--- one? r => r
- (r = 1) => r
+ one? r => r
zero? p => r
localGcd(r,p)
@@ -1826,8 +1805,7 @@ NewSparseMultivariatePolynomial(R,VarSet) : Exports == Implementation where
p case R => p
up : D := p.ts
r := 0$R
--- while (not zero? up) and (not one? r) repeat
- while (not zero? up) and (not (r = 1)) repeat
+ while (not zero? up) and (not one? r) repeat
r := localGcd(r,leadingCoefficient(up))
up := reductum up
r