diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index 0da85da..e02bc24 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -268,6 +268,231 @@ in the bootstrap set. Thus, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Chapter A} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{package AFALGGRO AffineAlgebraicSetComputeWithGroebnerBasis} +<>= +)set break resume +)sys rm -f AffineAlgebraicSetComputeWithGroebnerBasis.output +)spool AffineAlgebraicSetComputeWithGroebnerBasis.output +)set message test on +)set message auto off +)clear all + +--S 1 of 1 +)show AffineAlgebraicSetComputeWithGroebnerBasis +--R AffineAlgebraicSetComputeWithGroebnerBasis(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K) is a package constructor +--R Abbreviation for AffineAlgebraicSetComputeWithGroebnerBasis is AFALGGRO +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.4.pamphlet to see algebra source code for AFALGGRO +--R +--R------------------------------- Operations -------------------------------- +--R affineAlgSet : List PolyRing -> Union(List ProjPt,"failed",Infinite,Integer) +--R affineRationalPoints : (PolyRing,PositiveInteger) -> List ProjPt +--R affineSingularPoints : PolyRing -> Union(List ProjPt,"failed",Infinite,Integer) +--R +--E 1 + +)spool +)lisp (bye) +@ +<>= +==================================================================== +AffineAlgebraicSetComputeWithGroebnerBasis examples +==================================================================== + +See Also: +o )show AffineAlgebraicSetComputeWithGroebnerBasis + +@ +\pagehead{AffineAlgebraicSetComputeWithGroebnerBasis}{AFALGGRO} +\pagepic{ps/v104affinealgebraicsetcomputewithgroebnerbasis.eps}{AFALGGRO}{1.00} + +{\bf Exports:}\\ +\begin{tabular}{lll} +\cross{AFALGGRO}{affineAlgSet} & +\cross{AFALGGRO}{affineRationalPoints} & +\cross{AFALGGRO}{affineSingularPoints} +\end{tabular} + +<>= +)abbreviation package AFALGGRO AffineAlgebraicSetComputeWithGroebnerBasis +++ Author: Gaetan Hache +++ Date Created: 17 nov 1992 +++ Date Last Updated: May 2010 by Tim Daly +++ Description: +++ The following is part of the PAFF package +AffineAlgebraicSetComputeWithGroebnerBasis(K,symb,PolyRing,E,ProjPt):Exports_ + == Implementation where + K : Field + symb: List(Symbol) + OV ==> OrderedVariableList(symb) + E : DirectProductCategory(#symb,NonNegativeInteger) + PolyRing : PolynomialCategory(K,E,OV) + ProjPt : ProjectiveSpaceCategory(K) + PCS : LocalPowerSeriesCategory(K) + + OF ==> OutputForm + PI ==> PositiveInteger + NNI ==> NonNegativeInteger + RFP ==> RootsFindingPackage + SUP ==> SparseUnivariatePolynomial + PPFC1 ==> PolynomialPackageForCurve(K,PolyRing,E,#symb,ProjPt) + + Exports ==> with + + affineAlgSet: List PolyRing -> _ + Union(List(ProjPt),"failed","Infinite",Integer) + + affineSingularPoints : PolyRing -> _ + Union(List(ProjPt),"failed","Infinite",Integer) + + affineRationalPoints: (PolyRing,PI) -> List ProjPt + ++ \axiom{rationalPoints(f,d)} returns all points on the curve + ++ \axiom{f} in the extension of the ground field of degree \axiom{d}. + ++ For \axiom{d > 1} this only works if \axiom{K} is a + ++ \axiomType{LocallyAlgebraicallyClosedField} + + Implementation ==> add + + ss2:List Symbol:= [X1,X2] + + DD ==> DistributedMultivariatePolynomial(ss2,K) + LexE ==> DirectProduct(#ss2,NonNegativeInteger) + OV2 ==> OrderedVariableList(ss2) + InGB ==> InterfaceGroebnerPackage(K,ss2,LexE,OV2,DD) + + affineAlgSetLocal : List DD -> _ + Union(List(ProjPt),"failed","Infinite",Integer) + + import PPFC1 + import PolyRing + import ProjPt + + listVar:List(OV):= [index(i::PI)$OV for i in 1..#symb] + + polyToYX1 : PolyRing -> DD + -- NOTE : polyToYX1 set the last variable to 1 and swap the 1st and 2nd var + -- so that a call to grobner will eliminate the second var before the + -- first one + -- 23/10/98 : Ce n'est plus vrai. La fonction a ete "repare'". + -- A priori ce la ne creait pas de bug, car on tenait compte de + -- cette particulariite dans la fonction affineAlgSetLocal. + -- cette derniere fct a aussi ete "ajuste'" + -- 27/10/98 + -- Ce n'est pas vraie !!! Il fauit trouve X d'abord et ensuite Y !! + -- sinon tout sr la notion de places distinguee fout le camp !!! + + polyToX10 : PolyRing -> SUP(K) + +--fonctions de resolution de sys. alg. de dim 0 + + if K has FiniteFieldCategory then + + affineRationalPoints(crv:PolyRing,extdegree:PI):List(ProjPt) == + --The code of this is almost the same as for algebraicSet + --We could just construct the ideal and call algebraicSet + --Should we do that? This might be a bit faster. + + listPtsIdl:List(ProjPt):= empty() + + x:= monomial(1,directProduct(vector([1,0])$Vector(NNI)))$DD + y:= monomial(1,directProduct(vector([0,1])$Vector(NNI)))$DD + + if K has PseudoAlgebraicClosureOfFiniteFieldCategory then + setTower!(1$K)$K + q:= size()$K + px:= x**(q**extdegree) - x + py:= y**(q**extdegree) - y + + crvXY1 := polyToYX1 crv + rpts:= affineAlgSetLocal([crvXY1,px,py]) + + -- si les 3 tests qui suivent ne sont pas la, + -- alors ca ne compile pas !!! ??? + rpts case "failed" =>_ + error "failed: From affineRationalPoints in AFALGGRO," + rpts case "Infinite" =>_ + error "Infinite: From affineRationalPoints in AFALGGRO," + rpts case Integer =>_ + error "Integer: From affineRationalPoints in AFALGGRO," + rpts case List(ProjPt) => rpts + error "Unknown: From affineRationalPoints in AFALGGRO," + + affineSingularPoints(crb)== + F:= polyToYX1 crb + Fx:=differentiate(F,index(1)$OV2) + Fy:=differentiate(F,index(2)$OV2) + affineAlgSetLocal([F,Fx,Fy]) + + affineAlgSet(ideal : List PolyRing )== + idealXY1 := [polyToYX1 pol for pol in ideal] + affineAlgSetLocal idealXY1 + + --fonctions de resolution de sys. alg. de dim 0 + affineAlgSetLocal(idealToXY1:List DD ) == + listPtsIdl:List(ProjPt) + idealGroXY1:=groebner(idealToXY1)$InGB + listZeroY:List(K):=empty() + listZeroX:List(K):=empty() + listOfExtDeg:List(Integer):=empty() + polyZeroX:DD:=last(idealGroXY1) + member?(index(1)$OV2, variables(polyZeroX)$DD) => + print(("The number of point in the algebraic set is not finite")::OF) + print(("or the curve is not absolubtly irreducible.")::OF) + error "Have a nice day" + --now we find all of the projective points where z ^= 0 + recOfZerosX:=distinguishedRootsOf(univariate(polyZeroX),1$K)$RFP(K) + -- HERE CHANGE + degExtX:=recOfZerosX.extDegree + listZeroX:List K := recOfZerosX.zeros + listOfExtDeg:=cons(degExtX,listOfExtDeg) + for a in listZeroX repeat + tjeker := [(eval(f,index(2)$OV2,a)$DD) for f in idealGroXY1] + idealGroaXb1 := [univariate(f)$DD for f in tjeker] + recOfZerosOfIdeal:=distinguishedCommonRootsOf(idealGroaXb1,a)$RFP(K) + listZeroY:= recOfZerosOfIdeal.zeros + listOfExtDeg:=cons(recOfZerosOfIdeal.extDegree,listOfExtDeg) + listPtsIdl:= + concat( [projectivePoint([a,b,1]) for b in listZeroY] ,listPtsIdl) + degExt:=lcm listOfExtDeg + zero?(degExt) => + print(("------- Infinite number of points ------")::OF) + "Infinite" + ^one?(degExt) => + print(("You need an extension of degree")::OF) + print(degExt::OF) + degExt + listPtsIdl + + polyToYX1(pol)== + zero?(pol) => 0 + dd:= degree pol + lc:= leadingCoefficient pol + pp:= parts dd + ppr:= rest reverse pp + ppv:Vector(NNI):= vector ppr + eppr:=directProduct(ppv)$LexE + monomial(lc,eppr)$DD + polyToYX1 reductum pol + + polyToX10(pol)== + zero?(pol) => 0 + dd:= degree pol + lc:= leadingCoefficient pol + pp:= parts dd + lp:= last pp + ^zero?(lp) => polyToX10 reductum pol + e1:= pp.1 + monomial(lc,e1)$SUP(K) + polyToX10 reductum pol + +@ +<>= +"AFALGGRO" [color="#FF4488",href="bookvol10.4.pdf#nameddest=AFALGGRO"] +"DIRPCAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=DIRPCAT"] +"PFECAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=PFECAT"] +"AFALGGRO" -> "DIRPCAT" +"AFALGGRO" -> "PFECAT" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{package AFALGRES AffineAlgebraicSetComputeWithResultant} <>= )set break resume @@ -156368,7 +156593,8 @@ ZeroDimensionalSolvePackage(R,ls,ls2): Exports == Implementation where output(us::OutputForm)$OutputPackage error "univariateSolve$ZDSOLVE: bad RUR" g: U := univariate(select(us,newv)::Q2)$Q2 - lc: LP := [convert(q2)@P for q2 in parts(collectUpper(us,newv)$ST)$ST] + lc: LP := _ + [convert(q2)@P for q2 in parts(collectUpper(us,newv)$ST)$ST] toSave := cons([g,lc]$RUR, toSave) toSave @@ -156392,6 +156618,7 @@ ZeroDimensionalSolvePackage(R,ls,ls2): Exports == Implementation where \chapter{Chunk collections} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <>= +<> <> <> <> diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index 749047a..be063b1 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -23829,6 +23829,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. '( ;;define the groups |basic| |naglink| |anna| |categories| |Hidden| |defaults| (|basic| + (|AffineAlgebraicSetComputeWithGroebnerBasis| . AFALGGRO) (|AffineAlgebraicSetComputeWithResultant| . AFALGRES) (|AffinePlane| . AFFPL) (|AffinePlaneOverPseudoAlgebraicClosureOfFiniteField| . AFFPLPS) diff --git a/books/ps/v104affinealgebraicsetcomputewithgroebnerbasis.eps b/books/ps/v104affinealgebraicsetcomputewithgroebnerbasis.eps new file mode 100644 index 0000000..567854e --- /dev/null +++ b/books/ps/v104affinealgebraicsetcomputewithgroebnerbasis.eps @@ -0,0 +1,311 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Graphviz version 2.20.2 (Mon Mar 30 10:09:11 UTC 2009) +%%For: (root) root +%%Title: pic +%%Pages: 1 +%%BoundingBox: 36 36 210 152 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw text fitted to its expected width +/alignedtext { % width text + /text exch def + /width exch def + gsave + width 0 gt { + [] 0 setdash + text stringwidth pop width exch sub text length div 0 text ashow + } if + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +setupLatin1 +%%Page: 1 1 +%%PageBoundingBox: 36 36 210 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 174 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% AFALGGRO +gsave +[ /Rect [ 38 72 132 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=AFALGGRO) >> + /Subtype /Link +/ANN pdfmark +0.939 0.733 1.000 nodecolor +newpath 132 108 moveto +38 108 lineto +38 72 lineto +132 72 lineto +closepath fill +1 setlinewidth +filled +0.939 0.733 1.000 nodecolor +newpath 132 108 moveto +38 108 lineto +38 72 lineto +132 72 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +46 85.9 moveto 78 (AFALGGRO) alignedtext +grestore +% DIRPCAT +gsave +[ /Rect [ 0 0 78 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=DIRPCAT) >> + /Subtype /Link +/ANN pdfmark +0.606 0.733 1.000 nodecolor +newpath 78 36 moveto +0 36 lineto +0 0 lineto +78 0 lineto +closepath fill +1 setlinewidth +filled +0.606 0.733 1.000 nodecolor +newpath 78 36 moveto +0 36 lineto +0 0 lineto +78 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +8 13.9 moveto 62 (DIRPCAT) alignedtext +grestore +% AFALGGRO->DIRPCAT +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 73 72 moveto +68 64 61 54 55 44 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 58.27 42.62 moveto +50 36 lineto +52.33 46.34 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 58.27 42.62 moveto +50 36 lineto +52.33 46.34 lineto +closepath stroke +grestore +% PFECAT +gsave +[ /Rect [ 96 0 166 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=PFECAT) >> + /Subtype /Link +/ANN pdfmark +0.606 0.733 1.000 nodecolor +newpath 166 36 moveto +96 36 lineto +96 0 lineto +166 0 lineto +closepath fill +1 setlinewidth +filled +0.606 0.733 1.000 nodecolor +newpath 166 36 moveto +96 36 lineto +96 0 lineto +166 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +104 13.9 moveto 54 (PFECAT) alignedtext +grestore +% AFALGGRO->PFECAT +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 97 72 moveto +102 64 109 54 115 44 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 117.67 46.34 moveto +120 36 lineto +111.73 42.62 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 117.67 46.34 moveto +120 36 lineto +111.73 42.62 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +end +restore +%%EOF diff --git a/changelog b/changelog index 7e3c5b8..6f8f40e 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,8 @@ +20100522 tpd src/axiom-website/patches.html 20100522.03.tpd.patch +20100522 tpd src/algebra/Makefile help and test for AFALGGRO +20100522 tpd books/bookvol5 expose AFALGGRO +20100522 tpd books/bookvol10.4 add AFALGGRO +20100522 tpd books/ps/v104affinealgebraicsetcomputewithgroebnerbasis.eps add 20100522 tpd src/axiom-website/patches.html 20100522.02.tpd.patch 20100522 tpd src/algebra/Makefile help and test for AFALGRES 20100522 tpd books/bookvol5 expose AffineAlgebraicSetComputeWithResultant diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 59a0a16..2efbcbc 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -9300,7 +9300,7 @@ Used by next layer: FSAGG KDAGG MSETAGG MONOGEN <>= LAYER13=\ - ${OUT}/AFALGRES.o \ + ${OUT}/AFALGGRO.o ${OUT}/AFALGRES.o \ ${OUT}/DPMM.o ${OUT}/EFUPXS.o ${OUT}/FFINTBAS.o ${OUT}/FRIDEAL.o \ ${OUT}/FRIDEAL2.o ${OUT}/FRMOD.o ${OUT}/FSAGG.o ${OUT}/FSAGG-.o \ ${OUT}/IBATOOL.o ${OUT}/INTFACT.o ${OUT}/KDAGG.o ${OUT}/KDAGG-.o \ @@ -9312,6 +9312,27 @@ LAYER13=\ /* layer 13 */ /* depends on: DIAGG FRAMALG MDAGG SMATCAT UPXSCCA RFP*/ +"AFALGGRO" [color="#FF4488",href="bookvol10.4.pdf#nameddest=AFALGGRO"] +"AFALGGRO" -> "DIRPCAT" +"AFALGGRO" -> "PFECAT" +/*"AFALGGRO" -> {"PRSPCAT"; "SETCATD"; "PACFFC"; "PACPERC"; "FIELD"}*/ +/*"AFALGGRO" -> {"EUCDOM"; "PID"; "GCDDOM"; "INTDOM"; "COMRING"; "RING"}*/ +/*"AFALGGRO" -> {"RNG"; "ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"; "SETCAT"}*/ +/*"AFALGGRO" -> {"BASTYPE"; "KOERCE"; "SGROUP"; "MONOID"; "LMODULE"}*/ +/*"AFALGGRO" -> {"BMODULE"; "RMODULE"; "ALGEBRA"; "MODULE"; "ENTIRER"}*/ +/*"AFALGGRO" -> {"UFD"; "DIVRING"; "POLYCAT"; "PDRING"; "FAMR"; "AMR"}*/ +/*"AFALGGRO" -> {"CHARZ"; "CHARNZ"; "FRETRCT"; "RETRACT"; "EVALAB"}*/ +/*"AFALGGRO" -> {"IEVALAB"; "FLINEXP"; "LINEXP"; "ORDSET"; "KONVERT"}*/ +/*"AFALGGRO" -> {"PATMAB"; "IXAGG"; "HOAGG"; "AGG"; "TYPE"; "ELTAGG"}*/ +/*"AFALGGRO" -> {"ELTAB"; "DIFEXT"; "DIFRING"; "FINITE"; "ORDRING"}*/ +/*"AFALGGRO" -> {"OAGROUP"; "OCAMON"; "OAMON"; "OASGP"; "OAMONS"; "VSPACE"}*/ +/*"AFALGGRO" -> {"SINT"; "OUTFORM"; "INT"; "LSAGG"; "STAGG"; "URAGG"}*/ +/*"AFALGGRO" -> {"RCAGG"; "LNAGG"; "CLAGG"; "FLAGG"; "ELAGG"; "OM"; "LIST"}*/ +/*"AFALGGRO" -> {"ILIST"; "NNI"; "FFIELDC"; "FPC"; "STEP"; "PI"; "VECTOR"}*/ +/*"AFALGGRO" -> {"MONOID-"; "ABELMON-"; "ORDSET-"; "SGROUP-"; "ORDFIN"}*/ +/*"AFALGGRO" -> {"LSAGG-"; "STAGG-"; "ELAGG-"; "FLAGG-"; "URAGG-"; "INS-"}*/ +/*"AFALGGRO" -> {"EUCDOM-"; "UFD-"; "GCDDOM-"}*/ + "AFALGRES" [color="#FF4488",href="bookvol10.4.pdf#nameddest=AFALGRES"] "AFALGRES" -> "RFP" /*"AFALGRES" -> {"PRSPCAT"; "LOCPOWC"; "SETCATD"; "PACFFC"; "CHARZ"}*/ @@ -16964,6 +16985,21 @@ ${MID}/AFALGRES.nrlib/code.o: ${MID}/AFALGRES.spad | ${INTERPSYS} >${TMP}/trace ; \ fi ) @ +<>= + +AFALGGRODEPS = PRSPCAT LOCPOWC SETCATD PACFFC PACPERC RFP PLPKCRV INTERGB + +${MID}/AFALGGRO.nrlib/code.o: ${MID}/AFALGGRO.spad + @echo P3 making ${MID}/AFALGGRO.nrlib/code.o from ${MID}/AFALGGRO.spad + @ (cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo -e ")lib ${AFALGGRODEPS} \n )co AFALGGRO.spad" \ + | ${INTERPSYS} ; \ + else \ + echo -e ")lib ${AFALGGRODEPS} \n )co AFALGRES.spad" \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) +@ \section{Broken Files} These files are Aldor files @@ -17668,6 +17704,7 @@ This keeps the regression test list in the algebra Makefile. HELPFILE=${HELP}/help.help SPADHELP=\ + ${HELP}/AffineAlgebraicSetComputeWithGroebnerBasis.help \ ${HELP}/AffineAlgebraicSetComputeWithResultant.help \ ${HELP}/AffinePlane.help \ ${HELP}/AffinePlaneOverPseudoAlgebraicClosureOfFiniteField.help \ @@ -17871,6 +17908,7 @@ is put into a int/Makefile.algebra and then executed by make. TESTSYS= ${OBJ}/${SYS}/bin/interpsys REGRESS= \ + AffineAlgebraicSetComputeWithGroebnerBasis.regress \ AffineAlgebraicSetComputeWithResultant.regress \ AffinePlane.regress \ AffinePlaneOverPseudoAlgebraicClosureOfFiniteField.regress \ @@ -18073,9 +18111,27 @@ all: ${REGRESS} @echo algebra test cases complete. @ <>= -${HELP}/AffineAlgebraicSetComputeWithResultant.help: \ +${HELP}/AffineAlgebraicSetComputeWithGroebnerBasis.help: \ ${BOOKS}/bookvol10.4.pamphlet @echo 7000 create \ + AffineAlgebraicSetComputeWithGroebnerBasis.help from \ + ${BOOKS}/bookvol10.4.pamphlet + @${TANGLE} \ + -R"AffineAlgebraicSetComputeWithGroebnerBasis.help" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${HELP}/AffineAlgebraicSetComputeWithGroebnerBasis.help + @cp ${HELP}/AffineAlgebraicSetComputeWithGroebnerBasis.help \ + ${HELP}/AFALGGRO.help + @${TANGLE} \ + -R"AffineAlgebraicSetComputeWithGroebnerBasis.input" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${INPUT}/AffineAlgebraicSetComputeWithGroebnerBasis.input + @echo "AffineAlgebraicSetComputeWithGroebnerBasis (AFALGGRO)" \ + >>${HELPFILE} + +${HELP}/AffineAlgebraicSetComputeWithResultant.help: \ + ${BOOKS}/bookvol10.4.pamphlet + @echo 7001 create \ AffineAlgebraicSetComputeWithResultant.help from \ ${BOOKS}/bookvol10.4.pamphlet @${TANGLE} \ @@ -18092,7 +18148,7 @@ ${HELP}/AffineAlgebraicSetComputeWithResultant.help: \ >>${HELPFILE} ${HELP}/AffinePlane.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7001 create AffinePlane.help from \ + @echo 7002 create AffinePlane.help from \ ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"AffinePlane.help" \ ${BOOKS}/bookvol10.3.pamphlet \ @@ -18105,7 +18161,7 @@ ${HELP}/AffinePlane.help: ${BOOKS}/bookvol10.3.pamphlet ${HELP}/AffinePlaneOverPseudoAlgebraicClosureOfFiniteField.help: \ ${BOOKS}/bookvol10.3.pamphlet - @echo 7002 create \ + @echo 7003 create \ AffinePlaneOverPseudoAlgebraicClosureOfFiniteField.help from \ ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} \ @@ -18122,7 +18178,7 @@ ${HELP}/AffinePlaneOverPseudoAlgebraicClosureOfFiniteField.help: \ >>${HELPFILE} ${HELP}/AffineSpace.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7003 create AffineSpace.help from \ + @echo 7004 create AffineSpace.help from \ ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"AffineSpace.help" \ ${BOOKS}/bookvol10.3.pamphlet \ @@ -18134,7 +18190,7 @@ ${HELP}/AffineSpace.help: ${BOOKS}/bookvol10.3.pamphlet @echo "AffineSpace (AFFSP)" >>${HELPFILE} ${HELP}/AffineSpaceCategory.help: ${BOOKS}/bookvol10.2.pamphlet - @echo 7004 create AffineSpaceCategory.help from \ + @echo 7005 create AffineSpaceCategory.help from \ ${BOOKS}/bookvol10.2.pamphlet @${TANGLE} -R"AffineSpaceCategory.help" \ ${BOOKS}/bookvol10.2.pamphlet \ @@ -18146,7 +18202,7 @@ ${HELP}/AffineSpaceCategory.help: ${BOOKS}/bookvol10.2.pamphlet @echo "AffineSpaceCategory (AFSPCAT)" >>${HELPFILE} ${HELP}/AlgebraicallyClosedField.help: ${BOOKS}/bookvol10.2.pamphlet - @echo 7005 create AlgebraicallyClosedField.help from \ + @echo 7006 create AlgebraicallyClosedField.help from \ ${BOOKS}/bookvol10.2.pamphlet @${TANGLE} -R"AlgebraicallyClosedField.help" \ ${BOOKS}/bookvol10.2.pamphlet \ @@ -18158,7 +18214,7 @@ ${HELP}/AlgebraicallyClosedField.help: ${BOOKS}/bookvol10.2.pamphlet @echo "AlgebraicallyClosedField (ACF)" >>${HELPFILE} ${HELP}/Any.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7006 create Any.help from ${BOOKS}/bookvol10.3.pamphlet + @echo 7007 create Any.help from ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"Any.help" ${BOOKS}/bookvol10.3.pamphlet >${HELP}/Any.help @cp ${HELP}/Any.help ${HELP}/ANY.help @${TANGLE} -R"Any.input" ${BOOKS}/bookvol10.3.pamphlet \ @@ -18166,7 +18222,7 @@ ${HELP}/Any.help: ${BOOKS}/bookvol10.3.pamphlet @echo "Any (ANY)" >>${HELPFILE} ${HELP}/ApplicationProgramInterface.help: ${BOOKS}/bookvol10.4.pamphlet - @echo 7007 create ApplicationProgramInterface.help from \ + @echo 7008 create ApplicationProgramInterface.help from \ ${BOOKS}/bookvol10.4.pamphlet @${TANGLE} -R"ApplicationProgramInterface.help" \ ${BOOKS}/bookvol10.4.pamphlet \ diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 7ffa422..d78ffe7 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2783,5 +2783,7 @@ books/bookvol10.4 add PolynomialPackageForCurve
books/bookvol10.4 add NewtonPolygon
20100522.02.tpd.patch books/bookvol10.4 add AffineAlgebraicSetComputeWithResultant
+20100522.03.tpd.patch +books/bookvol10.4 AffineAlgebraicSetComputeWithGroebnerBasis.eps