diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index be80e60..0da85da 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -268,6 +268,210 @@ in the bootstrap set. Thus, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Chapter A} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{package AFALGRES AffineAlgebraicSetComputeWithResultant} +<>= +)set break resume +)sys rm -f AffineAlgebraicSetComputeWithResultant.output +)spool AffineAlgebraicSetComputeWithResultant.output +)set message test on +)set message auto off +)clear all + +--S 1 of 1 +)show AffineAlgebraicSetComputeWithResultant +--R AffineAlgebraicSetComputeWithResultant(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 AffineAlgebraicSetComputeWithResultant is AFALGRES +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.4.pamphlet to see algebra source code for AFALGRES +--R +--R------------------------------- Operations -------------------------------- +--R affineAlgSet : List PolyRing -> Union(List ProjPt,"failed",Infinite,Integer) +--R affineAlgSetLocal : List SparseUnivariatePolynomial SparseUnivariatePolynomial K -> Union(List ProjPt,"failed",Infinite,Integer) +--R affineRationalPoints : (PolyRing,PositiveInteger) -> Union(List ProjPt,"failed",Infinite,Integer) +--R affineSingularPoints : PolyRing -> Union(List ProjPt,"failed",Infinite,Integer) +--R affineSingularPoints : SparseUnivariatePolynomial SparseUnivariatePolynomial K -> Union(List ProjPt,"failed",Infinite,Integer) +--R allPairsAmong : List SparseUnivariatePolynomial SparseUnivariatePolynomial K -> List List SparseUnivariatePolynomial SparseUnivariatePolynomial K +--R polyRing2UPUP : PolyRing -> SparseUnivariatePolynomial SparseUnivariatePolynomial K +--R +--E 1 + +)spool +)lisp (bye) +@ +<>= +==================================================================== +AffineAlgebraicSetComputeWithResultant examples +==================================================================== + +See Also: +o )show AffineAlgebraicSetComputeWithResultant + +@ +\pagehead{AffineAlgebraicSetComputeWithResultant}{AFALGRES} +\pagepic{ps/v104affinealgebraicsetcomputewithresultant.eps}{AFALGRES}{1.00} + +{\bf Exports:}\\ +\begin{tabular}{lll} +\cross{AFALGRES}{affineAlgSet} & +\cross{AFALGRES}{affineAlgSetLocal} & +\cross{AFALGRES}{affineRationalPoints} \\ +\cross{AFALGRES}{affineSingularPoints} & +\cross{AFALGRES}{allPairsAmong} & +\cross{AFALGRES}{polyRing2UPUP} +\end{tabular} + +<>= +)abbrev package AFALGRES AffineAlgebraicSetComputeWithResultant +++ 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 +AffineAlgebraicSetComputeWithResultant(K,symb,PolyRing,E,ProjPt):Ex==Impl where + K : Field + symb: List(Symbol) + OV ==> OrderedVariableList(symb) + E : DirectProductCategory(#symb,NonNegativeInteger) + PolyRing : PolynomialCategory(K,E,OV) + ProjPt : ProjectiveSpaceCategory(K) + PCS : LocalPowerSeriesCategory(K) + + SUP ==> SparseUnivariatePolynomial + UPUP ==> SUP(SUP(K)) + NNI ==> NonNegativeInteger + RFP ==> RootsFindingPackage + + Ex ==> with + + affineSingularPoints: PolyRing -> _ + Union(List(ProjPt),"failed","Infinite",Integer) + + affineSingularPoints: UPUP -> _ + Union(List(ProjPt),"failed","Infinite",Integer) + + affineAlgSetLocal: List UPUP -> _ + Union(List(ProjPt),"failed","Infinite",Integer) + + affineAlgSet: List PolyRing -> _ + Union(List ProjPt ,"failed","Infinite",Integer) + + polyRing2UPUP: PolyRing -> UPUP + + allPairsAmong: List UPUP -> List List UPUP + + affineRationalPoints: (PolyRing, PositiveInteger) -> _ + Union(List(ProjPt),"failed","Infinite",Integer) + + Impl ==> add + + import ProjPt + + evAtcoef: (UPUP,K) -> SUP(K) + + evAtcoef(pol,a)== + zero?(pol) => 0 + dd:= degree pol + lc:= leadingCoefficient pol + monomial( lc(a), dd )$SUP(K) + evAtcoef( reductum(pol), a ) + + polyRing2UPUP(pol)== + zero?(pol) => 0 + dd:= degree pol + lc:= leadingCoefficient pol + pp:= parts dd + monomial(monomial(lc,pp.1)$SUP(K),pp.2)$UPUP+polyRing2UPUP(reductum(pol)) + + if K has FiniteFieldCategory then + + affineRationalPoints(crv:PolyRing,extdegree:PositiveInteger) == + listPtsIdl:List(ProjPt):= empty() + x:= monomial(1,directProduct(vector([1,0,0])$Vector(NNI)))$PolyRing + y:= monomial(1,directProduct(vector([0,1,0])$Vector(NNI)))$PolyRing + if K has PseudoAlgebraicClosureOfFiniteFieldCategory then + setTower!(1$K)$K + q:= size()$K + px:= x**(q**extdegree) - x + py:= y**(q**extdegree) - y + rpts:= affineAlgSet([crv,px,py]) + -- si les 3 tests qui suivent ne sont pas la, + -- alors ca ne compile pas !!! ??? + rpts case "failed" => _ + error "case failed: From affineRationalPoints in AFALGRES" + rpts case "Infinite" => _ + error "case infinite: From affineRationalPoints in AFALGRES" + rpts case Integer => _ + error "case Integer: From affineRationalPoints in AFALGRES" + rpts case List(ProjPt) => rpts + error "case unknown: From affineRationalPoints in AFALGRES" + + allPairsAmong(lp)== + #lp = 2 => [lp] + rlp:=rest lp + subL:= allPairsAmong rlp + pol:=first lp + frontL:= [[pol,p] for p in rlp] + concat( frontL , subL ) + + affineSingularPoints(pol:PolyRing)== + affineSingularPoints( polyRing2UPUP pol ) + + affineSingularPoints(pol:UPUP)== + ground? pol => "failed" + lc := coefficients pol + lcb := [ ground?( c )$SUP(K) for c in lc ] + reduce("and" , lcb) => "failed" + dy:=differentiate(pol) + dx:=map(differentiate$SUP(K),pol) + affineAlgSetLocal( [ pol, dy, dx ] ) + + resultantL: List UPUP -> SUP(K) + resultantL(lp)== + g:=first lp + h:= last lp + resultant(g,h) + + affineAlgSet(lpol:List PolyRing)== + affineAlgSetLocal( [ polyRing2UPUP pol for pol in lpol ] ) + + affineAlgSetLocal(lpol:List UPUP)== + listPtsIdl:List(ProjPt) + allP:= allPairsAmong lpol + beforGcd:List SUP(K) := [resultantL(lp) for lp in allP] + polyZeroX:SUP(K):=gcd beforGcd + zero? polyZeroX => "failed" + listZeroY:List(K):=empty() + listZeroX:List(K):=empty() + recOfZerosX:=distinguishedRootsOf(polyZeroX,1$K)$RFP(K) + degExtX:=recOfZerosX.extDegree + listZeroX:List K := recOfZerosX.zeros + listOfExtDeg:List(Integer):=empty() + listOfExtDeg:=cons(degExtX,listOfExtDeg) + lpolEval:List SUP(K) + for a in listZeroX repeat + lpolEval := [ evAtcoef(p,a) for p in lpol ] + recOfZerosOfIdeal:=distinguishedCommonRootsOf( lpolEval ,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(("AFALGRES:Infinite number of points")::OutputForm) + "Infinite" + ^one?(degExt) => + print(("AFALGRES:You need an extension of degree")::OutputForm) + print(degExt::OutputForm) + degExt + listPtsIdl + +@ +<>= +"AFALGRES" [color="#FF4488",href="bookvol10.4.pdf#nameddest=AFALGRES"] +"RFP" [color="#FF4488",href="bookvol10.4.pdf#nameddest=RFP"] +"AFALGRES" -> "RFP" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{package AF AlgebraicFunction} \pagehead{AlgebraicFunction}{AF} \pagepic{ps/v104algebraicfunction.ps}{AF}{1.00} @@ -5572,6 +5776,313 @@ BezoutMatrix(R,UP,M,Row,Col): Exports == Implementation where @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{package BLUPPACK BlowUpPackage} +<>= +)set break resume +)sys rm -f BlowUpPackage.output +)spool BlowUpPackage.output +)set message test on +)set message auto off +)clear all + +--S 1 of 1 +)show BlowUpPackage +--R BlowUpPackage(K: Field,symb: List Symbol,PolyRing: FiniteAbelianMonoidRing(K,E),E: DirectProductCategory(# symb,NonNegativeInteger),BLMET: BlowUpMethodCategory) is a package constructor +--R Abbreviation for BlowUpPackage is BLUPPACK +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.4.pamphlet to see algebra source code for BLUPPACK +--R +--R------------------------------- Operations -------------------------------- +--R applyTransform : (PolyRing,BLMET) -> PolyRing +--R biringToPolyRing : (DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),BLMET) -> PolyRing +--R newtonPolySlope : DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K) -> List List NonNegativeInteger +--R polyRingToBlUpRing : (PolyRing,BLMET) -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K) +--R quadTransform : (DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),NonNegativeInteger,BLMET) -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K) +--R stepBlowUp : (DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),AffinePlane K,BLMET,K) -> Record(mult: NonNegativeInteger,subMult: NonNegativeInteger,blUpRec: List Record(recTransStr: DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),recPoint: AffinePlane K,recChart: BLMET,definingExtension: K)) +--R +--E 1 + +)spool +)lisp (bye) +@ +<>= +==================================================================== +BlowUpPackage examples +==================================================================== + +See Also: +o )show BlowUpPackage + +@ +\pagehead{BlowUpPackage}{BLUPPACK} +\pagepic{ps/v104blowuppackage.eps}{BLUPPACK}{1.00} + +{\bf Exports:}\\ +\begin{tabular}{lll} +\cross{BLUPPACK}{applyTransform} & +\cross{BLUPPACK}{biringToPolyRing} & +\cross{BLUPPACK}{newtonPolySlope} \\ +\cross{BLUPPACK}{polyRingToBlUpRing} & +\cross{BLUPPACK}{quadTransform} & +\cross{BLUPPACK}{stepBlowUp} +\end{tabular} + +<>= +)abbrev package BLUPPACK BlowUpPackage +++ 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 +BlowUpPackage(K,symb,PolyRing,E, BLMET):Exports == Implementation where + K : Field + symb : List Symbol + PolyRing : FiniteAbelianMonoidRing(K,E) + E : DirectProductCategory(#symb,NonNegativeInteger) + BLMET : BlowUpMethodCategory + + NNI ==> NonNegativeInteger + RFP ==> RootsFindingPackage + NP ==> NewtonPolygon( K, BlUpRing, E2 , #bls) + PackPoly ==> PackageForPoly(K,BlUpRing,E2,#bls) + bls ==> ['X,'Y] + BlUpRing ==> DistributedMultivariatePolynomial( bls , K ) + E2 ==> DirectProduct(#bls , NNI) + AFP ==> AffinePlane(K) + + blowUpRec ==> Record(recTransStr:BlUpRing,recPoint:AFP,recChart:BLMET,_ + definingExtension:K) + blowUpReturn ==> Record(mult:NonNegativeInteger,subMult: NNI, _ + blUpRec:List(blowUpRec)) + recStr ==> Record( sM: NNI , blRec:List blowUpRec) + + Exports ==> with + + applyTransform: (PolyRing,BLMET) -> PolyRing + ++ quadTransform(pol,chart) apply the quadratique transformation to + ++ pol specified by chart which consist of 3 integers. The last one + ++ indicates which varibles is set to 1, the first on indicates + ++ which variable remains unchange, and the second one indicates + ++ which variable oon which the transformation is applied. + ++ For example, [2,3,1] correspond to the following: + ++ x -> 1, y -> y, z -> yz (here the variable are [x,y,z] in BlUpRing). + + quadTransform: (BlUpRing,NNI,BLMET) -> BlUpRing -- CHH + ++ quadTransform(pol,n,chart) apply the quadratique transformation + ++ to pol specified by chart has in quadTransform(pol,chart) and + ++ extract x**n to it, where x is the variable specified by the + ++ first integer in chart (blow-up exceptional coordinate). + + stepBlowUp:(BlUpRing,AFP,BLMET,K) -> blowUpReturn -- CHH + ++ stepBlowUp(pol,pt,n) blow-up the point pt on the curve defined + ++ by pol in the affine neighbourhood specified by n. + + newtonPolySlope: BlUpRing -> List List(NNI) + + polyRingToBlUpRing: (PolyRing, BLMET) -> BlUpRing + + biringToPolyRing: (BlUpRing, BLMET) -> PolyRing + + Implementation ==> add + + import BlUpRing + import AFP + import RFP(K) + import PackPoly + import NP + + makeAff( l:List(K) , chart: BLMET ):AFP == + (excepCoord chart) = 1 => affinePoint( l )$AFP + affinePoint( reverse l )$AFP + + blowExp: (E2, NNI, BLMET ) -> E2 + + maxOf: (K,K) -> K + + getStrTrans: ( BlUpRing , List BlUpRing , BLMET, K ) -> recStr + + stepBlowUp(crb:BlUpRing,pt:AFP,chart:BLMET,actualExtension:K) == + -- next is with Hamburger-Noether method + BLMET has HamburgerNoether => + nV:Integer:= chartCoord chart + crbTrans:BlUpRing:=translate(crb, list(pt))$PackPoly + newtPol:= newtonPolygon( crbTrans, quotValuation chart, _ + ramifMult chart, type chart )$NP + multPt:= multiplicity(newtPol)$NP + one?(multPt) => + [multPt, 0 , empty() ]$blowUpReturn + listOfgetTr:List recStr:= _ + [ getStrTrans( crbTrans , edge , chart , actualExtension ) _ + for edge in newtPol ] + lsubM: List NNI := [ ll.sM for ll in listOfgetTr] + subM := reduce( "+" , lsubM ) + llistOfRec: List List blowUpRec := [ ll.blRec for ll in listOfgetTr] + listOfRec:= concat llistOfRec + [ multPt, subM ,listOfRec]$blowUpReturn + -- next is with usual quadratic transform. + + BLMET has QuadraticTransform => + nV:Integer:= chartCoord chart + lpt:List(K) := list(pt)$AFP + crbTrans:=translate(crb,lpt) + minForm:=minimalForm(crbTrans) + multPt:=totalDegree( minForm)$PackPoly + listRec:List(blowUpRec):=empty() + one?(multPt) => [multPt, 0 , listRec]$blowUpReturn + -- now pt is singular !!!! + lstInd:=[i::PositiveInteger for i in 1..2 ] + -- la ligne suivante fait un choix judicieux pour minimiser le + -- degre' du transforme' stricte. + if degree( crbTrans , 2 )$PackPoly < degree( crbTrans , 1 )$PackPoly _ + then lstInd := reverse lstInd + ptInf:List(K):=[0$K,0$K] + laCarte:BLMET:= + ([last(lstInd), first(lstInd),nV] @ List Integer) :: BLMET + laCarteInf:BLMET:= + ([first(lstInd),last(lstInd),nV] @ List Integer ) :: BLMET + transStricte :=quadTransform(crbTrans,multPt,laCarte) + transStricteInf:=quadTransform(crbTrans,multPt,laCarteInf) + listPtsSingEcl:List(AFP):=empty() + transStricteZero:BlUpRing:= replaceVarByOne(minForm,excepCoord laCarte) + recOfZeros:=_ + distinguishedRootsOf(univariate(transStricteZero)$PackPoly ,_ + actualExtension )$RFP(K) + degExt:=recOfZeros.extDegree + ^one?(degExt) => + print(("You need an extension of degree")::OutputForm) + print(degExt::OutputForm) + error("Have a nice day") + listPtsSingEcl:=[makeAff([0$K,a]::List(K),laCarte) _ + for a in recOfZeros.zeros] + listRec:=[ + [ transStricte,_ + ptS,laCarte,_ + maxOf(a,actualExtension)]$blowUpRec_ + for ptS in listPtsSingEcl_ + for a in recOfZeros.zeros] + if zero?(constant(transStricteInf))$K then + listRec:= concat(listRec,[transStricteInf,_ + affinePoint(ptInf)$AFP,_ + laCarteInf,_ + actualExtension]$blowUpRec) + empty?(listRec) => + error "Something is very wrong in blowing up!!!!!!" + [multPt, 0 ,listRec]$blowUpReturn + error "Desingularisation is not implemented for the blowing up method chosen, see BlowingUpMethodCategory." + + getStrTrans( crb , inedge , actChart, actualExtension ) == + edge:= copy inedge + s := slope(edge)$NP + sden:Integer + snum:Integer + i1:Integer + i2:Integer + if s.type case "right" then + sden:= s.base + snum:=s.height + i1:=1 + i2:=2 + else -- interchange les roles de X et Y . + sden:= s.height + snum:= s.base + i1:=2 + i2:=1 + edge := copy reverse inedge + ee := entries( degree first edge) pretend List Integer + euclq: Integer + if one?(snum) then + euclq:=1 + else + euclq := s.quotient + -- sMult est la somme des multiplicite des points infiniment + -- voisin par une trans. quadratique + sMult: NNI := ( ( euclq - 1 ) * ee.i2 ) pretend NNI + -- extMult est egal a la plus grande puissance de X que l'on peut + --extraire de la transformee. + extMult := (ee.i1 + ee.i2 * euclq) pretend NonNegativeInteger + ch: BLMET + trStr:BlUpRing + listBlRec: List blowUpRec + ^zero?(s.reste ) => + ch:= createHN( i1 , i2 , chartCoord actChart, euclq , s.reste , _ + false , s.type)$BLMET + trStr:= quadTransform(crb, extMult , ch ) + listBlRec:= [ [trStr,origin()$AFP,ch,actualExtension ]$blowUpRec ] + [ sMult , listBlRec ]$recStr + polEdge := reduce( "+" , edge ) + unipol:= univariate( replaceVarByOne( polEdge , i1 )$PackPoly )$PackPoly + recOfZeros:= distinguishedRootsOf( unipol , actualExtension )$RFP(K) + degExt:=recOfZeros.extDegree + ^one?(degExt) => + print(("You need an extension of degree")::OutputForm) + print(degExt::OutputForm) + error("Have a nice day") + listOfZeroes:List K:= [ z for z in recOfZeros.zeros | ^zero?(z) ] + empty? listOfZeroes => _ + error " The curve is not absolutely irreducible since the Newton polygon has no sides " + ch:=_ + createHN( i1 , i2, chartCoord actChart, euclq, 0, false, s.type)$BLMET + lsTr:BlUpRing:= quadTransform(crb, extMult , ch ) + lAff:List AFP:=[makeAff([ 0$K, z]:: List K , ch) for z in listOfZeroes ] + listBlRec := [ [ lsTr,p,ch,maxOf( actualExtension , z) ]$blowUpRec_ + for p in lAff for z in listOfZeroes ] + [sMult, listBlRec ]$recStr + + blowExp(exp,mult,chart)== -- CHH + zero?( excepCoord chart) => exp + lexp:List NNI:=parts(exp) + ch1:Integer:= excepCoord chart + ch2:Integer:= transCoord chart + e1:Integer := lexp(ch1) pretend Integer + e2:Integer := lexp(ch2) pretend Integer + quotVal:Integer := quotValuation chart + lbexp:=[0,0] :: List(NNI) + lbexp(ch1):= ( e1 + quotVal * e2 - mult ) pretend NonNegativeInteger + lbexp(ch2):=lexp(ch2) + directProduct(vector(lbexp)$Vector(NNI))$E2 + + quadTransform(pol,mult,chart)== -- CHH + mapExponents(blowExp(#1,mult,chart),pol) + + polyRingToBlUpRing(pol,chart)== + zero? pol => 0 + lc:= leadingCoefficient pol + d:=entries degree pol + ll:= [ d.i for i in 1..3 | ^( i = chartCoord(chart) ) ] + e:= directProduct( vector( ll)$Vector(NNI) )$E2 + monomial(lc , e )$BlUpRing + polyRingToBlUpRing( reductum pol, chart ) + + biringToPolyRing(pol,chart)== + zero? pol => 0 + lc:= leadingCoefficient pol + d:=entries degree pol + nV:= chartCoord chart + ll:List NNI:= + nV = 1 => [ 0$NNI , d.1 , d.2 ] + nV = 2 => [ d.1 , 0$NNI , d.2 ] + [d.1 , d.2 , 0$NNI ] + e:= directProduct( vector( ll)$Vector(NNI) )$E + monomial(lc , e )$PolyRing + biringToPolyRing( reductum pol, chart ) + + applyTransform(pol,chart)== + biringToPolyRing( quadTransform( polyRingToBlUpRing( pol, chart ) ,_ + 0 , chart) , chart ) + +-- K has PseudoAlgebraicClosureOfFiniteFieldCategory => maxTower([a,b])$K +-- K has PseudoAlgebraicClosureOfRationalNumberCategory => maxTower([a,b])$K + maxOf(a:K,b:K):K == + K has PseudoAlgebraicClosureOfPerfectFieldCategory => maxTower([a,b])$K + 1$K +@ +<>= +"BLUPPACK" [color="#FF4488",href="bookvol10.4.pdf#nameddest=BLUPPACK"] +"RFP" [color="#FF4488",href="bookvol10.4.pdf#nameddest=RFP"] +"NPOLYGON" [color="#FF4488",href="bookvol10.4.pdf#nameddest=NPOLYGON"] +"BLUPPACK" -> "RFP" +"BLUPPACK" -> "NPOLYGON" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{package BOUNDZRO BoundIntegerRoots} \pagehead{BoundIntegerRoots}{BOUNDZRO} \pagepic{ps/v104boundintegerroots.ps}{BOUNDZRO}{1.00} @@ -155881,6 +156392,7 @@ ZeroDimensionalSolvePackage(R,ls,ls2): Exports == Implementation where \chapter{Chunk collections} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <>= +<> <> <> <> @@ -155903,6 +156415,7 @@ ZeroDimensionalSolvePackage(R,ls,ls2): Exports == Implementation where <> <> <> +<> <> <> diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index 68f9504..749047a 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| + (|AffineAlgebraicSetComputeWithResultant| . AFALGRES) (|AffinePlane| . AFFPL) (|AffinePlaneOverPseudoAlgebraicClosureOfFiniteField| . AFFPLPS) (|AffineSpace| . AFFSP) @@ -23857,6 +23858,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. (|BinaryTree| . BTREE) (|Bits| . BITS) (|BlasLevelOne| . BLAS1) + (|BlowUpPackage| . BLUPPACK) (|BlowUpWithHamburgerNoether| . BLHN) (|BlowUpWithQuadTrans| . BLQT) (|Boolean| . BOOLEAN) diff --git a/books/ps/v104affinealgebraicsetcomputewithresultant.eps b/books/ps/v104affinealgebraicsetcomputewithresultant.eps new file mode 100644 index 0000000..71c1cb4 --- /dev/null +++ b/books/ps/v104affinealgebraicsetcomputewithresultant.eps @@ -0,0 +1,266 @@ +%!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 134 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 134 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 98 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% AFALGRES +gsave +[ /Rect [ 0 72 90 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=AFALGRES) >> + /Subtype /Link +/ANN pdfmark +0.939 0.733 1.000 nodecolor +newpath 90 108 moveto +0 108 lineto +0 72 lineto +90 72 lineto +closepath fill +1 setlinewidth +filled +0.939 0.733 1.000 nodecolor +newpath 90 108 moveto +0 108 lineto +0 72 lineto +90 72 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +8 85.9 moveto 74 (AFALGRES) alignedtext +grestore +% RFP +gsave +[ /Rect [ 18 0 72 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=RFP) >> + /Subtype /Link +/ANN pdfmark +0.939 0.733 1.000 nodecolor +newpath 72 36 moveto +18 36 lineto +18 0 lineto +72 0 lineto +closepath fill +1 setlinewidth +filled +0.939 0.733 1.000 nodecolor +newpath 72 36 moveto +18 36 lineto +18 0 lineto +72 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +31.5 13.9 moveto 27 (RFP) alignedtext +grestore +% AFALGRES->RFP +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 45 72 moveto +45 64 45 55 45 46 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 48.5 46 moveto +45 36 lineto +41.5 46 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 48.5 46 moveto +45 36 lineto +41.5 46 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +end +restore +%%EOF diff --git a/books/ps/v104blowuppackage.eps b/books/ps/v104blowuppackage.eps new file mode 100644 index 0000000..c2af6cc --- /dev/null +++ b/books/ps/v104blowuppackage.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 212 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 212 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 176 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% BLUPPACK +gsave +[ /Rect [ 28 72 118 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=BLUPPACK) >> + /Subtype /Link +/ANN pdfmark +0.939 0.733 1.000 nodecolor +newpath 118 108 moveto +28 108 lineto +28 72 lineto +118 72 lineto +closepath fill +1 setlinewidth +filled +0.939 0.733 1.000 nodecolor +newpath 118 108 moveto +28 108 lineto +28 72 lineto +118 72 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +36 85.9 moveto 74 (BLUPPACK) alignedtext +grestore +% RFP +gsave +[ /Rect [ 0 0 54 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=RFP) >> + /Subtype /Link +/ANN pdfmark +0.939 0.733 1.000 nodecolor +newpath 54 36 moveto +0 36 lineto +0 0 lineto +54 0 lineto +closepath fill +1 setlinewidth +filled +0.939 0.733 1.000 nodecolor +newpath 54 36 moveto +0 36 lineto +0 0 lineto +54 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +13.5 13.9 moveto 27 (RFP) alignedtext +grestore +% BLUPPACK->RFP +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 61 72 moveto +56 64 49 54 43 44 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 46.27 42.62 moveto +38 36 lineto +40.33 46.34 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 46.27 42.62 moveto +38 36 lineto +40.33 46.34 lineto +closepath stroke +grestore +% NPOLYGON +gsave +[ /Rect [ 72 0 168 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=NPOLYGON) >> + /Subtype /Link +/ANN pdfmark +0.939 0.733 1.000 nodecolor +newpath 168 36 moveto +72 36 lineto +72 0 lineto +168 0 lineto +closepath fill +1 setlinewidth +filled +0.939 0.733 1.000 nodecolor +newpath 168 36 moveto +72 36 lineto +72 0 lineto +168 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +80 13.9 moveto 80 (NPOLYGON) alignedtext +grestore +% BLUPPACK->NPOLYGON +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 85 72 moveto +90 64 97 54 103 44 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 105.67 46.34 moveto +108 36 lineto +99.73 42.62 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 105.67 46.34 moveto +108 36 lineto +99.73 42.62 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +end +restore +%%EOF diff --git a/changelog b/changelog index 42d3be7..7e3c5b8 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,9 @@ +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 +20100522 tpd books/bookvol10.4 add AffineAlgebraicSetComputeWithResultant +20100522 tpd books/ps/v104affinealgebraicsetcomputewithresultant.eps added +20100522 tpd books/ps/v104blowuppackage.eps added 20100522 tpd src/axiom-website/patches.html 20100522.01.tpd.patch 20100522 tpd src/algebra/Makefile help and test for NewtonPolygon 20100522 tpd books/bookvol5 expose NewtonPolygon diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 4db73c5..59a0a16 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -9295,11 +9295,12 @@ LAYER12=\ @ \subsection{Layer13} -Depends on: DIAGG FRAMALG MDAGG SMATCAT UPXSCCA\\ +Depends on: DIAGG FRAMALG MDAGG SMATCAT UPXSCCA RFP\\ Used by next layer: FSAGG KDAGG MSETAGG MONOGEN <>= LAYER13=\ + ${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 \ @@ -9309,7 +9310,27 @@ LAYER13=\ @ <>= /* layer 13 */ -/* depends on: DIAGG FRAMALG MDAGG SMATCAT UPXSCCA */ +/* depends on: DIAGG FRAMALG MDAGG SMATCAT UPXSCCA RFP*/ + +"AFALGRES" [color="#FF4488",href="bookvol10.4.pdf#nameddest=AFALGRES"] +"AFALGRES" -> "RFP" +/*"AFALGRES" -> {"PRSPCAT"; "LOCPOWC"; "SETCATD"; "PACFFC"; "CHARZ"}*/ +/*"AFALGRES" -> {"PACPERC"; "FIELD"; "EUCDOM"; "PID"; "GCDDOM"; "INTDOM"}*/ +/*"AFALGRES" -> {"COMRING"; "RING"; "RNG"; "ABELGRP"; "CABMON"; "ABELMON"}*/ +/*"AFALGRES" -> {"ABELSG"; "SETCAT"; "BASTYPE"; "KOERCE"; "SGROUP"; "MONOID"}*/ +/*"AFALGRES" -> {"LMODULE"; "BMODULE"; "RMODULE"; "ALGEBRA"; "MODULE"}*/ +/*"AFALGRES" -> {"UFD"; "DIVRING"; "POLYCAT"; "PDRING"; "FAMR"; "AMR"}*/ +/*"AFALGRES" -> {"CHARNZ"; "FRETRCT"; "RETRACT"; "EVALAB"; "IEVALAB"}*/ +/*"AFALGRES" -> {"LINEXP"; "ORDSET"; "KONVERT"; "PATMAB"; "PFECAT"}*/ +/*"AFALGRES" -> {"IXAGG"; "HOAGG"; "AGG"; "TYPE"; "ELTAGG"; "ELTAB"}*/ +/*"AFALGRES" -> {"DIFRING"; "FINITE"; "ORDRING"; "OAGROUP"; "OCAMON"}*/ +/*"AFALGRES" -> {"OASGP"; "OAMONS"; "VSPACE"; "UPOLYC"; "STEP"; "NNI"; "INT"}*/ +/*"AFALGRES" -> {"LIST"; "ILIST"; "LSAGG-"; "STAGG-"; "FFIELDC"; "FPC"; "PI"}*/ +/*"AFALGRES" -> {"VECTOR"; "OUTFORM"; "MONOID-"; "ABELMON-"; "ORDSET-"}*/ +/*"AFALGRES" -> {"SGROUP-"; "LSAGG"; "STAGG"; "URAGG"; "RCAGG"; "LNAGG"}*/ +/*"AFALGRES" -> {"CLAGG"; "FLAGG"; "ELAGG"; "OM"; "ELAGG-"; "FLAGG-"}*/ +/*"AFALGRES" -> {"INS-"; "EUCDOM-"; "UFD-"; "GCDDOM-"; "ENTIRER"; "FLINEXP"}*/ +/*"AFALGRES" -> {"URAGG-"; "DIRPCAT"; "DIFEXT"; "OAMON"}*/ "DPMM" [color="#88FF44",href="bookvol10.3.pdf#nameddest=DPMM"] /*"DPMM" -> {"DIRPCAT"; "IXAGG"; "HOAGG"; "AGG"; "TYPE"; "SETCAT"}*/ @@ -9325,7 +9346,6 @@ LAYER13=\ /*"DPMM" -> {"RMATCAT"; "SINT"; "PI"; "NNI"; "INT"; "INS"; "OINTDOM"}*/ /*"DPMM" -> {"KONVERT"; "PATMAB"; "CFCAT"; "REAL"; "CHARZ"; "STEP"; "OM"}*/ - "EFUPXS" [color="#FF4488",href="bookvol10.4.pdf#nameddest=EFUPXS"] /*"EFUPXS" -> "PTRANFN"*/ "EFUPXS" -> "UPXSCCA" @@ -10179,7 +10199,8 @@ LAYER16=\ ${OUT}/ANY.o ${OUT}/ASP12.o ${OUT}/ASP27.o ${OUT}/ASP28.o \ ${OUT}/ASP30.o ${OUT}/ASP33.o ${OUT}/ASP49.o ${OUT}/ASP55.o \ ${OUT}/ASP7.o ${OUT}/ASP78.o ${OUT}/ASP8.o ${OUT}/ASP9.o \ - ${OUT}/ATTRBUT.o ${OUT}/BOP.o ${OUT}/BOP1.o ${OUT}/COMMONOP.o \ + ${OUT}/ATTRBUT.o ${OUT}/BLUPPACK.o \ + ${OUT}/BOP.o ${OUT}/BOP1.o ${OUT}/COMMONOP.o \ ${OUT}/COMPCAT.o ${OUT}/COMPCAT-.o ${OUT}/DRAW.o ${OUT}/DRAWCFUN.o \ ${OUT}/DROPT.o ${OUT}/DROPT0.o ${OUT}/D01ANFA.o ${OUT}/D01ASFA.o \ ${OUT}/D03AGNT.o ${OUT}/EP.o ${OUT}/E04AGNT.o ${OUT}/FCPAK1.o \ @@ -10476,6 +10497,27 @@ LAYER16=\ /*"BOOLEAN" -> {"LIST"; "STRING"; "CHAR"; "SINT"; "OUTFORM"; "PRIMARR"}*/ /*"BOOLEAN" -> {"A1AGG"; "ISTRING"; "SRAGG"; "FLAGG"; "LNAGG"}*/ +"BLUPPACK" [color="#88FF44",href="bookvol10.4.pdf#nameddest=BLUPPACK"] +"BLUPPACK" -> "RFP" +"BLUPPACK" -> "NPOLYGON" +/*"BLUPPACK" -> {"BLMETCT"; "PFORP"; "AFFPL"; "PACPERC"; "FIELD"; "EUCDOM"}*/ +/*"BLUPPACK" -> {"PID"; "GCDDOM"; "INTDOM"; "COMRING"; "RING"; "RNG"}*/ +/*"BLUPPACK" -> {"ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"; "SETCAT"}*/ +/*"BLUPPACK" -> {"BASTYPE"; "KOERCE"; "SGROUP"; "MONOID"; "LMODULE"}*/ +/*"BLUPPACK" -> {"BMODULE"; "RMODULE"; "ALGEBRA"; "MODULE"; "ENTIRER"}*/ +/*"BLUPPACK" -> {"UFD"; "DIVRING"; "FAMR"; "AMR"; "CHARZ"; "CHARNZ"}*/ +/*"BLUPPACK" -> {"FRETRCT"; "RETRACT"; "DIRPCAT"; "IXAGG"; "HOAGG"; "AGG"}*/ +/*"BLUPPACK" -> {"TYPE"; "EVALAB"; "IEVALAB"; "ELTAGG"; "ELTAB"; "DIFEXT"}*/ +/*"BLUPPACK" -> {"DIFRING"; "PDRING"; "FLINEXP"; "LINEXP"; "FINITE"}*/ +/*"BLUPPACK" -> {"ORDRING"; "OAGROUP"; "OCAMON"; "OAMON"; "OASGP"; "ORDSET"}*/ +/*"BLUPPACK" -> {"OAMONS"; "VSPACE"; "INT"; "LIST"; "ILIST"; "POLYCAT"}*/ +/*"BLUPPACK" -> {"KONVERT"; "PATMAB"; "PFECAT"; "LSAGG"; "STAGG"; "URAGG"}*/ +/*"BLUPPACK" -> {"RCAGG"; "LNAGG"; "CLAGG"; "FLAGG"; "ELAGG"; "OM"; "NNI"}*/ +/*"BLUPPACK" -> {"LSAGG-"; "STAGG-"; "SINT"; "PI"; "ELAGG-"; "FLAGG-"}*/ +/*"BLUPPACK" -> {"URAGG-"; "BOOLEAN"; "VECTOR"; "SYMBOL"; "REF"; "ALIST"}*/ +/*"BLUPPACK" -> {"STRING"; "CHAR"; "PRIMARR"; "A1AGG-"; "ISTRING"}*/ +/*"BLUPPACK" -> {"STAGG-"; "LNAGG-"}*/ + "BOP" [color="#88FF44",href="bookvol10.3.pdf#nameddest=BOP"] /*"BOP" -> {"ORDSET"; "SETCAT"; "BASTYPE"; "KOERCE"; "SYMBOL"; "INT"; "REF"}*/ "BOP" -> "ALIST" @@ -16892,6 +16934,36 @@ ${MID}/NPOLYGON.nrlib/code.o: ${MID}/NPOLYGON.spad | ${INTERPSYS} >${TMP}/trace ; \ fi ) @ +<>= + +BLUPPACKDEPS = RFP NPOLYGON BLMETCT PFORP AFFPL PACPERC + +${MID}/BLUPPACK.nrlib/code.o: ${MID}/BLUPPACK.spad + @echo P3 making ${MID}/BLUPPACK.nrlib/code.o from ${MID}/BLUPPACK.spad + @ (cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo -e ")lib ${BLUPPACKDEPS} \n )co BLUPPACK.spad" \ + | ${INTERPSYS} ; \ + else \ + echo -e ")lib ${BLUPPACKDEPS} \n )co BLUPPACK.spad" \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) +@ +<>= + +AFALGRESDEPS = PRSPCAT LOCPOWC SETCATD PACFFC PACPERC RFP + +${MID}/AFALGRES.nrlib/code.o: ${MID}/AFALGRES.spad + @echo P3 making ${MID}/AFALGRES.nrlib/code.o from ${MID}/AFALGRES.spad + @ (cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo -e ")lib ${AFALGRESDEPS} \n )co AFALGRES.spad" \ + | ${INTERPSYS} ; \ + else \ + echo -e ")lib ${AFALGRESDEPS} \n )co AFALGRES.spad" \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) +@ \section{Broken Files} These files are Aldor files @@ -17596,6 +17668,7 @@ This keeps the regression test list in the algebra Makefile. HELPFILE=${HELP}/help.help SPADHELP=\ + ${HELP}/AffineAlgebraicSetComputeWithResultant.help \ ${HELP}/AffinePlane.help \ ${HELP}/AffinePlaneOverPseudoAlgebraicClosureOfFiniteField.help \ ${HELP}/AffineSpace.help \ @@ -17612,6 +17685,7 @@ SPADHELP=\ ${HELP}/BinarySearchTree.help \ ${HELP}/BlasLevelOne.help \ ${HELP}/BlowUpMethodCategory.help \ + ${HELP}/BlowUpPackage.help \ ${HELP}/BlowUpWithHamburgerNoether.help \ ${HELP}/BlowUpWithQuadTrans.help \ ${HELP}/CardinalNumber.help \ @@ -17797,6 +17871,7 @@ is put into a int/Makefile.algebra and then executed by make. TESTSYS= ${OBJ}/${SYS}/bin/interpsys REGRESS= \ + AffineAlgebraicSetComputeWithResultant.regress \ AffinePlane.regress \ AffinePlaneOverPseudoAlgebraicClosureOfFiniteField.regress \ AffineSpace.regress \ @@ -17813,6 +17888,7 @@ REGRESS= \ BinarySearchTree.regress \ BlasLevelOne.regress \ BlowUpMethodCategory.regress \ + BlowUpPackage.regress \ BlowUpWithHamburgerNoether.regress \ BlowUpWithQuadTrans.regress \ CardinalNumber.regress \ @@ -17997,8 +18073,26 @@ all: ${REGRESS} @echo algebra test cases complete. @ <>= +${HELP}/AffineAlgebraicSetComputeWithResultant.help: \ + ${BOOKS}/bookvol10.4.pamphlet + @echo 7000 create \ + AffineAlgebraicSetComputeWithResultant.help from \ + ${BOOKS}/bookvol10.4.pamphlet + @${TANGLE} \ + -R"AffineAlgebraicSetComputeWithResultant.help" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${HELP}/AffineAlgebraicSetComputeWithResultant.help + @cp ${HELP}/AffineAlgebraicSetComputeWithResultant.help \ + ${HELP}/AFALGRES.help + @${TANGLE} \ + -R"AffineAlgebraicSetComputeWithResultant.input" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${INPUT}/AffineAlgebraicSetComputeWithResultant.input + @echo "AffineAlgebraicSetComputeWithResultant (AFALGRES)" \ + >>${HELPFILE} + ${HELP}/AffinePlane.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7000 create AffinePlane.help from \ + @echo 7001 create AffinePlane.help from \ ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"AffinePlane.help" \ ${BOOKS}/bookvol10.3.pamphlet \ @@ -18011,7 +18105,7 @@ ${HELP}/AffinePlane.help: ${BOOKS}/bookvol10.3.pamphlet ${HELP}/AffinePlaneOverPseudoAlgebraicClosureOfFiniteField.help: \ ${BOOKS}/bookvol10.3.pamphlet - @echo 7001 create \ + @echo 7002 create \ AffinePlaneOverPseudoAlgebraicClosureOfFiniteField.help from \ ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} \ @@ -18028,7 +18122,7 @@ ${HELP}/AffinePlaneOverPseudoAlgebraicClosureOfFiniteField.help: \ >>${HELPFILE} ${HELP}/AffineSpace.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7002 create AffineSpace.help from \ + @echo 7003 create AffineSpace.help from \ ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"AffineSpace.help" \ ${BOOKS}/bookvol10.3.pamphlet \ @@ -18040,7 +18134,7 @@ ${HELP}/AffineSpace.help: ${BOOKS}/bookvol10.3.pamphlet @echo "AffineSpace (AFFSP)" >>${HELPFILE} ${HELP}/AffineSpaceCategory.help: ${BOOKS}/bookvol10.2.pamphlet - @echo 7003 create AffineSpaceCategory.help from \ + @echo 7004 create AffineSpaceCategory.help from \ ${BOOKS}/bookvol10.2.pamphlet @${TANGLE} -R"AffineSpaceCategory.help" \ ${BOOKS}/bookvol10.2.pamphlet \ @@ -18052,7 +18146,7 @@ ${HELP}/AffineSpaceCategory.help: ${BOOKS}/bookvol10.2.pamphlet @echo "AffineSpaceCategory (AFSPCAT)" >>${HELPFILE} ${HELP}/AlgebraicallyClosedField.help: ${BOOKS}/bookvol10.2.pamphlet - @echo 7004 create AlgebraicallyClosedField.help from \ + @echo 7005 create AlgebraicallyClosedField.help from \ ${BOOKS}/bookvol10.2.pamphlet @${TANGLE} -R"AlgebraicallyClosedField.help" \ ${BOOKS}/bookvol10.2.pamphlet \ @@ -18064,7 +18158,7 @@ ${HELP}/AlgebraicallyClosedField.help: ${BOOKS}/bookvol10.2.pamphlet @echo "AlgebraicallyClosedField (ACF)" >>${HELPFILE} ${HELP}/Any.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7005 create Any.help from ${BOOKS}/bookvol10.3.pamphlet + @echo 7006 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 \ @@ -18072,7 +18166,7 @@ ${HELP}/Any.help: ${BOOKS}/bookvol10.3.pamphlet @echo "Any (ANY)" >>${HELPFILE} ${HELP}/ApplicationProgramInterface.help: ${BOOKS}/bookvol10.4.pamphlet - @echo 7006 create ApplicationProgramInterface.help from \ + @echo 7007 create ApplicationProgramInterface.help from \ ${BOOKS}/bookvol10.4.pamphlet @${TANGLE} -R"ApplicationProgramInterface.help" \ ${BOOKS}/bookvol10.4.pamphlet \ @@ -18161,7 +18255,7 @@ ${HELP}/BlasLevelOne.help: ${BOOKS}/bookvol10.5.pamphlet @echo "BlasLevelOne (BLAS1)" >>${HELPFILE} ${HELP}/BlowUpMethodCategory.help: ${BOOKS}/bookvol10.2.pamphlet - @echo 7083 create BlowUpMethodCategory.help from \ + @echo 7082 create BlowUpMethodCategory.help from \ ${BOOKS}/bookvol10.2.pamphlet @${TANGLE} -R"BlowUpMethodCategory.help" \ ${BOOKS}/bookvol10.2.pamphlet \ @@ -18172,6 +18266,18 @@ ${HELP}/BlowUpMethodCategory.help: ${BOOKS}/bookvol10.2.pamphlet >${INPUT}/BlowUpMethodCategory.input @echo "BlowUpMethodCategory (BLMETCT)" >>${HELPFILE} +${HELP}/BlowUpPackage.help: ${BOOKS}/bookvol10.4.pamphlet + @echo 7083 create BlowUpPackage.help from \ + ${BOOKS}/bookvol10.4.pamphlet + @${TANGLE} -R"BlowUpPackage.help" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${HELP}/BlowUpPackage.help + @cp ${HELP}/BlowUpPackage.help ${HELP}/BLUPPACK.help + @${TANGLE} -R"BlowUpPackage.input" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${INPUT}/BlowUpPackage.input + @echo "BlowUpPackage (BLUPPACK)" >>${HELPFILE} + ${HELP}/BlowUpWithHamburgerNoether.help: ${BOOKS}/bookvol10.3.pamphlet @echo 7084 create BlowUpWithHamburgerNoether.help from \ ${BOOKS}/bookvol10.3.pamphlet diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 3469ee1..7ffa422 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2781,5 +2781,7 @@ books/ps/v104rootsfindingpackage.eps add bounding box info
books/bookvol10.4 add PolynomialPackageForCurve
20100522.01.tpd.patch books/bookvol10.4 add NewtonPolygon
+20100522.02.tpd.patch +books/bookvol10.4 add AffineAlgebraicSetComputeWithResultant