diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index 4c310a0..04b55de 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -118878,6 +118878,386 @@ OutputPackage: with %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Chapter P} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{package PFORP PackageForPoly} +<>= +)set break resume +)sys rm -f PackageForPoly.output +)spool PackageForPoly.output +)set message test on +)set message auto off +)clear all + +--S 1 of 1 +)show PackageForPoly +--R PackageForPoly(R: Ring,PolyRing: FiniteAbelianMonoidRing(R,E),E: DirectProductCategory(dim,NonNegativeInteger),dim: NonNegativeInteger) is a package constructor +--R Abbreviation for PackageForPoly is PFORP +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.4.pamphlet to see algebra source code for PFORP +--R +--R------------------------------- Operations -------------------------------- +--R constant : PolyRing -> R firstExponent : PolyRing -> E +--R listAllMonoExp : Integer -> List E listVariable : () -> List PolyRing +--R minimalForm : PolyRing -> PolyRing +--R degOneCoef : (PolyRing,PositiveInteger) -> R +--R degree : (PolyRing,Integer) -> NonNegativeInteger +--R degreeOfMinimalForm : PolyRing -> NonNegativeInteger +--R homogenize : (PolyRing,Integer) -> PolyRing +--R listAllMono : NonNegativeInteger -> List PolyRing +--R mapExponents : ((E -> E),PolyRing) -> PolyRing +--R monomials : PolyRing -> List PolyRing +--R replaceVarByOne : (PolyRing,Integer) -> PolyRing +--R replaceVarByZero : (PolyRing,Integer) -> PolyRing +--R subs1stVar : (PolyRing,PolyRing) -> PolyRing +--R subs2ndVar : (PolyRing,PolyRing) -> PolyRing +--R subsInVar : (PolyRing,PolyRing,Integer) -> PolyRing +--R totalDegree : PolyRing -> NonNegativeInteger +--R translate : (PolyRing,List R,Integer) -> PolyRing +--R translate : (PolyRing,List R) -> PolyRing +--R univariate : PolyRing -> SparseUnivariatePolynomial R +--R +--E 1 + +)spool +)lisp (bye) +@ +<>= +==================================================================== +PackageForPoly examples +==================================================================== + +See Also: +o )show PackageForPoly + +@ +\pagehead{PackageForPoly}{PFORP} +\pagepic{ps/v104packageforpoly.eps}{PFORP}{1.00} + +{\bf Exports:}\\ +\begin{tabular}{lll} +\cross{PFORP}{constant} & +\cross{PFORP}{firstExponent} & +\cross{PFORP}{listAllMonoExp} \\ +\cross{PFORP}{listVariable} & +\cross{PFORP}{minimalForm} & +\cross{PFORP}{degOneCoef} \\ +\cross{PFORP}{degree} & +\cross{PFORP}{degreeOfMinimalForm} & +\cross{PFORP}{homogenize} \\ +\cross{PFORP}{listAllMono} & +\cross{PFORP}{mapExponents} & +\cross{PFORP}{monomials} \\ +\cross{PFORP}{replaceVarByOne} & +\cross{PFORP}{replaceVarByZero} & +\cross{PFORP}{subs1stVar} \\ +\cross{PFORP}{subs2ndVar} & +\cross{PFORP}{subsInVar} & +\cross{PFORP}{totalDegree} \\ +\cross{PFORP}{translate} & +\cross{PFORP}{univariate} & +\end{tabular} + +<>= +)abbrev package PFORP PackageForPoly +++ 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 +PackageForPoly(R,PolyRing,E,dim): public == private where + R: Ring -- was Field but change for SolveTree package. 21/01/98 ) + dim: NonNegativeInteger + E: DirectProductCategory(dim,NonNegativeInteger) + PolyRing : FiniteAbelianMonoidRing(R,E) + + Term ==> Record(k:E,c:R) + PI ==> PositiveInteger + NNI ==> NonNegativeInteger + INT ==> Integer + + public == with + mapExponents: (E->E, PolyRing) -> PolyRing + + degree: (PolyRing , Integer) -> NNI + + univariate: PolyRing -> SparseUnivariatePolynomial(R) + + totalDegree: PolyRing -> NNI + + subs1stVar: (PolyRing , PolyRing) -> PolyRing + + subs2ndVar: (PolyRing , PolyRing) -> PolyRing + + subsInVar: (PolyRing, PolyRing, Integer) -> PolyRing + + minimalForm: PolyRing -> PolyRing + ++ minimalForm(pol) returns the minimal forms of the polynomial pol. + + firstExponent: PolyRing -> E + ++ firstExponent(pol) returns the exponent of the first term in the + ++ representation of pol. Not to be confused with the leadingExponent + ++ which is the highest exponent according to the order + ++ over the monomial. + + replaceVarByZero: (PolyRing,Integer) -> PolyRing + ++ replaceVarByZero(pol,a) evaluate to zero the variable in pol + ++ specified by the integer a. + + replaceVarByOne: (PolyRing,Integer) -> PolyRing + ++ replaceVarByOne(pol,a) evaluate to one the variable in pol + ++ specified by the integer a. + + translate: (PolyRing,List R,Integer) -> PolyRing + ++ translate(pol,[a,b,c],3) apply to pol the + ++ linear change of coordinates, x->x+a, y->y+b, z->1. + + translate: (PolyRing,List R) -> PolyRing + ++ translate(pol,[a,b,c]) apply to pol the + ++ linear change of coordinates, x->x+a, y->y+b, z->z+c + + degOneCoef: (PolyRing,PI) -> R + ++ degOneCoef(pol,n) returns the coefficient in front of the monomial + ++ specified by the positive integer. + + constant: PolyRing -> R + ++ constant(pol) returns the constant term of the polynomial. + + homogenize: (PolyRing,INT) -> PolyRing + ++ homogenize(pol,n) returns the homogenized polynomial of pol + ++ with respect to the n-th variable. + + listAllMonoExp: Integer -> List E + ++ listAllMonoExp(l) returns all the exponents of degree l + + listAllMono: NNI -> List PolyRing + ++ listAllMono(l) returns all the monomials of degree l + + degreeOfMinimalForm: PolyRing -> NNI + ++ degreeOfMinimalForm does what it says + + listVariable: () -> List PolyRing + + monomials: PolyRing -> List PolyRing + + + private == add + import PolyRing + + monomials(pol)== + zero? pol => empty() + lt:=leadingMonomial pol + cons( lt , monomials reductum pol ) + + lll: Integer -> E + lll(i) == + le:=new( dim , 0$NNI)$List(NNI) + le.i := 1 + directProduct( vector(le)$Vector(NNI) )$E + + listVariable== + [monomial(1,ee)$PolyRing for ee in [lll(i) for i in 1..dim]] + + univariate(pol)== + zero? pol => 0 + d:=degree pol + lc:=leadingCoefficient pol + td := reduce("+", entries d) + monomial(lc,td)$SparseUnivariatePolynomial(R)+univariate(reductum pol) + + collectExpon: List Term -> PolyRing + + translateLocal: (PolyRing,List R,Integer) -> PolyRing + + lA: (Integer,Integer) -> List List NNI + + toListRep: PolyRing -> List Term + + exponentEntryToZero: (E,Integer) -> E + + exponentEntryZero?: (E,Integer) -> Boolean + + homogenizeExp: (E,NNI,INT) -> E + + translateMonomial: (PolyRing,List R,INT,R) -> PolyRing + + leadingTerm: PolyRing -> Term + + mapExponents(f,pol)== + zero?(pol) => 0 + lt:=leadingTerm pol + newExp:E:= f(lt.k) + newMono:PolyRing:= monomial(lt.c,newExp)$PolyRing + newMono + mapExponents(f,reductum pol) + + collectExpon(pol)== + empty? pol => 0 + ft:=first pol + monomial(ft.c,ft.k) + collectExpon( rest pol ) + + subs1stVar(pol, spol)== + zero? pol => 0 + lexpE:E:= degree pol + lexp:List NNI:= parts lexpE + coef:= leadingCoefficient pol + coef * spol ** lexp.1 * second(listVariable())**lexp.2 _ + + subs1stVar( reductum pol, spol ) + + subs2ndVar(pol, spol)== + zero? pol => 0 + lexpE:E:= degree pol + lexp:List NNI:= parts lexpE + coef:= leadingCoefficient pol + coef * first(listVariable())**lexp.1 * spol ** lexp.2 _ + + subs2ndVar( reductum pol, spol ) + + subsInVar( pol, spol, n)== + one?( n ) => subs1stVar( pol, spol) + subs2ndVar(pol,spol) + + translate(pol,lpt)== + zero? pol => 0 + lexpE:E:= degree pol + lexp:List NNI:= parts lexpE + coef:= leadingCoefficient pol + trVar:=[(listVariable().i + (lpt.i)::PolyRing)**lexp.i for i in 1..dim] + coef * reduce("*",trVar,1) + translate(reductum pol , lpt) + + translate(poll,lpt,nV)== + pol:=replaceVarByOne(poll,nV) + translateLocal(pol,lpt,nV) + + translateLocal(pol,lpt,nV)== + zero?(pol) => 0 + lll:List R:=[l for l in lpt | ^zero?(l)] + nbOfNonZero:=# lll + ltk:=leadingMonomial pol + ltc:=leadingCoefficient pol + if one?(nbOfNonZero) then + pol + else + translateMonomial(ltk,lpt,nV,ltc) + _ + translateLocal(reductum(pol),lpt,nV) + + exponentEntryToZero(exp,nV)== + pexp:= parts exp + pexp(nV):=0 + directProduct(vector(pexp)$Vector(NonNegativeInteger)) + + exponentEntryZero?(exp,nV)== + pexp:= parts exp + zero?(pexp(nV)) + + replaceVarByZero(pol,nV)== + -- surement le collectExpon ici n'est pas necessaire !!!! + zero?(pol) => 0 + lRep:= toListRep pol + reduce("+",_ + [monomial(p.c,p.k)$PolyRing _ + for p in lRep | exponentEntryZero?(p.k,nV) ],0) + + replaceVarByOne(pol,nV)== + zero?(pol) => 0 + lRep:= toListRep pol + reduce("+",_ + [monomial(p.c,exponentEntryToZero(p.k,nV))$PolyRing for p in lRep],0) + + homogenizeExp(exp,deg,nV)== + lv:List NNI:=parts(exp) + lv.nV:=(deg+lv.nV - reduce("+",lv)) pretend NNI + directProduct(vector(lv)$Vector(NNI))$E + + listTerm: PolyRing -> List E + listTerm(pol)== + zero? pol => empty + cons( degree pol, listTerm reductum pol ) + + degree( a : PolyRing , n : Integer )== + zero? a => error "Degree for 0 is not defined for this degree fnc" + "max" / [ ee.n for ee in listTerm a ] + + totalDegree p == + zero? p => 0 + "max"/[reduce("+",t::(Vector NNI), 0) for t in listTerm p] + + homogenize(pol,nV)== + degP:=totalDegree(pol) + mapExponents(homogenizeExp(#1,degP,nV),pol) + + degOneCoef(p:PolyRing,i:PI)== + vv:=new(dim,0)$Vector(NNI) + vv.i:=1 + pd:=directProduct(vv)$E + lp:=toListRep p + lc:=[t.c for t in lp | t.k=pd] + reduce("+",lc,0) + + constant(p)== + vv:=new(dim,0)$Vector(NNI) + pd:=directProduct(vv)$E + lp:=toListRep p + lc:=[t.c for t in lp | t.k=pd] + reduce("+",lc,0) + + degreeOfMinimalForm(pol)== + totalDegree minimalForm pol + + minimalForm(pol)== + zero?(pol) => pol + lpol:=toListRep pol + actTerm:Term:= first lpol + minDeg:NNI:=reduce("+", parts(actTerm.k)) + actDeg:NNI + lminForm:List(Term):= [actTerm] + for p in rest(lpol) repeat + actDeg:= reduce("+", parts(p.k)) + if actDeg = minDeg then + lminForm := concat(lminForm,p) + if actDeg < minDeg then + minDeg:=actDeg + lminForm:=[p] + collectExpon lminForm + + -- le code de collectExponSort a ete emprunte a D. Augot. + + leadingTerm(pol)== + zero?(pol) => error "no leading term for 0 (message from package)" + lcoef:R:=leadingCoefficient(pol)$PolyRing + lterm:PolyRing:=leadingMonomial(pol)$PolyRing + tt:E:=degree(lterm)$PolyRing + [tt,lcoef]$Term + + toListRep(pol)== + zero?(pol) => empty() + lt:=leadingTerm pol + cons(lt, toListRep reductum pol) + + lA(n,l)== + zero?(n) => [new((l pretend NNI),0)$List(NNI)] + one?(l) => [[(n pretend NNI)]] + concat [[ concat([i],lll) for lll in lA(n-i,l-1)] for i in 0..n] + + listAllMonoExp(l)== + lst:=lA(l,(dim pretend Integer)) + [directProduct(vector(pexp)$Vector(NNI)) for pexp in lst] + + translateMonomial(mono,pt,nV,coef)== + lexpE:E:= degree mono + lexp:List NNI:= parts lexpE + lexp(nV):=0 + trVar:=[(listVariable().i + (pt.i)::PolyRing)** lexp.i for i in 1..dim] + coef * reduce("*",trVar,1) + + listAllMono(l)== + [monomial(1,e)$PolyRing for e in listAllMonoExp(l)] + + +@ +<>= +"PFORP" [color="#FF4488",href="bookvol10.4.pdf#nameddest=PFORP"] +"DIRPCAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=DIRPCAT"] +"PFORP" -> "DIRPCAT" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{package PADEPAC PadeApproximantPackage} \pagehead{PadeApproximantPackage}{PADEPAC} \pagepic{ps/v104padeapproximantpackage.ps}{PADEPAC}{1.00} @@ -155411,6 +155791,7 @@ ZeroDimensionalSolvePackage(R,ls,ls2): Exports == Implementation where <> <> +<> <> <> <> diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index 1b69c4e..d58d21c 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -24072,6 +24072,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. (|OrdSetInts| . OSI) (|OrthogonalPolynomialFunctions| . ORTHPOL) (|OutputPackage| . OUT) + (|PackageForPoly| . PFORP) (|PadeApproximantPackage| . PADEPAC) (|Palette| . PALETTE) (|PartialFraction| . PFR) diff --git a/books/ps/v104packageforpoly.eps b/books/ps/v104packageforpoly.eps new file mode 100644 index 0000000..59f1fac --- /dev/null +++ b/books/ps/v104packageforpoly.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 122 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 122 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 86 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% PFORP +gsave +[ /Rect [ 8 72 70 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=PFORP) >> + /Subtype /Link +/ANN pdfmark +0.939 0.733 1.000 nodecolor +newpath 70 108 moveto +8 108 lineto +8 72 lineto +70 72 lineto +closepath fill +1 setlinewidth +filled +0.939 0.733 1.000 nodecolor +newpath 70 108 moveto +8 108 lineto +8 72 lineto +70 72 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +15.5 85.9 moveto 47 (PFORP) 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 +% PFORP->DIRPCAT +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 39 72 moveto +39 64 39 55 39 46 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 42.5 46 moveto +39 36 lineto +35.5 46 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 42.5 46 moveto +39 36 lineto +35.5 46 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +end +restore +%%EOF diff --git a/changelog b/changelog index cddc555..3e47660 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,8 @@ +20100521 tpd src/axiom-website/patches.html 20100521.01.tpd.patch +20100521 tpd src/algebra/Makefile help and test for PackageForPoly +20100521 tpd books/bookvol5 expose PackageForPoly +20100521 tpd books/bookvol10.4 add PackageForPoly +20100521 tpd books/ps/v104packageforpoly.eps added 20100520 tpd src/axiom-website/patches.html 20100520.03.tpd.patch 20100520 tpd src/algebra/Makefile help and test for DesingTree 20100520 tpd books/bookvol5 expose DesingTree diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 0cf80bd..08d2254 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -5351,7 +5351,8 @@ LAYER11=\ ${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}/PF.o ${OUT}/PFBR.o ${OUT}/PFBRU.o ${OUT}/PFOTOOLS.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 \ ${OUT}/PMPLCAT.o ${OUT}/PMQFCAT.o ${OUT}/PNTHEORY.o ${OUT}/POLUTIL.o \ ${OUT}/POLTOPOL.o ${OUT}/POLYCATQ.o ${OUT}/POLYLIFT.o ${OUT}/POLYROOT.o \ @@ -7724,6 +7725,25 @@ LAYER11=\ /*"PFBRU" -> {"IXAGG"; "ELTAGG"; "CLAGG"; "FLAGG"; "ELAGG"; "OM"; "LSAGG-"}*/ /*"PFBRU" -> {"STAGG-"; "ELAGG-"}*/ +"PFORP" [color="#FF4488",href="bookvol10.4.pdf#nameddest=PFORP"] +/*"PFORP" -> {"RING"; "RNG"; "ABELGRP"; "CABMON"; "ABELMON"}*/ +/*"PFORP" -> {"ABELSG"; "SETCAT"; "BASTYPE"; "KOERCE"; "SGROUP"}*/ +/*"PFORP" -> {"MONOID"; "LMODULE"; "FAMR"; "AMR"; "BMODULE"}*/ +/*"PFORP" -> {"RMODULE"; "COMRING"; "ALGEBRA"; "MODULE"; "CHARZ"; "CHARNZ"}*/ +/*"PFORP" -> {"INTDOM"; "ENTIRER"; "FRETRCT"; "RETRACT"}*/ +"PFORP" -> "DIRPCAT" +/*"PFORP" -> {"IXAGG"; "HOAGG"; "AGG"; "TYPE"; "EVALAB"; "IEVALAB"; "ELTAGG"}*/ +/*"PFORP" -> {"ELTAB"; "DIFEXT"; "DIFRING"; "PDRING"; "FLINEXP"; "LINEXP"}*/ +/*"PFORP" -> {"FINITE"; "ORDRING"; "OAGROUP"; "OCAMON"; "OAMON"; "OASGP"}*/ +/*"PFORP" -> {"ORDSET"; "OAMONS"; "VSPACE"; "FIELD"; "EUCDOM"; "PID"}*/ +/*"PFORP" -> {"GCDDOM"; "UFD"; "DIVRING"; "INT"; "LIST"; "ILIST"; "NNI"}*/ +/*"PFORP" -> {"LSAGG-"; "STAGG-"; "ELAGG-"; "FLAGG-"; "URAGG-"; "LNAGG-"}*/ +/*"PFORP" -> {"RCAGG-"; "IXAGG-"; "CLAGG-"; "HOAGG-"; "ORDSET-"; "AGG-"}*/ +/*"PFORP" -> {"ELTAGG-"; "SETCAT-"; "BASTYPE-"; "LSAGG"; "STAGG"; "URAGG"}*/ +/*"PFORP" -> {"RCAGG"; "LNAGG"; "CLAGG"; "KONVERT"; "FLAGG"; "ELAGG"; "OM"}*/ +/*"PFORP" -> {"VECTOR"; "SINT"; "PI"; "BOOLEAN"; "VECTCAT"; "A1AGG"}*/ +/*"PFORP" -> {"IVECTOR"; "IARRAY1"; "VECTCAT-"; "A1AGG-"}*/ + "PFOTOOLS" [color="#FF4488",href="bookvol10.4.pdf#nameddest=PFOTOOLS"] /*"PFOTOOLS" -> {"UPOLYC"; "POLYCAT"; "PDRING"; "RING"; "RNG"; "ABELGRP"}*/ /*"PFOTOOLS" -> {"CABMON"; "ABELMON"; "ABELSG"; "SETCAT"; "BASTYPE"}*/ @@ -17631,6 +17651,7 @@ SPADHELP=\ ${HELP}/OrderedFreeMonoid.help \ ${HELP}/OrderedVariableList.help \ ${HELP}/OrderlyDifferentialPolynomial.help \ + ${HELP}/PackageForPoly.help \ ${HELP}/PartialFraction.help \ ${HELP}/PartialFractionPackage.help \ ${HELP}/Permanent.help \ @@ -17815,6 +17836,7 @@ REGRESS= \ OrderedFreeMonoid.regress \ OrderedVariableList.regress \ OrderlyDifferentialPolynomial.regress \ + PackageForPoly.regress \ PartialFraction.regress \ PartialFractionPackage.regress \ Permanent.regress \ @@ -19189,6 +19211,16 @@ ${HELP}/OrderlyDifferentialPolynomial.help: ${BOOKS}/bookvol10.3.pamphlet >${INPUT}/OrderlyDifferentialPolynomial.input @echo "OrderlyDifferentialPolynomial (ODPOL)" >>${HELPFILE} +${HELP}/PackageForPoly.help: ${BOOKS}/bookvol10.4.pamphlet + @echo 7880 create PackageForPoly.help from \ + ${BOOKS}/bookvol10.4.pamphlet + @${TANGLE} -R"PackageForPoly.help" ${BOOKS}/bookvol10.4.pamphlet \ + >${HELP}/PackageForPoly.help + @cp ${HELP}/PackageForPoly.help ${HELP}/PFORP.help + @${TANGLE} -R"PackageForPoly.input" ${BOOKS}/bookvol10.4.pamphlet \ + >${INPUT}/PackageForPoly.input + @echo "PackageForPoly (PFORP)" >>${HELPFILE} + ${HELP}/PartialFraction.help: ${BOOKS}/bookvol10.3.pamphlet @echo 7880 create PartialFraction.help from \ ${BOOKS}/bookvol10.3.pamphlet diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 46ecba8..1257338 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2769,5 +2769,7 @@ books/bookvol10.3 add PACEXT, INFCLSPS
books/bookvol10.2 add DesingTreeCategory
20100520.03.tpd.patch books/bookvol10.3 add DesingTree
+20100521.01.tpd.patch +books/bookvol10.4 add PackageForPoly