diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index 1615264..e8e8694 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -21349,9 +21349,9 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where --------- create D and Pol - Pol1:= sort( (degree #1 > degree #2) or - ((degree #1 = degree #2 ) and - sizeLess?(leadingCoefficient #2,leadingCoefficient #1)), + Pol1:= sort((z1:Dpol,z2:Dpol):Boolean +-> (degree z1 > degree z2) or + ((degree z1 = degree z2 ) and + sizeLess?(leadingCoefficient z2,leadingCoefficient z1)), Pol) Pol:= [first(Pol1)] H:= Pol @@ -21362,22 +21362,28 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where Pol1:= rest(Pol1) en:= degree(h) lch:= lc h - dd1:= [[sup(degree(x), en), lcm(leadingCoefficient x, lch), x, h]$critPair + dd1:= + [[sup(degree(x), en), lcm(leadingCoefficient x, lch), x, h]$critPair for x in Pol] - D:= updatD(ecritMTondd1(sort((#1.lcmfij < #2.lcmfij) or - (( #1.lcmfij = #2.lcmfij ) and - ( sizeLess?(#1.lcmcij,#2.lcmcij)) ), - dd1)), ecritBonD(h,D)) + D:= updatD( + ecritMTondd1( + sort( + (z1:critPair,z2:critPair):Boolean+-> + (z1.lcmfij < z2.lcmfij) or + (( z1.lcmfij = z2.lcmfij ) and + ( sizeLess?(z1.lcmcij,z2.lcmcij)) ), dd1)), + ecritBonD(h,D)) Pol:= cons(h, eupdatF(h, Pol)) - ((en = degree(first(H))) and (leadingCoefficient(h) = leadingCoefficient(first(H)) ) ) => + ((en = degree(first(H))) and + (leadingCoefficient(h) = leadingCoefficient(first(H)) ) ) => " go to top of while " H:= updatH(h,H,crithdelH(h,H),[h]) - H:= sort((degree #1 > degree #2) or - ((degree #1 = degree #2 ) and - sizeLess?(leadingCoefficient #2,leadingCoefficient #1)), H) - D:= sort((#1.lcmfij < #2.lcmfij) or - (( #1.lcmfij = #2.lcmfij ) and - ( sizeLess?(#1.lcmcij,#2.lcmcij)) ) ,D) + H:= sort((z1,z2) +-> (degree z1 > degree z2) or + ((degree z1 = degree z2 ) and + sizeLess?(leadingCoefficient z2,leadingCoefficient z1)), H) + D:= sort((z1,z2) +-> (z1.lcmfij < z2.lcmfij) or + (( z1.lcmfij = z2.lcmfij ) and + ( sizeLess?(z1.lcmcij,z2.lcmcij)) ) ,D) xx:= xx2 -------- loop @@ -21397,14 +21403,19 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where eh := unitCanonical eh e:= degree(eh) leh:= lc eh - dd1:= [[sup(degree(x), e), lcm(leadingCoefficient x, leh), x, eh]$critPair + dd1:= + [[sup(degree(x), e), lcm(leadingCoefficient x, leh), x, eh]$critPair for x in Pol] - D:= updatD(ecritMTondd1(sort( (#1.lcmfij < - #2.lcmfij) or (( #1.lcmfij = #2.lcmfij ) and - ( sizeLess?(#1.lcmcij,#2.lcmcij)) ), dd1)), ecritBonD(eh,D)) + D:= updatD( + ecritMTondd1( + sort((z1,z2) +-> (z1.lcmfij < z2.lcmfij) or + (( z1.lcmfij = z2.lcmfij ) and + ( sizeLess?(z1.lcmcij,z2.lcmcij)) ), dd1)), + ecritBonD(eh,D)) Pol:= cons(eh,eupdatF(eh,Pol)) ^ecrithinH(eh,H) or - ((e = degree(first(H))) and (leadingCoefficient(eh) = leadingCoefficient(first(H)) ) ) => + ((e = degree(first(H))) and + (leadingCoefficient(eh) = leadingCoefficient(first(H)) ) ) => if xx2 = 1 then ala:= prindINFO(D0,ep,eh,#H, #D, xx) xx:= 2 @@ -21431,7 +21442,8 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where ecritMondd1(e: Expon, c: Dom, D2: List(critPair))== null D2 => nil x:= first(D2) - ecritM(e,c, x.lcmfij, lcm(leadingCoefficient(x.poli), leadingCoefficient(x.polj))) + ecritM(e,c, x.lcmfij, lcm(leadingCoefficient(x.poli), + leadingCoefficient(x.polj))) => ecritMondd1(e, c, rest(D2)) cons(x, ecritMondd1(e, c, rest(D2))) @@ -21474,7 +21486,9 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where x:= first(D) x1:= x.poli x2:= x.polj - ecritB(degree(h), leadingCoefficient(h), degree(x1),leadingCoefficient(x1),degree(x2),leadingCoefficient(x2)) => + ecritB(degree(h), leadingCoefficient(h), + degree(x1),leadingCoefficient(x1), + degree(x2),leadingCoefficient(x2)) => ecritBonD(h, rest(D)) cons(x, ecritBonD(h, rest(D))) @@ -21485,7 +21499,7 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where eupdatF(h: Dpol, F: List(Dpol)) == null F => nil f1:= first(F) - ecritM(degree h, leadingCoefficient(h), degree f1, leadingCoefficient(f1)) + ecritM(degree h,leadingCoefficient(h), degree f1,leadingCoefficient(f1)) => eupdatF(h, rest(F)) cons(f1, eupdatF(h, rest(F))) @@ -21515,8 +21529,8 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where dh:= degree h ecritM(dh, lc h, dh1, lc h1) => crithdelH(h, rest(H)) dh1 = sup(dh,dh1) => - plc:= extendedEuclidean( lc h1, lc h) - cons(plc.coef1*h1 + monomial(plc.coef2,subtractIfCan(dh1,dh)::Expon)*h, + plc:= extendedEuclidean( lc h1, lc h) + cons(plc.coef1*h1+monomial(plc.coef2,subtractIfCan(dh1,dh)::Expon)*h, crithdelH(h,rest(H))) cons(h1, crithdelH(h,rest(H))) diff --git a/changelog b/changelog index 1cf5cb6..be94437 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20090518 tpd src/axiom-website/patches.html 20090518.01.tpd.patch +20090518 tpd books/bookvol10.4 GBEUCLID +-> conversion 20090517 tpd src/axiom-website/patches.html 20090517.05.tpd.patch 20090517 tpd books/bookvol10.4 ELFUTS +-> conversion 20090517 tpd src/axiom-website/patches.html 20090517.04.tpd.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 090e519..aa1c78f 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1338,5 +1338,7 @@ bookvol10.4 RDEEF +-> conversion
bookvol10.3 ROIRC +-> conversion
20090517.05.tpd.patch bookvol10.4 ELFUTS +-> conversion
+20090518.01.tpd.patch +bookvol10.4 GBEUCLID +-> conversion