diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index 6f640e4..6618f7f 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -11369,6 +11369,504 @@ DegreeReductionPackage(R1, R2): Cat == Capsule where @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{package DTP DesingTreePackage} +<>= +)set break resume +)sys rm -f DesingTreePackage.output +)spool DesingTreePackage.output +)set message test on +)set message auto off +)clear all + +--S 1 of 1 +)show DesingTreePackage +--R DesingTreePackage(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K,PCS: LocalPowerSeriesCategory K,Plc: PlacesCategory(K,PCS),DIVISOR: DivisorCategory Plc,InfClsPoint: InfinitlyClosePointCategory(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET),DesTree: DesingTreeCategory InfClsPoint,BLMET: BlowUpMethodCategory) is a package constructor +--R Abbreviation for DesingTreePackage is DTP +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.4.pamphlet to see algebra source code for DTP +--R +--R------------------------------- Operations -------------------------------- +--R fullParamInit : DesTree -> Void genusNeg : PolyRing -> Integer +--R initParLocLeaves : DesTree -> Void +--R adjunctionDivisor : DesTree -> DIVISOR +--R blowUp : InfClsPoint -> List InfClsPoint +--R blowUpWithExcpDiv : DesTree -> Void +--R desingTree : PolyRing -> List DesTree +--R desingTreeAtPoint : (ProjPt,PolyRing) -> DesTree +--R divisorAtDesingTree : (PolyRing,DesTree) -> DIVISOR +--R genus : PolyRing -> NonNegativeInteger +--R genusTree : (NonNegativeInteger,List DesTree) -> NonNegativeInteger +--R genusTreeNeg : (NonNegativeInteger,List DesTree) -> Integer +--R inBetweenExcpDiv : DesTree -> DIVISOR +--R initializeParamOfPlaces : DesTree -> Void +--R initializeParamOfPlaces : (DesTree,List PolyRing) -> Void +--R +--E 1 + +)spool +)lisp (bye) +@ +<>= +==================================================================== +DesingTreePackage examples +==================================================================== + +See Also: +o )show DesingTreePackage + +@ +\pagehead{DesingTreePackage}{DTP} +\pagepic{ps/v104desingtreepackage.eps}{DTP}{1.00} + +{\bf Exports:}\\ +\begin{tabular}{lll} +\cross{DTP}{adjunctionDivisor} & +\cross{DTP}{blowUp} & +\cross{DTP}{blowUpWithExcpDiv} \\ +\cross{DTP}{desingTree} & +\cross{DTP}{desingTreeAtPoint} & +\cross{DTP}{divisorAtDesingTree} \\ +\cross{DTP}{fullParamInit} & +\cross{DTP}{genus} & +\cross{DTP}{genusNeg} \\ +\cross{DTP}{genusTree} & +\cross{DTP}{genusTreeNeg} & +\cross{DTP}{inBetweenExcpDiv} \\ +\cross{DTP}{initParLocLeaves} & +\cross{DTP}{initializeParamOfPlaces} & +\end{tabular} + +<>= +)abbreviation package DTP DesingTreePackage +++ Author: Gaetan Hache +++ Date Created: 17 nov 1992 +++ Date Last Updated: 31 jan 95 +++ Keywords: +++ Description: The following is all the categories, domains and package +++ used for the desingularisation be means of +++ monoidal transformation (Blowing-up) +DesingTreePackage(K, + symb, + PolyRing, + E, + ProjPt, + PCS, + Plc, + DIVISOR, + InfClsPoint, + DesTree, + BLMET + ):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) + Plc : PlacesCategory(K,PCS) + DIVISOR : DivisorCategory(Plc) + + bls ==> ['X,'Y] + BlUpRing ==> DistributedMultivariatePolynomial( bls , K) + E2 ==> DirectProduct( #bls , NonNegativeInteger ) + AFP ==> AffinePlane(K) + OV2 ==> OrderedVariableList( bls ) + PI ==> PositiveInteger + INT ==> Integer + NNI ==> NonNegativeInteger + LPARSPT ==> LocalParametrizationOfSimplePointPackage + PARAMP ==> ParametrizationPackage + PRALGPK ==> ProjectiveAlgebraicSetPackage + + + InfClsPoint : InfinitlyClosePointCategory(K,symb,PolyRing,E,ProjPt,_ + PCS,Plc,DIVISOR,BLMET) + DesTree : DesingTreeCategory(InfClsPoint) + BLMET : BlowUpMethodCategory + + PackPoly ==> PackageForPoly(K,PolyRing,E,#symb) + PACKBL ==> PackageForPoly( K , BlUpRing , E2 , #bls ) + NP ==> NewtonPolygon(K,BlUpRing,E2,#bls) + PPFC1 ==> PolynomialPackageForCurve(K,PolyRing,E,#symb,ProjPt) + PPFC2 ==> BlowUpPackage(K,symb,PolyRing,E, BLMET) + ParamPackFC ==> LPARSPT(K,symb,PolyRing,E,ProjPt,PCS,Plc) + ParamPack ==> PARAMP(K,symb,PolyRing,E,ProjPt,PCS,Plc) + PrjAlgPack ==> PRALGPK(K,symb,PolyRing,E,ProjPt) + + Exports ==> with + + blowUp: InfClsPoint -> List InfClsPoint + + divisorAtDesingTree: (PolyRing,DesTree) -> DIVISOR + ++ divisorAtDesingTree(f,tr) computes the local + ++ divisor of f at a desingularisation tree tr of + ++ a singular point. + + adjunctionDivisor: DesTree -> DIVISOR + ++ adjunctionDivisor(tr) compute the local + ++ adjunction divisor of a desingularisation tree tr of + ++ a singular point. + + blowUpWithExcpDiv: DesTree -> Void -- DesTree + + desingTreeAtPoint: (ProjPt,PolyRing) -> DesTree + ++ desingTreeAtPoint(pt,pol) computes + ++ the desingularisation tree at the point pt + ++ on the curve defined by pol. + ++ This function recursively compute the tree. + + desingTree: PolyRing -> List DesTree + ++ desingTree(pol) returns all the desingularisation + ++ trees of all singular points on the curve + ++ defined by pol. + + fullParamInit: DesTree -> Void + ++ fullParamInit(tr) initialize the local + ++ parametrization at all places (leaves of tr), + ++ computes the local exceptional divisor + ++ at each infinytly close points in the tree. + ++ This function is equivalent to the following called: + ++ initParLocLeaves(tr) + ++ initializeParamOfPlaces(tr) + ++ blowUpWithExcpDiv(tr) + + initParLocLeaves: DesTree -> Void + ++ initParLocLeaves(tr) initialize the local + ++ parametrization at simple points corresponding to + ++ the leaves of tr. + + initializeParamOfPlaces: DesTree -> Void + ++ initParLocLeaves(tr) initialize the local + ++ parametrization at places corresponding to + ++ the leaves of tr. + + initializeParamOfPlaces: (DesTree,List PolyRing) -> Void + ++ initParLocLeaves(tr,listOfFnc) initialize + ++ the local parametrization at places corresponding to + ++ the leaves of tr according to the given + ++ list of functions in listOfFnc. + + genus: PolyRing -> NNI + ++ genus(pol) computes the genus of the curve defined by pol. + + genusNeg: PolyRing -> INT + ++ genusNeg(pol) computes the "genus" of a curve + ++ that may be not absolutly irreducible. + ++ A "negative" genus means that + ++ the curve is reducible !!. + + genusTree: (NNI,List(DesTree)) -> NNI + ++ genusTree(n,listOfTrees) computes the genus of a curve, + ++ where n is the degree of a polynomial pol + ++ defining the curve and listOfTrees is all + ++ the desingularisation trees at all singular points + ++ on the curve defined by pol. + + inBetweenExcpDiv: DesTree -> DIVISOR + + genusTreeNeg: (NNI,List(DesTree)) -> INT + ++ genusTreeNeg(n,listOfTrees) computes the "genus" + ++ of a curve that may be not absolutly irreducible, + ++ where n is the degree of a polynomial pol + ++ defining the curve and listOfTrees is all the + ++ desingularisation trees at all singular points + ++ on the curve defined by pol. + ++ A "negative" genus means that + ++ the curve is reducible !!. + + Implementation ==> add + import PackPoly + import PPFC1 + import PPFC2 + import PolyRing + import DesTree + + divisorAtDesingTreeLocal: (BlUpRing , DesTree ) -> DIVISOR + + polyRingToBlUpRing: (PolyRing, BLMET) -> BlUpRing + + makeMono: DesTree -> BlUpRing + + inBetweenExcpDiv( tr )== + -- trouve le diviseur excp. d'un pt inf voisin PRECEDENT ! + -- qV est egal a : 1 + nombre de fois que ce point est repete + -- dans un chaine (le plus un correspond au point d'origine du + -- point dont il est question ici. + -- mp est la multiciplicite du point. + -- cette fonction n'est et ne peut etre qu'utiliser pour + -- calculer le diviseur d'adjonction ( a cause du mp -1). + noeud:= value tr + chart:= chartV noeud + qV:= quotValuation chart + one? qV => 0$DIVISOR + expDiv := divisorAtDesingTreeLocal(makeMono(tr),tr) + mp:= degree expDiv + ((qV - 1) * (mp -1)) *$DIVISOR expDiv + + 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 ) + + affToProj(pt:AFP, chart:BLMET ):ProjPt== + nV:= chartCoord chart + d:List(K) := list(pt)$AFP + ll:List K:= + nV = 1 => [ 1$K , d.1 , d.2 ] + nV = 2 => [ d.1 , 01$K , d.2 ] + [d.1 , d.2 , 1 ] + projectivePoint( ll )$ProjPt + + biringToPolyRing: (BlUpRing, BLMET) -> PolyRing + + 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 ) + + minus : (NNI,NNI) -> NNI + + minus(a,b)== + d:=subtractIfCan(a,b) + d case "failed" => error "cannot substract a-b if b>a for NNI" + d + + -- returns the exceptional coordinate function + + makeExcpDiv: List DesTree -> DIVISOR + + desingTreeAtPointLocal: InfClsPoint -> DesTree + + subGenus: DesTree -> NNI + + lVar:List PolyRing := _ + [monomial(1,index(i pretend PI)$OV,1)$PolyRing for i in 1..#symb] + + divisorAtDesingTreeLocal(pol,tr)== + -- BLMET has QuadraticTransform ; marche aussi avec + -- Hamburger-Noether mais surement moins efficace + noeud:=value(tr) + pt:=localPointV(noeud) + chart:= chartV noeud + -- ram:= ramifMult chart -- ??? + -- new way to compute in order not to translate twice pol + polTrans:BlUpRing:=translate(pol,list(pt)$AFP)$PACKBL + multPol:=degreeOfMinimalForm(polTrans) + chtr:=children(tr) + parPol:PCS + ord:Integer + empty?(chtr) => + parPol:=parametrize(biringToPolyRing(pol,chartV(noeud))_ + ,localParamV(noeud))$ParamPack + ord:=order(parPol)$PCS + ord * excpDivV(noeud) -- Note: le div excp est une fois la place. + (multPol *$DIVISOR excpDivV(noeud)) +$DIVISOR _ + reduce("+",[divisorAtDesingTreeLocal(_ + quadTransform(polTrans,multPol,(chartV(value(child)))),_ + child)_ + for child in chtr]) + + desingTreeAtPointLocal(ipt) == + -- crb:PolyRing,pt:ProjPt,lstnV:List(INT),origPoint:ProjPt,actL:K)== + -- peut etre est-il preferable, avant d'eclater, de tester + -- si le point est simple avec les derives, et non + -- verifier si le point est simple ou non apres translation. + -- ???? + blbl:=blowUp ipt + multPt:=multV ipt + one?(multPt) => + tree( ipt )$DesTree + subTree:List DesTree:= [desingTreeAtPointLocal( iipt ) for iipt in blbl] + tree( ipt, subTree )$DesTree + + blowUp(ipt)== + crb:=curveV ipt + pt:= localPointV ipt + lstnV := chartV ipt -- CHH no modif needed + actL:= actualExtensionV ipt + origPoint:= pointV ipt + blbl:=stepBlowUp(crb,pt,lstnV,actL) -- CHH no modif needed + multPt:=blbl.mult + sm:= blbl.subMult + -- la multiplicite et la frontiere du polygone de Newton (ou la forme + -- minimale selon BLMET) du point ipt est assigne par effet de bord ! + setmult!(ipt,multPt) + setsubmult!(ipt, sm) + one?(multPt) => empty() + [create(origPoint,_ + rec(recTransStr),_ + rec(recPoint) ,_ + 0,_ + rec(recChart),_ + 0, + 0$DIVISOR,_ + rec(definingExtension),_ + new(I)$Symbol )$InfClsPoint for rec in blbl.blUpRec] + + makeMono(arb)== + monomial(1,index(excepCoord(chartV(value(arb))) pretend PI)$OV2,_ + 1)$BlUpRing + + makeExcpDiv(lstSsArb)== + reduce("+", _ + [divisorAtDesingTreeLocal(makeMono(arb),arb) for arb in lstSsArb],0) + + adjunctionDivisorForQuadTrans: DesTree -> DIVISOR + adjunctionDivisorForHamburgeNoether: DesTree -> DIVISOR + + adjunctionDivisor( tr )== + BLMET has QuadraticTransform => adjunctionDivisorForQuadTrans( tr ) + BLMET has HamburgerNoether => adjunctionDivisorForHamburgeNoether( tr ) + error _ + " The algorithm to compute the adjunction divisor is not defined for the blowing method you have chosen" + + adjunctionDivisorForHamburgeNoether( tr )== + noeud:=value tr + chtr:= children tr + empty?(chtr) => 0$DIVISOR -- on suppose qu'un noeud sans feuille + -- est une feulle, donc non singulier. ! + multPt:= multV noeud + ( minus(multPt,1) pretend INT) *$DIVISOR excpDivV(noeud) +$DIVISOR _ + reduce("+",[inBetweenExcpDiv( arb ) for arb in chtr ]) +$DIVISOR _ + reduce("+",[adjunctionDivisorForHamburgeNoether(arb) for arb in chtr]) + + adjunctionDivisorForQuadTrans(tr)== + noeud:=value(tr) + chtr:=children(tr) + empty?(chtr) => 0$DIVISOR + multPt:=multV(noeud) + ( minus(multPt,1) pretend INT) *$DIVISOR excpDivV(noeud) +$DIVISOR _ + reduce("+",[adjunctionDivisorForQuadTrans(child) for child in chtr]) + + divisorAtDesingTree( pol , tr)== + chart:= chartV value(tr) + pp:= polyRingToBlUpRing( pol, chart ) + divisorAtDesingTreeLocal( pp, tr ) + + subGenus(tr)== + noeud:=value tr + mult:=multV(noeud) + chart := chartV noeud + empty?(chdr:=children(tr)) => 0 -- degree(noeud)* mult* minus(mult,1) + degree(noeud)* ( mult*minus( mult, 1 ) + subMultV( noeud ) ) + + reduce("+",[subGenus(ch) for ch in chdr]) + + initializeParamOfPlaces(tr,lpol)== + noeud:=value(tr) + pt:=localPointV(noeud) + crb:=curveV(noeud) + chart:=chartV(noeud) -- CHH + nV:INT:=chartCoord chart + chtr:List DesTree:=children(tr) + plc:Plc + lParam:List PCS + dd:PositiveInteger:=degree noeud + lcoef:List K + lll:Integer + lParInf:List(PCS) + lpar:List PCS + empty?(chtr) => + lPar:=localParamOfSimplePt( affToProj(pt, chart) , _ + biringToPolyRing(crb, chart),nV)$ParamPackFC + setlocalParam!(noeud,lPar) + lParam:=[parametrize( f , lPar)$ParamPack for f in lpol] + plc:= create( symbNameV(noeud) )$Plc + setParam!(plc,lParam) + setDegree!(plc,dd) + itsALeaf!(plc) + setexcpDiv!(noeud, plc :: DIVISOR ) + void() + lpolTrans:List PolyRing:=_ + [translateToOrigin( pol, affToProj(pt, chart) , nV) for pol in lpol] + lpolBlUp:List PolyRing + chartBl:BLMET + for arb in chtr repeat + chartBl:=chartV value arb + lpolBlUp:=[applyTransform(pol,chartBl) for pol in lpolTrans] + initializeParamOfPlaces(arb,lpolBlUp) + void() + + blowUpWithExcpDiv(tr:DesTree)== + noeud:=value(tr) + pt:=localPointV(noeud) + crb:=curveV(noeud) + chtr:List DesTree:=children(tr) + empty?(chtr) => void() -- tr + for arb in chtr repeat + blowUpWithExcpDiv(arb) + setexcpDiv!(noeud,makeExcpDiv( chtr )) + void() + + fullParamInit(tr)== + initializeParamOfPlaces(tr) + blowUpWithExcpDiv(tr) + void() + + initializeParamOfPlaces(tr)==initializeParamOfPlaces(tr,lVar) + + desingTreeAtPoint(pt,crb)== + ipt:= create(pt,crb)$InfClsPoint + desingTreeAtPointLocal ipt + + genus(crb)== + if BLMET has HamburgerNoether then _ + print((" BUG BUG corige le bug GH ---- ")::OutputForm) + degCrb:=totalDegree(crb)$PackPoly + genusTree(degCrb,desingTree(crb)) + + genusNeg(crb)== + degCrb:=totalDegree(crb)$PackPoly + genusTreeNeg(degCrb,desingTree(crb)) + + desingTree(crb)== + [desingTreeAtPoint(pt,crb) for pt in singularPoints(crb)$PrjAlgPack] + + genusTree(degCrb,listArbDes)== + -- le test suivant est necessaire + -- ( meme s'il n'y a pas de point singulier dans ce cas) + -- car avec sousNNI on ne peut retourner un entier negatif + (degCrb <$NNI 3::NNI) and ^empty?(listArbDes) => + print(("Too many infinitly near points")::OutputForm) + print(("The curve may not be absolutely irreducible")::OutputForm) + error "Have a nice day" + (degCrb <$NNI 3::NNI) => 0 + ga:= ( minus(degCrb,1)*minus(degCrb ,2) ) quo$NNI 2 + empty?(listArbDes) => ga + --calcul du nombre de double point + dp:= reduce("+",[subGenus(arbD) for arbD in listArbDes]) quo$NNI 2 + (dp >$NNI ga) => + print(("Too many infinitly near points")::OutputForm) + print(("The curve may not be absolutely irreducible")::OutputForm) + error "Have a nice day" + minus(ga,dp) + + genusTreeNeg(degCrb,listArbDes)== + -- (degCrb <$NNI 3::NNI) => 0 + ga:= (degCrb-1)*(degCrb-2) quo$INT 2 + empty?(listArbDes) => ga + ga-( reduce("+",[subGenus(arbD) for arbD in listArbDes]) quo$NNI 2)::INT + +@ +<>= +"DTP" [color="#FF4488",href="bookvol10.4.pdf#nameddest=DTP"] +"INFCLCT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=INFCLCT"] +"DTP" -> "INFCLCT" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{package DIOSP DiophantineSolutionPackage} \pagehead{DiophantineSolutionPackage}{DIOSP} \pagepic{ps/v104diophantinesolutionpackage.ps}{DIOSP}{1.00} @@ -121856,6 +122354,134 @@ ParametricSurfaceFunctions2(CF1: Type, CF2:Type): with @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{package PARAMP ParametrizationPackage} +<>= +)set break resume +)sys rm -f ParametrizationPackage.output +)spool ParametrizationPackage.output +)set message test on +)set message auto off +)clear all + +--S 1 of 1 +)show ParametrizationPackage +--R ParametrizationPackage(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K,PCS: LocalPowerSeriesCategory K,Plc: PlacesCategory(K,PCS)) is a package constructor +--R Abbreviation for ParametrizationPackage is PARAMP +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.4.pamphlet to see algebra source code for PARAMP +--R +--R------------------------------- Operations -------------------------------- +--R parametrize : (PolyRing,List PCS) -> PCS +--R parametrize : (PolyRing,Plc) -> PCS +--R parametrize : (PolyRing,PolyRing,Plc) -> PCS +--R parametrize : (PolyRing,Plc,Integer) -> PCS +--R +--E 1 + +)spool +)lisp (bye) +@ +<>= +==================================================================== +ParametrizationPackage examples +==================================================================== + +See Also: +o )show ParametrizationPackage + +@ +\pagehead{ParametrizationPackage}{PARAMP} +\pagepic{ps/v104parametrizationpackage.eps}{PARAMP}{1.00} + +{\bf Exports:}\\ +\cross{PARAMP}{parametrize} + +<>= +)abbreviation package PARAMP ParametrizationPackage +++ 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 +ParametrizationPackage(K,symb,PolyRing,E,ProjPt,PCS,Plc):Exp == Impl where + K:Field + symb: List(Symbol) + + E : DirectProductCategory(#symb,NonNegativeInteger) + OV ==> OrderedVariableList(symb) + + PolyRing : PolynomialCategory(K,E,OV) + ProjPt : ProjectiveSpaceCategory(K) + PCS : LocalPowerSeriesCategory(K) + Plc : PlacesCategory(K,PCS) + + Exp ==> with + + parametrize: (PolyRing,List(PCS)) -> PCS + + parametrize: (PolyRing,Plc) -> PCS + ++ parametrize(f,pl) returns the local parametrization of the + ++ polynomial function f at the place pl. Note that local + ++ parametrization of the place must have first been compute and set. + ++ For simple point on a curve, this done with \spad{pointToPlace}. + ++ The local parametrization places corresponding to a leaf in a + ++ desingularization tree are compute at the moment of + ++ their "creation". (See package \spad{DesingTreePackage}. + + parametrize: (PolyRing,PolyRing,Plc) -> PCS + ++ parametrize(f,g,pl) returns the local parametrization of the + ++ rational function f/g at the place pl. Note that local + ++ parametrization of the place must have first been compute and set. + ++ For simple point on a curve, this done with \spad{pointToPlace}. + ++ The local parametrization places corresponding to a leaf in a + ++ desingularization tree are compute at the moment of + ++ their "creation". (See package \spad{DesingTreePackage}. + + parametrize: (PolyRing,Plc,Integer) -> PCS + ++ parametrize(f,pl,n) returns t**n * parametrize(f,p). + + Impl ==> add + + import PCS + import PolyRing + + -- the following returns the parametrization in term of + -- the precomputed local parametrization + -- of the point pt. Note if pl is a place and pl = pt::PLc then + -- parametrize(f,pt) <> parametrize(pl) unless pt is a simple point + parametrize(f:PolyRing,localPar:List(PCS))== + zero?(f) => 0 + lc:K:=leadingCoefficient(f) + ld:E:=degree f + ldp:List NonNegativeInteger :=parts(ld) + if empty?(localPar) then error _ + "the parametrization of the place or leaf has not been done yet!" + monoPar:PCS:=reduce("*",[ s**e for s in localPar for e in ldp]) + lc* monoPar + parametrize(reductum(f),localPar) + + parametrize(f:PolyRing,pt:Plc)== + zero?(f) => 0 + localPar:List PCS:=localParam pt + parametrize(f,localPar) + + parametrize(f:PolyRing,g:PolyRing,pt:Plc)== + sf:=parametrize(f,pt) + sg:=parametrize(g,pt) + sf * inv sg + + parametrize(f:PolyRing,pt:Plc,n:Integer)== + s:=parametrize(f,pt) + shift(s,n) +@ +<>= +"PARAMP" [color="#FF4488",href="bookvol10.4.pdf#nameddest=PARAMP"] +"DIRPCAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=DIRPCAT"] +"PFECAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=PFECAT"] +"PARAMP" -> "DIRPCAT" +"PARAMP" -> "PFECAT" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{package PFRPAC PartialFractionPackage} <>= )set break resume @@ -157193,6 +157819,7 @@ ZeroDimensionalSolvePackage(R,ls,ls2): Exports == Implementation where <> <> +<> <> <> <> @@ -157475,6 +158102,7 @@ ZeroDimensionalSolvePackage(R,ls,ls2): Exports == Implementation where <> <> <> +<> <> <> <> diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index 86f50bb..9cb3e28 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -23888,6 +23888,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. (|DenavitHartenbergMatrix| . DHMATRIX) (|Dequeue| . DEQUEUE) (|DesingTree| . DSTREE) + (|DesingTreePackage| . DTP) (|DiophantineSolutionPackage| . DIOSP) (|DirectProductFunctions2| . DIRPROD2) (|DisplayPackage| . DISPLAY) @@ -24088,6 +24089,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. (|ParametricPlaneCurveFunctions2| . PARPC2) (|ParametricSpaceCurveFunctions2| . PARSC2) (|ParametricSurfaceFunctions2| . PARSU2) + (|ParametrizationPackage| . PARAMP) (|PartitionsAndPermutations| . PARTPERM) (|PatternMatch| . PATMATCH) (|PatternMatchAssertions| . PMASS) diff --git a/books/ps/v104desingtreepackage.eps b/books/ps/v104desingtreepackage.eps new file mode 100644 index 0000000..434a569 --- /dev/null +++ b/books/ps/v104desingtreepackage.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 120 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 120 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 84 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% DTP +gsave +[ /Rect [ 11 72 65 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=DTP) >> + /Subtype /Link +/ANN pdfmark +0.939 0.733 1.000 nodecolor +newpath 65 108 moveto +11 108 lineto +11 72 lineto +65 72 lineto +closepath fill +1 setlinewidth +filled +0.939 0.733 1.000 nodecolor +newpath 65 108 moveto +11 108 lineto +11 72 lineto +65 72 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +23.5 85.9 moveto 29 (DTP) alignedtext +grestore +% INFCLCT +gsave +[ /Rect [ 0 0 76 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=INFCLCT) >> + /Subtype /Link +/ANN pdfmark +0.606 0.733 1.000 nodecolor +newpath 76 36 moveto +0 36 lineto +0 0 lineto +76 0 lineto +closepath fill +1 setlinewidth +filled +0.606 0.733 1.000 nodecolor +newpath 76 36 moveto +0 36 lineto +0 0 lineto +76 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +8 13.9 moveto 60 (INFCLCT) alignedtext +grestore +% DTP->INFCLCT +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 38 72 moveto +38 64 38 55 38 46 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 41.5 46 moveto +38 36 lineto +34.5 46 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 41.5 46 moveto +38 36 lineto +34.5 46 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +end +restore +%%EOF diff --git a/books/ps/v104parametrizationpackage.eps b/books/ps/v104parametrizationpackage.eps new file mode 100644 index 0000000..5f8853a --- /dev/null +++ b/books/ps/v104parametrizationpackage.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 +% PARAMP +gsave +[ /Rect [ 48 72 122 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=PARAMP) >> + /Subtype /Link +/ANN pdfmark +0.939 0.733 1.000 nodecolor +newpath 122 108 moveto +48 108 lineto +48 72 lineto +122 72 lineto +closepath fill +1 setlinewidth +filled +0.939 0.733 1.000 nodecolor +newpath 122 108 moveto +48 108 lineto +48 72 lineto +122 72 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +56 85.9 moveto 58 (PARAMP) 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 +% PARAMP->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 +% PARAMP->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 e963b02..429cb9e 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,9 @@ +20100523 tpd src/axiom-website/patches.html 20100523.03.tpd.patch +20100523 tpd src/algebra/Makefile help and test for PARAMP, DTP +20100523 tpd books/bookvol5 expose DesingTreePackage, ParametrizationPackage +20100523 tpd books/bookvol10.4 add DesingTreePackage, ParametrizationPackage +20100523 tpd books/ps/v104desingtreepackage.eps added +20100523 tpd books/ps/v104parametrizationpackage.eps added 20100523 tpd src/axiom-website/patches.html 20100523.02.tpd.patch 20100523 tpd src/algebra/Makefile help and test for LPARSPT 20100523 tpd books/bookvol5 expose LocalParametrizationOfSimplePointPackage diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 9a6c4fa..a6ad9d4 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -5350,7 +5350,8 @@ LAYER11=\ ${OUT}/NSUP.o ${OUT}/NTPOLFN.o ${OUT}/ODP.o ${OUT}/ODEPRIM.o \ ${OUT}/ODEPRRIC.o ${OUT}/OMPKG.o ${OUT}/OMSERVER.o ${OUT}/PACRATC.o \ ${OUT}/PADEPAC.o \ - ${OUT}/PADICRAT.o ${OUT}/PADICRC.o ${OUT}/PCOMP.o ${OUT}/PDECOMP.o \ + ${OUT}/PADICRAT.o ${OUT}/PADICRC.o ${OUT}/PARAMP.o \ + ${OUT}/PCOMP.o ${OUT}/PDECOMP.o \ ${OUT}/PF.o ${OUT}/PFBR.o ${OUT}/PFBRU.o ${OUT}/PFORP.o \ ${OUT}/PFOTOOLS.o \ ${OUT}/PFRPAC.o ${OUT}/PGCD.o ${OUT}/PINTERPA.o ${OUT}/PLEQN.o \ @@ -7660,6 +7661,23 @@ LAYER11=\ /*"PADICRC" -> {"CLAGG"; "FLAGG"; "ELAGG"; "OM"; "LSAGG-"; "FPS"; "RNS"}*/ /*"PADICRC" -> {"RADCAT"; "UPOLYC"; "POLYCAT"; "FAMR"; "AMR"; "FRETRCT"}*/ +"PARAMP" [color="#FF4488",href="bookvol10.4.pdf#nameddest=PARAMP"] +"PARAMP" -> "PFECAT" +"PARAMP" -> "DIRPCAT" +/*"PARAMP" -> {"PRSPCAT"; "SETCATD"; "LOCPOWC"; "PLACESC"; "FIELD"; "EUCDOM"}*/ +/*"PARAMP" -> {"PID"; "GCDDOM"; "INTDOM"; "COMRING"; "RING"; "RNG"}*/ +/*"PARAMP" -> {"ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"; "SETCAT"; "BASTYPE"}*/ +/*"PARAMP" -> {"KOERCE"; "SGROUP"; "MONOID"; "LMODULE"; "BMODULE"}*/ +/*"PARAMP" -> {"RMODULE"; "ALGEBRA"; "MODULE"; "ENTIRER"; "UFD"; "DIVRING"}*/ +/*"PARAMP" -> {"POLYCAT"; "PDRING"; "FAMR"; "AMR"; "CHARZ"; "CHARNZ"}*/ +/*"PARAMP" -> {"FRETRCT"; "RETRACT"; "EVALAB"; "IEVALAB"; "FLINEXP"}*/ +/*"PARAMP" -> {"LINEXP"; "ORDSET"; "KONVERT"; "PATMAB"; "IXAGG"; "HOAGG"}*/ +/*"PARAMP" -> {"AGG"; "TYPE"; "ELTAGG"; "ELTAB"; "DIFEXT"; "DIFRING"}*/ +/*"PARAMP" -> {"FINITE"; "ORDRING"; "OAGROUP"; "OCAMON"; "OAMON"; "OASGP"}*/ +/*"PARAMP" -> {"OAMONS"; "VSPACE"; "UPSCAT"; "PSCAT"; "INT"; "LIST"; "ILIST"}*/ +/*"PARAMP" -> {"LSAGG"; "STAGG"; "URAGG"; "RCAGG"; "LNAGG"; "CLAGG"; "FLAGG"}*/ +/*"PARAMP" -> {"ELAGG"; "OM"; "NNI"; "OUTFORM"; "LSAGG-"}*/ + "PCOMP" [color="#FF4488",href="bookvol10.4.pdf#nameddest=PCOMP"] /*"PCOMP" -> {"UPOLYC"; "POLYCAT"; "PDRING"; "RING"; "RNG"; "ABELGRP"}*/ /*"PCOMP" -> {"CABMON"; "ABELMON"; "ABELSG"; "SETCAT"; "BASTYPE"; "KOERCE"}*/ @@ -12286,7 +12304,8 @@ LAYER17=\ ${OUT}/COMPLPAT.o ${OUT}/CMPLXRT.o ${OUT}/CPMATCH.o ${OUT}/CRFP.o \ ${OUT}/CTRIGMNP.o ${OUT}/D01WGTS.o ${OUT}/D02AGNT.o ${OUT}/D03EEFA.o \ ${OUT}/DBLRESP.o ${OUT}/D01AGNT.o ${OUT}/DERHAM.o ${OUT}/DFSFUN.o \ - ${OUT}/DRAWCURV.o ${OUT}/D01TRNS.o ${OUT}/E04NAFA.o ${OUT}/EF.o \ + ${OUT}/DRAWCURV.o ${OUT}/DTP.o \ + ${OUT}/D01TRNS.o ${OUT}/E04NAFA.o ${OUT}/EF.o \ ${OUT}/EFSTRUC.o ${OUT}/ELFUTS.o ${OUT}/ESTOOLS.o ${OUT}/EXPEXPAN.o \ ${OUT}/EXPRODE.o ${OUT}/EXPRTUBE.o ${OUT}/EXPR2.o ${OUT}/FC.o \ ${OUT}/FDIVCAT.o ${OUT}/FDIVCAT-.o ${OUT}/FDIV2.o ${OUT}/FFCAT2.o \ @@ -13021,6 +13040,26 @@ LAYER17=\ /*"DRAWCURV" -> {"SRAGG-"; "FLAGG-"; "LNAGG-"; "ILIST"; "LSAGG-"; "STAGG-"}*/ /*"DRAWCURV" -> {"ELAGG-"; "URAGG-"; "OM"; "FPS"; "RNS"; "RADCAT"}*/ +"DTP" [color="#FF4488",href="bookvol10.4.pdf#nameddest=DTP"] +"DTP" -> ""INFCLCT" +/*"DTP" -> {"PRSPCAT"; "SETCATD"; "LOCPOWC"; "PLACESC"; "DIVCAT"; "DSTRCAT"}*/ +/*"DTP" -> {"BLMETCT"; "PFORP"; "AFFPL"; "PARAMP"; "PLPKCRV"; "BLUPPACK"}*/ +/*"DTP" -> {"LPARSPT"; "DIV"; "PRJALGPK"; "FIELD"; "EUCDOM"; "PID"; "GCDDOM"}*/ +/*"DTP" -> {"INTDOM"; "COMRING"; "RING"; "RNG"; "ABELGRP"; "CABMON"}*/ +/*"DTP" -> {"ABELMON"; "ABELSG"; "SETCAT"; "BASTYPE"; "KOERCE"; "SGROUP"}*/ +/*"DTP" -> {"MONOID"; "LMODULE"; "BMODULE"; "RMODULE"; "ALGEBRA"; "MODULE"}*/ +/*"DTP" -> {"ENTIRER"; "UFD"; "DIVRING"; "POLYCAT"; "PDRING"; "FAMR"; "AMR"}*/ +/*"DTP" -> {"CHARZ"; "CHARNZ"; "FRETRCT"; "RETRACT"; "EVALAB"; "IEVALAB"}*/ +/*"DTP" -> {"FLINEXP"; "LINEXP"; "ORDSET"; "KONVERT"; "PATMAB"; "PFECAT"}*/ +/*"DTP" -> {"DIRPCAT"; "IXAGG"; "HOAGG"; "AGG"; "TYPE"; "ELTAGG"; "ELTAB"}*/ +/*"DTP" -> {"DIFEXT"; "DIFRING"; "FINITE"; "ORDRING"; "OAGROUP"; "OCAMON"}*/ +/*"DTP" -> {"OAMON"; "OASGP"; "OAMONS"; "VSPACE"; "UPSCAT"; "PSCAT"}*/ +/*"DTP" -> {"FAMONC"; "RCAGG"; "INT"; "PI"; "NNI"; "SINT"; "BOOLEAN"; "LIST"}*/ +/*"DTP" -> {"ILIST"; "LSAGG-"; "STAGG-"; "VECTOR"; "LSAGG"; "STAGG"; "URAGG"}*/ +/*"DTP" -> {"LNAGG"; "CLAGG"; "FLAGG"; "ELAGG"; "OM"; "SYMBOL"; "REF"}*/ +/*"DTP" -> {"ALIST"; "STRING"; "CHAR"; "OUTFORM"; "PRIMARR"; "A1AGG-"}*/ +/*"DTP" -> {"ISTRING"; "SRAGG-"; "FLAGG-"; "LNAGG-"}*/ + "D01TRNS" [color="#88FF44",href="bookvol10.3.pdf#nameddest=D01TRNS"] /*"D01TRNS" -> {"NUMINT"; "SETCAT"; "BASTYPE"; "KOERCE"; "STRING"; "CHAR"}*/ /*"D01TRNS" -> {"SINT"; "OUTFORM"; "LIST"; "INT"; "PRIMARR"; "A1AGG-"}*/ @@ -17075,6 +17114,37 @@ ${MID}/LPARSPT.nrlib/code.o: ${MID}/LPARSPT.spad | ${INTERPSYS} >${TMP}/trace ; \ fi ) @ +<>= + +PARAMPDEPS = PRSPCAT LOCPOWC SETCATD PLACESC + +${MID}/PARAMP.nrlib/code.o: ${MID}/PARAMP.spad + @echo P3 making ${MID}/PARAMP.nrlib/code.o from ${MID}/PARAMP.spad + @ (cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo -e ")lib ${PARAMPDEPS} \n )co PARAMP.spad" \ + | ${INTERPSYS} ; \ + else \ + echo -e ")lib ${PARAMPDEPS} \n )co AFALGRES.spad" \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) +@ +<>= + +DTPDEPS = PRSPCAT LOCPOWC SETCATD PLACESC DIVCAT INFCLCT DSTRCAT BLMETCT \ + PFORP AFFPL PARAMP PLPKCRV BLUPPACK LPARSPT DIV PRJALGPK + +${MID}/DTP.nrlib/code.o: ${MID}/DTP.spad + @echo P3 making ${MID}/DTP.nrlib/code.o from ${MID}/DTP.spad + @ (cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo -e ")lib ${DTPDEPS} \n )co DTP.spad" \ + | ${INTERPSYS} ; \ + else \ + echo -e ")lib ${DTPDEPS} \n )co AFALGRES.spad" \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) +@ \section{Broken Files} These files are Aldor files @@ -17809,11 +17879,12 @@ SPADHELP=\ ${HELP}/Complex.help \ ${HELP}/ContinuedFraction.help \ ${HELP}/CycleIndicators.help \ - ${HELP}/DeRhamComplex.help \ ${HELP}/DecimalExpansion.help \ ${HELP}/Dequeue.help \ + ${HELP}/DeRhamComplex.help \ ${HELP}/DesingTree.help \ ${HELP}/DesingTreeCategory.help \ + ${HELP}/DesingTreePackage.help \ ${HELP}/DistributedMultivariatePolynomial.help \ ${HELP}/Divisor.help \ ${HELP}/DivisorCategory.help \ @@ -17904,6 +17975,7 @@ SPADHELP=\ ${HELP}/OrderedVariableList.help \ ${HELP}/OrderlyDifferentialPolynomial.help \ ${HELP}/PackageForPoly.help \ + ${HELP}/ParametrizationPackage.help \ ${HELP}/PartialFraction.help \ ${HELP}/PartialFractionPackage.help \ ${HELP}/Permanent.help \ @@ -18020,6 +18092,7 @@ REGRESS= \ Dequeue.regress \ DesingTree.regress \ DesingTreeCategory.regress \ + DesingTreePackage.regress \ DistributedMultivariatePolynomial.regress \ Divisor.regress \ DivisorCategory.regress \ @@ -18096,6 +18169,7 @@ REGRESS= \ OrderedVariableList.regress \ OrderlyDifferentialPolynomial.regress \ PackageForPoly.regress \ + ParametrizationPackage.regress \ PartialFraction.regress \ PartialFractionPackage.regress \ Permanent.regress \ @@ -18581,9 +18655,22 @@ ${HELP}/DesingTreeCategory.help: \ >${INPUT}/DesingTreeCategory.input @echo "DesingTreeCategory (DSTRCAT)" >>${HELPFILE} +${HELP}/DesingTreePackage.help: \ + ${BOOKS}/bookvol10.4.pamphlet + @echo 7298 create DesingTreePackage.help \ + from ${BOOKS}/bookvol10.4.pamphlet + @${TANGLE} -R"DesingTreePackage.help" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${HELP}/DesingTreePackage.help + @cp ${HELP}/DesingTreePackage.help ${HELP}/DTP.help + @${TANGLE} -R"DesingTreePackage.input" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${INPUT}/DesingTreePackage.input + @echo "DesingTreePackage (DTP)" >>${HELPFILE} + ${HELP}/DistributedMultivariatePolynomial.help: \ ${BOOKS}/bookvol10.3.pamphlet - @echo 7200 create DistributedMultivariatePolynomial.help \ + @echo 7299 create DistributedMultivariatePolynomial.help \ from ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"DistributedMultivariatePolynomial.help" \ ${BOOKS}/bookvol10.3.pamphlet \ @@ -19557,8 +19644,20 @@ ${HELP}/PackageForPoly.help: ${BOOKS}/bookvol10.4.pamphlet >${INPUT}/PackageForPoly.input @echo "PackageForPoly (PFORP)" >>${HELPFILE} +${HELP}/ParametrizationPackage.help: ${BOOKS}/bookvol10.4.pamphlet + @echo 7882 create ParametrizationPackage.help from \ + ${BOOKS}/bookvol10.4.pamphlet + @${TANGLE} -R"ParametrizationPackage.help" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${HELP}/ParametrizationPackage.help + @cp ${HELP}/ParametrizationPackage.help ${HELP}/PARAMP.help + @${TANGLE} -R"ParametrizationPackage.input" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${INPUT}/ParametrizationPackage.input + @echo "ParametrizationPackage (PARAMP)" >>${HELPFILE} + ${HELP}/PartialFraction.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7880 create PartialFraction.help from \ + @echo 7884 create PartialFraction.help from \ ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"PartialFraction.help" ${BOOKS}/bookvol10.3.pamphlet \ >${HELP}/PartialFraction.help diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 9519814..4548578 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2789,5 +2789,7 @@ books/bookvol10.4 AffineAlgebraicSetComputeWithGroebnerBasis.eps
books/bookvol10.4 add ProjectiveAlgebraicSetPackage
20100523.02.tpd.patch books/bookvol10.4 add LocalParametrizationOfSimplePointPackage
+20100523.03.tpd.patch +books/bookvol10.4 add DesingTreePackage, ParametrizationPackage