diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet index 635a0c6..5c69035 100644 --- a/books/bookvol10.2.pamphlet +++ b/books/bookvol10.2.pamphlet @@ -731,6 +731,8 @@ digraph pic { {\bf See:}\\ \pageto{DirectProductCategory}{DIRPCAT} \pageto{FortranProgramCategory}{FORTCAT} +\pageto{PlottablePlaneCurveCategory}{PPCURVE} +\pageto{PlottableSpaceCurveCategory}{PSCURVE} \pageto{PolynomialSetCategory}{PSETCAT} \pageto{SetCategory}{SETCAT} \pagefrom{Category}{CATEGORY} @@ -2214,84 +2216,6 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\pagehead{RealConstant}{REAL} -\pagepic{ps/v102realconstant.ps}{REAL}{1.00} - -{\bf See:}\\ -\pageto{IntegerNumberSystem}{INS} -\pageto{QuotientFieldCategory}{QFCAT} -\pageto{RealNumberSystem}{RNS} -\pagefrom{ConvertibleTo}{KONVERT} - -{\bf Exports:}\\ -\begin{tabular}{l} -\cross{REAL}{convert} -\end{tabular} - -These exports come from \refto{ConvertibleTo}(DoubleFloat): -\begin{verbatim} - convert : % -> DoubleFloat -\end{verbatim} - -These exports come from \refto{ConvertibleTo}(Float): -\begin{verbatim} - convert : % -> Float -\end{verbatim} - -<>= -)abbrev category REAL RealConstant -++ Author: -++ Date Created: -++ Date Last Updated: -++ Basic Functions: -++ Related Constructors: -++ Also See: -++ AMS Classifications: -++ Keywords: -++ References: -++ Description: -++ The category of real numeric domains, i.e. convertible to floats. -RealConstant(): Category == - Join(ConvertibleTo DoubleFloat, ConvertibleTo Float) - -@ -<>= -"REAL" - [color=lightblue,href="bookvol10.2.pdf#nameddest=REAL"]; -"REAL" -> "KONVERT" - -@ -<>= -"RealConstant()" - [color=lightblue,href="bookvol10.2.pdf#nameddest=REAL"]; -"RealConstant()" -> "ConvertibleTo(DoubleFloat)" -"RealConstant()" -> "ConvertibleTo(Float)" - -@ -<>= -digraph pic { - fontsize=10; - bgcolor="#FFFF66"; - node [shape=box, color=white, style=filled]; - -"RealConstant()" [color=lightblue]; -"RealConstant()" -> "ConvertibleTo(DoubleFloat)" -"RealConstant()" -> "ConvertibleTo(Float)" - -"ConvertibleTo(DoubleFloat)" [color=seagreen]; -"ConvertibleTo(DoubleFloat)" -> "ConvertibleTo(a:Type)" - -"ConvertibleTo(Float)" [color=seagreen]; -"ConvertibleTo(Float)" -> "ConvertibleTo(a:Type)" - -"ConvertibleTo(a:Type)" [color=lightblue]; -"ConvertibleTo(a:Type)" -> "Category" - -"Category" [color=lightblue]; -} - -@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{EltableAggregate}{ELTAGG} \pagepic{ps/v102eltableaggregate.ps}{ELTAGG}{0.75} @@ -2920,6 +2844,277 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{PlottablePlaneCurveCategory}{PPCURVE} +\pagepic{ps/v102plottableplanecurvecategory.ps}{PPCURVE}{1.00} + +{\bf See:}\\ +\pagefrom{CoercibleTo}{KOERCE} + +{\bf Exports:}\\ +\begin{tabular}{llll} +\cross{PPCURVE}{coerce} & +\cross{PPCURVE}{listBranches} & +\cross{PPCURVE}{xRange} & +\cross{PPCURVE}{yRange} +\end{tabular} + +These are directly exported but not implemented: +\begin{verbatim} + listBranches : % -> List List Point DoubleFloat + xRange : % -> Segment DoubleFloat + yRange : % -> Segment DoubleFloat +\end{verbatim} + +These exports come from \refto{CoercibleTo}(OutputForm): +\begin{verbatim} + coerce : % -> OutputForm +\end{verbatim} + +<>= +)abbrev category PPCURVE PlottablePlaneCurveCategory +++ Author: Clifton J. Williamson +++ Date Created: 11 January 1990 +++ Date Last Updated: 15 June 1990 +++ Basic Operations: listBranches, xRange, yRange +++ Related Constructors: +++ Also See: +++ AMS Classifications: +++ Keywords: plot, graphics +++ References: +++ Description: PlottablePlaneCurveCategory is the category of curves in the +++ plane which may be plotted via the graphics facilities. Functions are +++ provided for obtaining lists of lists of points, representing the +++ branches of the curve, and for determining the ranges of the +++ x-coordinates and y-coordinates of the points on the curve. + +PlottablePlaneCurveCategory(): Category == Definition where + L ==> List + SEG ==> Segment + SF ==> DoubleFloat + POINT ==> Point DoubleFloat + + Definition ==> CoercibleTo OutputForm with + + listBranches: % -> L L POINT + ++ listBranches(c) returns a list of lists of points, representing the + ++ branches of the curve c. + xRange: % -> SEG SF + ++ xRange(c) returns the range of the x-coordinates of the points + ++ on the curve c. + yRange: % -> SEG SF + ++ yRange(c) returns the range of the y-coordinates of the points + ++ on the curve c. + +@ +<>= +"PPCURVE" + [color=lightblue,href="bookvol10.2.pdf#nameddest=PPCURVE"]; +"PPCURVE" -> "KOERCE" + +@ +<>= +"PlottablePlaneCurveCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=PPCURVE"]; +"PlottablePlaneCurveCategory()" -> "CoercibleTo(OutputForm)" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"PlottablePlaneCurveCategory()" [color=lightblue]; +"PlottablePlaneCurveCategory()" -> "CoercibleTo(OutputForm)" + +"CoercibleTo(OutputForm)" [color=seagreen]; +"CoercibleTo(OutputForm)" -> "CoercibleTo(a:Type)" + +"CoercibleTo(a:Type)" [color=lightblue]; +"CoercibleTo(a:Type)" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{PlottableSpaceCurveCategory}{PSCURVE} +\pagepic{ps/v102plottablespacecurvecategory.ps}{PSCURVE}{1.00} + +{\bf See:}\\ +\pagefrom{CoercibleTo}{KOERCE} + +{\bf Exports:}\\ +\begin{tabular}{lllll} +\cross{PSCURVE}{coerce} & +\cross{PSCURVE}{listBranches} & +\cross{PSCURVE}{xRange} & +\cross{PSCURVE}{yRange} & +\cross{PSCURVE}{zRange} +\end{tabular} + +These are directly exported but not implemented: +\begin{verbatim} + listBranches : % -> List List Point DoubleFloat + xRange : % -> Segment DoubleFloat + yRange : % -> Segment DoubleFloat + zRange : % -> Segment DoubleFloat +\end{verbatim} + +These exports come from \refto{CoercibleTo}(OutputForm): +\begin{verbatim} + coerce : % -> OutputForm +\end{verbatim} + +<>= +)abbrev category PSCURVE PlottableSpaceCurveCategory +++ Author: Clifton J. Williamson +++ Date Created: 11 January 1990 +++ Date Last Updated: 15 June 1990 +++ Basic Operations: listBranches, xRange, yRange, zRange +++ Related Constructors: +++ Also See: +++ AMS Classifications: +++ Keywords: plot, graphics +++ References: +++ Description: PlottableSpaceCurveCategory is the category of curves in +++ 3-space which may be plotted via the graphics facilities. Functions are +++ provided for obtaining lists of lists of points, representing the +++ branches of the curve, and for determining the ranges of the +++ x-, y-, and z-coordinates of the points on the curve. + +PlottableSpaceCurveCategory(): Category == Definition where + L ==> List + SEG ==> Segment + SF ==> DoubleFloat + POINT ==> Point DoubleFloat + + Definition ==> CoercibleTo OutputForm with + + listBranches: % -> L L POINT + ++ listBranches(c) returns a list of lists of points, representing the + ++ branches of the curve c. + xRange: % -> SEG SF + ++ xRange(c) returns the range of the x-coordinates of the points + ++ on the curve c. + yRange: % -> SEG SF + ++ yRange(c) returns the range of the y-coordinates of the points + ++ on the curve c. + zRange: % -> SEG SF + ++ zRange(c) returns the range of the z-coordinates of the points + ++ on the curve c. + +@ +<>= +"PSCURVE" + [color=lightblue,href="bookvol10.2.pdf#nameddest=PSCURVE"]; +"PSCURVE" -> "KOERCE" + +@ +<>= +"PlottableSpaceCurveCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=PSCURVE"]; +"PlottableSpaceCurveCategory()" -> "CoercibleTo(OutputForm)" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"PlottableSpaceCurveCategory()" [color=lightblue]; +"PlottableSpaceCurveCategory()" -> "CoercibleTo(OutputForm)" + +"CoercibleTo(OutputForm)" [color=seagreen]; +"CoercibleTo(OutputForm)" -> "CoercibleTo(a:Type)" + +"CoercibleTo(a:Type)" [color=lightblue]; +"CoercibleTo(a:Type)" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{RealConstant}{REAL} +\pagepic{ps/v102realconstant.ps}{REAL}{1.00} + +{\bf See:}\\ +\pageto{IntegerNumberSystem}{INS} +\pageto{QuotientFieldCategory}{QFCAT} +\pageto{RealNumberSystem}{RNS} +\pagefrom{ConvertibleTo}{KONVERT} + +{\bf Exports:}\\ +\begin{tabular}{l} +\cross{REAL}{convert} +\end{tabular} + +These exports come from \refto{ConvertibleTo}(DoubleFloat): +\begin{verbatim} + convert : % -> DoubleFloat +\end{verbatim} + +These exports come from \refto{ConvertibleTo}(Float): +\begin{verbatim} + convert : % -> Float +\end{verbatim} + +<>= +)abbrev category REAL RealConstant +++ Author: +++ Date Created: +++ Date Last Updated: +++ Basic Functions: +++ Related Constructors: +++ Also See: +++ AMS Classifications: +++ Keywords: +++ References: +++ Description: +++ The category of real numeric domains, i.e. convertible to floats. +RealConstant(): Category == + Join(ConvertibleTo DoubleFloat, ConvertibleTo Float) + +@ +<>= +"REAL" + [color=lightblue,href="bookvol10.2.pdf#nameddest=REAL"]; +"REAL" -> "KONVERT" + +@ +<>= +"RealConstant()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=REAL"]; +"RealConstant()" -> "ConvertibleTo(DoubleFloat)" +"RealConstant()" -> "ConvertibleTo(Float)" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"RealConstant()" [color=lightblue]; +"RealConstant()" -> "ConvertibleTo(DoubleFloat)" +"RealConstant()" -> "ConvertibleTo(Float)" + +"ConvertibleTo(DoubleFloat)" [color=seagreen]; +"ConvertibleTo(DoubleFloat)" -> "ConvertibleTo(a:Type)" + +"ConvertibleTo(Float)" [color=seagreen]; +"ConvertibleTo(Float)" -> "ConvertibleTo(a:Type)" + +"ConvertibleTo(a:Type)" [color=lightblue]; +"ConvertibleTo(a:Type)" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{SegmentCategory}{SEGCAT} \pagepic{ps/v102segmentcategory.ps}{SEGCAT}{1.00} @@ -20479,6 +20674,7 @@ digraph pic { \pagepic{ps/v102regulartriangularsetcategory.ps}{RSETCAT}{0.35} {\bf See:}\\ +\pageto{NormalizedTriangularSetCategory}{NTSCAT} \pageto{SquareFreeRegularTriangularSetCategory}{SFRTCAT} \pagefrom{TriangularSetCategory}{TSETCAT} @@ -23415,6 +23611,355 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{NormalizedTriangularSetCategory}{NTSCAT} +\pagepic{ps/v102normalizedtriangularsetcategory.ps}{NTSCAT}{0.45} + +{\bf See:}\\ +\pagefrom{RegularTriangularSetCategory}{RSETCAT} + +{\bf Exports:}\\ +\begin{tabular}{ll} +\cross{NTSCAT}{algebraic?} & +\cross{NTSCAT}{algebraicCoefficients?} \\ +\cross{NTSCAT}{algebraicVariables} & +\cross{NTSCAT}{any?} \\ +\cross{NTSCAT}{augment} & +\cross{NTSCAT}{autoReduced?} \\ +\cross{NTSCAT}{basicSet} & +\cross{NTSCAT}{coerce} \\ +\cross{NTSCAT}{coHeight} & +\cross{NTSCAT}{collect} \\ +\cross{NTSCAT}{collectQuasiMonic} & +\cross{NTSCAT}{collectUnder} \\ +\cross{NTSCAT}{collectUpper} & +\cross{NTSCAT}{construct} \\ +\cross{NTSCAT}{copy} & +\cross{NTSCAT}{convert} \\ +\cross{NTSCAT}{count} & +\cross{NTSCAT}{degree} \\ +\cross{NTSCAT}{empty} & +\cross{NTSCAT}{empty?} \\ +\cross{NTSCAT}{eq?} & +\cross{NTSCAT}{eval} \\ +\cross{NTSCAT}{every?} & +\cross{NTSCAT}{extend} \\ +\cross{NTSCAT}{extendIfCan} & +\cross{NTSCAT}{find} \\ +\cross{NTSCAT}{first} & +\cross{NTSCAT}{hash} \\ +\cross{NTSCAT}{headReduce} & +\cross{NTSCAT}{headReduced?} \\ +\cross{NTSCAT}{headRemainder} & +\cross{NTSCAT}{infRittWu?} \\ +\cross{NTSCAT}{initiallyReduce} & +\cross{NTSCAT}{initiallyReduced?} \\ +\cross{NTSCAT}{initials} & +\cross{NTSCAT}{internalAugment} \\ +\cross{NTSCAT}{intersect} & +\cross{NTSCAT}{invertible?} \\ +\cross{NTSCAT}{invertibleElseSplit?} & +\cross{NTSCAT}{invertibleSet} \\ +\cross{NTSCAT}{last} & +\cross{NTSCAT}{lastSubResultant} \\ +\cross{NTSCAT}{lastSubResultantElseSplit} & +\cross{NTSCAT}{latex} \\ +\cross{NTSCAT}{less?} & +\cross{NTSCAT}{mainVariable?} \\ +\cross{NTSCAT}{mainVariables} & +\cross{NTSCAT}{map} \\ +\cross{NTSCAT}{map!} & +\cross{NTSCAT}{member?} \\ +\cross{NTSCAT}{members} & +\cross{NTSCAT}{more?} \\ +\cross{NTSCAT}{mvar} & +\cross{NTSCAT}{normalized?} \\ +\cross{NTSCAT}{parts} & +\cross{NTSCAT}{purelyAlgebraic?} \\ +\cross{NTSCAT}{purelyAlgebraicLeadingMonomial?} & +\cross{NTSCAT}{purelyTranscendental?} \\ +\cross{NTSCAT}{quasiComponent} & +\cross{NTSCAT}{reduce} \\ +\cross{NTSCAT}{reduceByQuasiMonic} & +\cross{NTSCAT}{reduced?} \\ +\cross{NTSCAT}{remainder} & +\cross{NTSCAT}{remove} \\ +\cross{NTSCAT}{removeDuplicates} & +\cross{NTSCAT}{removeZero} \\ +\cross{NTSCAT}{rest} & +\cross{NTSCAT}{retract} \\ +\cross{NTSCAT}{retractIfCan} & +\cross{NTSCAT}{rewriteIdealWithHeadRemainder} \\ +\cross{NTSCAT}{rewriteIdealWithRemainder} & +\cross{NTSCAT}{rewriteSetWithReduction} \\ +\cross{NTSCAT}{roughBase?} & +\cross{NTSCAT}{roughEqualIdeals?} \\ +\cross{NTSCAT}{roughSubIdeal?} & +\cross{NTSCAT}{roughUnitIdeal?} \\ +\cross{NTSCAT}{sample} & +\cross{NTSCAT}{select} \\ +\cross{NTSCAT}{size?} & +\cross{NTSCAT}{sort} \\ +\cross{NTSCAT}{squareFreePart} & +\cross{NTSCAT}{stronglyReduce} \\ +\cross{NTSCAT}{stronglyReduced?} & +\cross{NTSCAT}{triangular?} \\ +\cross{NTSCAT}{trivialIdeal?} & +\cross{NTSCAT}{variables} \\ +\cross{NTSCAT}{zeroSetSplit} & +\cross{NTSCAT}{zeroSetSplitIntoTriangularSystems} \\ +\cross{NTSCAT}{\#?} & +\cross{NTSCAT}{?=?} \\ +\cross{NTSCAT}{?\~{}=?} & +\end{tabular} + +{\bf Attributes Exported:} +\begin{itemize} +\item {\bf \cross{NTSCAT}{shallowlyMutable}} +is true if its values have immediate components that are +updateable (mutable). Note: the properties of any component +domain are irrevelant to the shallowlyMutable proper. +\item {\bf \cross{NTSCAT}{finiteAggregate}} +is true if it is an aggregate with a finite number of elements. +\item {\bf nil} +\end{itemize} + +These exports come from \refto{RegularTriangularSetCategory}(R,E,V,P)\\ +where R:GcdDomain, E:OrderedAbelianMonoidSup, V:OrderedSet,\\ +P:RecursivePolynomialCategory(R,E,V)): +\begin{verbatim} + algebraic? : (V,%) -> Boolean + algebraicCoefficients? : (P,%) -> Boolean + algebraicVariables : % -> List V + any? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate + augment : (List P,List %) -> List % + augment : (List P,%) -> List % + augment : (P,List %) -> List % + augment : (P,%) -> List % + autoReduced? : (%,((P,List P) -> Boolean)) -> Boolean + basicSet : + (List P,(P -> Boolean),((P,P) -> Boolean)) -> + Union(Record(bas: %,top: List P),"failed") + basicSet : + (List P,((P,P) -> Boolean)) -> + Union(Record(bas: %,top: List P),"failed") + coerce : % -> List P + coerce : % -> OutputForm + coHeight : % -> NonNegativeInteger if V has FINITE + collect : (%,V) -> % + collectQuasiMonic : % -> % + collectUnder : (%,V) -> % + collectUpper : (%,V) -> % + construct : List P -> % + copy : % -> % + convert : % -> InputForm if P has KONVERT INFORM + count : ((P -> Boolean),%) -> NonNegativeInteger + if $ has finiteAggregate + count : (P,%) -> NonNegativeInteger + if P has SETCAT + and $ has finiteAggregate + degree : % -> NonNegativeInteger + empty : () -> % + empty? : % -> Boolean + eq? : (%,%) -> Boolean + eval : (%,List Equation P) -> % if P has EVALAB P and P has SETCAT + eval : (%,Equation P) -> % if P has EVALAB P and P has SETCAT + eval : (%,P,P) -> % if P has EVALAB P and P has SETCAT + eval : (%,List P,List P) -> % if P has EVALAB P and P has SETCAT + every? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate + extend : (List P,List %) -> List % + extend : (List P,%) -> List % + extend : (P,List %) -> List % + extend : (P,%) -> List % + extend : (%,P) -> % + extendIfCan : (%,P) -> Union(%,"failed") + find : ((P -> Boolean),%) -> Union(P,"failed") + first : % -> Union(P,"failed") + hash : % -> SingleInteger + headReduce : (P,%) -> P + headReduced? : % -> Boolean + headReduced? : (P,%) -> Boolean + headRemainder : (P,%) -> Record(num: P,den: R) if R has INTDOM + infRittWu? : (%,%) -> Boolean + initiallyReduce : (P,%) -> P + initiallyReduced? : % -> Boolean + initiallyReduced? : (P,%) -> Boolean + initials : % -> List P + internalAugment : (P,%) -> % + internalAugment : (List P,%) -> % + intersect : (P,List %) -> List % + intersect : (List P,%) -> List % + intersect : (P,%) -> List % + intersect : (List P,List %) -> List % + invertible? : (P,%) -> Boolean + invertible? : (P,%) -> List Record(val: Boolean,tower: %) + invertibleElseSplit? : (P,%) -> Union(Boolean,List %) + invertibleSet : (P,%) -> List % + last : % -> Union(P,"failed") + lastSubResultant : (P,P,%) -> List Record(val: P,tower: %) + lastSubResultantElseSplit : (P,P,%) -> Union(P,List %) + latex : % -> String + less? : (%,NonNegativeInteger) -> Boolean + mainVariable? : (V,%) -> Boolean + mainVariables : % -> List V + map : ((P -> P),%) -> % + map! : ((P -> P),%) -> % if $ has shallowlyMutable + member? : (P,%) -> Boolean if P has SETCAT and $ has finiteAggregate + members : % -> List P if $ has finiteAggregate + more? : (%,NonNegativeInteger) -> Boolean + mvar : % -> V + normalized? : % -> Boolean + normalized? : (P,%) -> Boolean + parts : % -> List P if $ has finiteAggregate + purelyAlgebraic? : (P,%) -> Boolean + purelyAlgebraic? : % -> Boolean + purelyAlgebraicLeadingMonomial? : (P,%) -> Boolean + purelyTranscendental? : (P,%) -> Boolean + quasiComponent : % -> Record(close: List P,open: List P) + reduce : (P,%,((P,P) -> P),((P,P) -> Boolean)) -> P + reduce : (((P,P) -> P),%) -> P if $ has finiteAggregate + reduce : (((P,P) -> P),%,P) -> P if $ has finiteAggregate + reduce : (((P,P) -> P),%,P,P) -> P + if P has SETCAT + and $ has finiteAggregate + reduceByQuasiMonic : (P,%) -> P + reduced? : (P,%,((P,P) -> Boolean)) -> Boolean + remainder : (P,%) -> Record(rnum: R,polnum: P,den: R) + if R has INTDOM + remove : ((P -> Boolean),%) -> % if $ has finiteAggregate + remove : (P,%) -> % if P has SETCAT and $ has finiteAggregate + removeDuplicates : % -> % if P has SETCAT and $ has finiteAggregate + removeZero : (P,%) -> P + rest : % -> Union(%,"failed") + retract : List P -> % + retractIfCan : List P -> Union(%,"failed") + rewriteIdealWithHeadRemainder : (List P,%) -> List P if R has INTDOM + rewriteIdealWithRemainder : (List P,%) -> List P if R has INTDOM + rewriteSetWithReduction : + (List P,%,((P,P) -> P),((P,P) -> Boolean)) -> List P + roughBase? : % -> Boolean if R has INTDOM + roughEqualIdeals? : (%,%) -> Boolean if R has INTDOM + roughSubIdeal? : (%,%) -> Boolean if R has INTDOM + roughUnitIdeal? : % -> Boolean if R has INTDOM + sample : () -> % + select : (%,V) -> Union(P,"failed") + select : ((P -> Boolean),%) -> % if $ has finiteAggregate + size? : (%,NonNegativeInteger) -> Boolean + sort : (%,V) -> Record(under: %,floor: %,upper: %) + squareFreePart : (P,%) -> List Record(val: P,tower: %) + stronglyReduce : (P,%) -> P + stronglyReduced? : (P,%) -> Boolean + stronglyReduced? : % -> Boolean + triangular? : % -> Boolean if R has INTDOM + trivialIdeal? : % -> Boolean + variables : % -> List V + zeroSetSplit : List P -> List % + zeroSetSplit : (List P,Boolean) -> List % + zeroSetSplitIntoTriangularSystems : + List P -> List Record(close: %,open: List P) + #? : % -> NonNegativeInteger if $ has finiteAggregate + ?=? : (%,%) -> Boolean + ?~=? : (%,%) -> Boolean +\end{verbatim} + +<>= +)abbrev category NTSCAT NormalizedTriangularSetCategory +++ Author: Marc Moreno Maza +++ Date Created: 10/07/1998 +++ Date Last Updated: 12/12/1998 +++ Basic Functions: +++ Related Constructors: +++ Also See: essai Graphisme +++ AMS Classifications: +++ Keywords: polynomial, multivariate, ordered variables set +++ Description: +++ The category of normalized triangular sets. A triangular +++ set \spad{ts} is said normalized if for every algebraic +++ variable \spad{v} of \spad{ts} the polynomial \spad{select(ts,v)} +++ is normalized w.r.t. every polynomial in \spad{collectUnder(ts,v)}. +++ A polynomial \spad{p} is said normalized w.r.t. a non-constant +++ polynomial \spad{q} if \spad{p} is constant or \spad{degree(p,mdeg(q)) = 0} +++ and \spad{init(p)} is normalized w.r.t. \spad{q}. One of the important +++ features of normalized triangular sets is that they are regular sets.\newline +++ References : +++ [1] D. LAZARD "A new method for solving algebraic systems of +++ positive dimension" Discr. App. Math. 33:147-160,1991 +++ [2] P. AUBRY, D. LAZARD and M. MORENO MAZA "On the Theories +++ of Triangular Sets" Journal of Symbol. Comp. (to appear) +++ [3] M. MORENO MAZA and R. RIOBOO "Computations of gcd over +++ algebraic towers of simple extensions" In proceedings of AAECC11 +++ Paris, 1995. +++ [4] M. MORENO MAZA "Calculs de pgcd au-dessus des tours +++ d'extensions simples et resolution des systemes d'equations +++ algebriques" These, Universite P.etM. Curie, Paris, 1997. + + +NormalizedTriangularSetCategory(R:GcdDomain,E:OrderedAbelianMonoidSup,_ + V:OrderedSet,P:RecursivePolynomialCategory(R,E,V)): + Category == RegularTriangularSetCategory(R,E,V,P) + +@ +<>= +"NTSCAT" +"NTSCAT" -> "RSETCAT" + +@ +<>= +"NormalizedRegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + [color=lightblue,href="bookvol10.2.pdf#nameddest=SFRTCAT"]; +"NormalizedRegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + -> +"RegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"NormalizedRegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + [color=lightblue]; +"NormalizedRegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + -> +"RegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + +"RegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + [color=lightblue]; +"RegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + -> +"TriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + +"TriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + [color=seagreen]; +"TriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + -> +"TriangularSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" +"TriangularSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + [color=lightblue]; +"TriangularSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + -> "PolynomialSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + +"PolynomialSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + [color=seagreen]; +"PolynomialSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + -> "PolynomialSetCategory(a:Ring,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + +"PolynomialSetCategory(a:Ring,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + [color=lightblue]; +"PolynomialSetCategory(a:Ring,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + -> "SETCAT..." +"PolynomialSetCategory(a:Ring,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + -> "CLAGG..." +"PolynomialSetCategory(a:Ring,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))" + -> "KOERCE..." + +"SETCAT..." [color=lightblue]; +"KOERCE..." [color=lightblue]; +"CLAGG..." [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{OrderedAbelianGroup}{OAGROUP} \pagepic{ps/v102orderedabeliangroup.ps}{OAGROUP}{1.00} @@ -66118,6 +66663,7 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> <> <> <> @@ -66143,6 +66689,8 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> +<> <> <> <> @@ -66315,6 +66863,7 @@ digraph dotabb { <> <> <> +<> <> <> <> @@ -66340,6 +66889,8 @@ digraph dotabb { <> <> <> +<> +<> <> <> <> @@ -66515,6 +67066,7 @@ digraph dotfull { <> <> <> +<> <> <> <> @@ -66540,6 +67092,8 @@ digraph dotfull { <> <> <> +<> +<> <> <> <> diff --git a/books/ps/v102normalizedtriangularsetcategory.ps b/books/ps/v102normalizedtriangularsetcategory.ps new file mode 100644 index 0000000..d058493 --- /dev/null +++ b/books/ps/v102normalizedtriangularsetcategory.ps @@ -0,0 +1,611 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 854 512 +%%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 + dup 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 aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + 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 +%%Page: 1 1 +%%PageBoundingBox: 36 36 854 512 +%%PageOrientation: Portrait +gsave +36 36 818 476 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 474 lineto +816 474 lineto +816 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 474 lineto +816 474 lineto +816 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% NormalizedRegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c)) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 810 468 moveto +0 468 lineto +0 432 lineto +810 432 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 810 468 moveto +0 468 lineto +0 432 lineto +810 432 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +7 445 moveto +(NormalizedRegularTriangularSetCategory\(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory\(a,b,c\)\)) +[9.84 6.96 5.04 10.8 6.24 3.84 3.84 6.24 6.24 6.96 9.12 6.24 6.96 6.96 3.84 6.24 4.8 7.92 5.04 3.84 6.24 6.96 6.96 6.96 3.84 6.24 4.8 7.68 6 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.84 10.08 6.24 6.96 10.08 6.96 10.8 6.24 3.84 6.96 3.6 6.96 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 9.84 6.96 6.24 3.84 3.84 6.24 6.96 12.48 6.96 6.96 6.96 3.84 6.96 7.68 6.96 6.96 3.6 6.24 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 7.68 6 3.84 3.6 6.96 3.84 9.12 6.24 6.24 6.96 4.8 5.52 3.84 6.48 6.24 7.44 6.96 3.6 6.96 6.96 6.96 10.8 3.84 6.24 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.6 6.96 3.6 6.24 4.56 4.56] +xshow +end grestore +end grestore +% RegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c)) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 777 396 moveto +33 396 lineto +33 360 lineto +777 360 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 777 396 moveto +33 396 lineto +33 360 lineto +777 360 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +41 373 moveto +(RegularTriangularSetCategory\(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory\(a,b,c\)\)) +[9.12 6.24 6.96 6.96 3.84 6.24 4.8 7.92 5.04 3.84 6.24 6.96 6.96 6.96 3.84 6.24 4.8 7.68 6 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.84 10.08 6.24 6.96 10.08 6.96 10.8 6.24 3.84 6.96 3.6 6.96 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 9.84 6.96 6.24 3.84 3.84 6.24 6.96 12.48 6.96 6.96 6.96 3.84 6.96 7.68 6.96 6.96 3.6 6.24 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 7.68 6 3.84 3.6 6.96 3.84 9.12 6.24 6.24 6.96 4.8 5.52 3.84 6.48 6.24 7.44 6.96 3.6 6.96 6.96 6.96 10.8 3.84 6.24 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.6 6.96 3.6 6.24 4.56 4.56] +xshow +end grestore +end grestore +% NormalizedRegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))->RegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c)) +newpath 405 432 moveto +405 424 405 415 405 406 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 409 406 moveto +405 396 lineto +402 406 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 409 406 moveto +405 396 lineto +402 406 lineto +closepath +stroke +end grestore +% TriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c)) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 755 324 moveto +55 324 lineto +55 288 lineto +755 288 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 755 324 moveto +55 324 lineto +55 288 lineto +755 288 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +63 301 moveto +(TriangularSetCategory\(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory\(a,b,c\)\)) +[7.92 5.04 3.84 6.24 6.96 6.96 6.96 3.84 6.24 4.8 7.68 6 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.84 10.08 6.24 6.96 10.08 6.96 10.8 6.24 3.84 6.96 3.6 6.96 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 9.84 6.96 6.24 3.84 3.84 6.24 6.96 12.48 6.96 6.96 6.96 3.84 6.96 7.68 6.96 6.96 3.6 6.24 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 7.68 6 3.84 3.6 6.96 3.84 9.12 6.24 6.24 6.96 4.8 5.52 3.84 6.48 6.24 7.44 6.96 3.6 6.96 6.96 6.96 10.8 3.84 6.24 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.6 6.96 3.6 6.24 4.56 4.56] +xshow +end grestore +end grestore +% RegularTriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))->TriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c)) +newpath 405 360 moveto +405 352 405 343 405 334 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 409 334 moveto +405 324 lineto +402 334 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 409 334 moveto +405 324 lineto +402 334 lineto +closepath +stroke +end grestore +% TriangularSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c)) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 765 252 moveto +45 252 lineto +45 216 lineto +765 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 765 252 moveto +45 252 lineto +45 216 lineto +765 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +53 229 moveto +(TriangularSetCategory\(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory\(a,b,c\)\)) +[7.92 5.04 3.84 6.24 6.96 6.96 6.96 3.84 6.24 4.8 7.68 6 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.84 4.56 6.96 3.84 6.24 7.2 4.8 6.24 3.84 10.08 6.96 10.8 6.24 3.84 6.96 3.6 6.96 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 9.84 6.96 6.24 3.84 3.84 6.24 6.96 12.48 6.96 6.96 6.96 3.84 6.96 7.68 6.96 6.96 3.6 6.24 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 7.68 6 3.84 3.6 6.96 3.84 9.12 6.24 6.24 6.96 4.8 5.52 3.84 6.48 6.24 7.44 6.96 3.6 6.96 6.96 6.96 10.8 3.84 6.24 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.6 6.96 3.6 6.24 4.56 4.56] +xshow +end grestore +end grestore +% TriangularSetCategory(a:GcdDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))->TriangularSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c)) +newpath 405 288 moveto +405 280 405 271 405 262 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 409 262 moveto +405 252 lineto +402 262 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 409 262 moveto +405 252 lineto +402 262 lineto +closepath +stroke +end grestore +% PolynomialSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c)) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 768 180 moveto +42 180 lineto +42 144 lineto +768 144 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 768 180 moveto +42 180 lineto +42 144 lineto +768 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +50 157 moveto +(PolynomialSetCategory\(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory\(a,b,c\)\)) +[7.44 6.96 3.6 6.96 6.96 6.96 10.8 3.84 6.24 3.84 7.68 6 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.84 4.56 6.96 3.84 6.24 7.2 4.8 6.24 3.84 10.08 6.96 10.8 6.24 3.84 6.96 3.6 6.96 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 9.84 6.96 6.24 3.84 3.84 6.24 6.96 12.48 6.96 6.96 6.96 3.84 6.96 7.68 6.96 6.96 3.6 6.24 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 7.68 6 3.84 3.6 6.96 3.84 9.12 6.24 6.24 6.96 4.8 5.52 3.84 6.48 6.24 7.44 6.96 3.6 6.96 6.96 6.96 10.8 3.84 6.24 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.6 6.96 3.6 6.24 4.56 4.56] +xshow +end grestore +end grestore +% TriangularSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))->PolynomialSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c)) +newpath 405 216 moveto +405 208 405 199 405 190 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 409 190 moveto +405 180 lineto +402 190 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 409 190 moveto +405 180 lineto +402 190 lineto +closepath +stroke +end grestore +% PolynomialSetCategory(a:Ring,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c)) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 737 108 moveto +73 108 lineto +73 72 lineto +737 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 737 108 moveto +73 108 lineto +73 72 lineto +737 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +81 85 moveto +(PolynomialSetCategory\(a:Ring,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory\(a,b,c\)\)) +[7.44 6.96 3.6 6.96 6.96 6.96 10.8 3.84 6.24 3.84 7.68 6 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.84 9.36 3.84 6.96 6.96 3.6 6.96 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 9.84 6.96 6.24 3.84 3.84 6.24 6.96 12.48 6.96 6.96 6.96 3.84 6.96 7.68 6.96 6.96 3.6 6.24 3.84 10.08 4.56 6.96 6.24 4.8 6.24 6.96 7.68 6 3.84 3.6 6.96 3.84 9.12 6.24 6.24 6.96 4.8 5.52 3.84 6.48 6.24 7.44 6.96 3.6 6.96 6.96 6.96 10.8 3.84 6.24 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 6.24 3.6 6.96 3.6 6.24 4.56 4.56] +xshow +end grestore +end grestore +% PolynomialSetCategory(a:IntegralDomain,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))->PolynomialSetCategory(a:Ring,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c)) +newpath 405 144 moveto +405 136 405 127 405 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 409 118 moveto +405 108 lineto +402 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 409 118 moveto +405 108 lineto +402 118 lineto +closepath +stroke +end grestore +% SETCAT... +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 350 36 moveto +272 36 lineto +272 0 lineto +350 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 350 36 moveto +272 36 lineto +272 0 lineto +350 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +280 13 moveto +(SETCAT...) +[7.68 8.64 8.64 9.12 9.36 7.44 3.6 3.6 3.6] +xshow +end grestore +end grestore +% PolynomialSetCategory(a:Ring,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))->SETCAT... +newpath 381 72 moveto +370 63 355 52 342 42 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 344 39 moveto +334 36 lineto +340 45 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 344 39 moveto +334 36 lineto +340 45 lineto +closepath +stroke +end grestore +% CLAGG... +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 442 36 moveto +368 36 lineto +368 0 lineto +442 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 442 36 moveto +368 36 lineto +368 0 lineto +442 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +375 13 moveto +(CLAGG...) +[9.36 8.64 9.36 10.08 10.08 3.6 3.6 3.6] +xshow +end grestore +end grestore +% PolynomialSetCategory(a:Ring,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))->CLAGG... +newpath 405 72 moveto +405 64 405 55 405 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 409 46 moveto +405 36 lineto +402 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 409 46 moveto +405 36 lineto +402 46 lineto +closepath +stroke +end grestore +% KOERCE... +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 542 36 moveto +460 36 lineto +460 0 lineto +542 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 542 36 moveto +460 36 lineto +460 0 lineto +542 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +467 13 moveto +(KOERCE...) +[9.12 10.08 8.64 8.88 9.36 8.64 3.6 3.6 3.6] +xshow +end grestore +end grestore +% PolynomialSetCategory(a:Ring,b:OrderedAbelianMonoidSup,c:OrderedSet,d:RecursivePolynomialCategory(a,b,c))->KOERCE... +newpath 429 72 moveto +441 63 456 52 469 42 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 471 45 moveto +477 36 lineto +467 39 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 471 45 moveto +477 36 lineto +467 39 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102plottableplanecurvecategory.ps b/books/ps/v102plottableplanecurvecategory.ps new file mode 100644 index 0000000..d323209 --- /dev/null +++ b/books/ps/v102plottableplanecurvecategory.ps @@ -0,0 +1,381 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 236 296 +%%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 + dup 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 aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + 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 +%%Page: 1 1 +%%PageBoundingBox: 36 36 236 296 +%%PageOrientation: Portrait +gsave +36 36 200 260 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 258 lineto +198 258 lineto +198 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 258 lineto +198 258 lineto +198 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% PlottablePlaneCurveCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 192 252 moveto +0 252 lineto +0 216 lineto +192 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 192 252 moveto +0 252 lineto +0 216 lineto +192 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +7 229 moveto +(PlottablePlaneCurveCategory\(\)) +[7.68 3.84 6.72 3.84 4.08 6.24 6.96 3.84 6.24 7.68 3.84 6.24 6.96 6.24 9.36 6.96 5.04 6.48 6.24 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% CoercibleTo(OutputForm) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 178 180 moveto +14 180 lineto +14 144 lineto +178 144 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 178 180 moveto +14 180 lineto +14 144 lineto +178 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +22 157 moveto +(CoercibleTo\(OutputForm\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 10.08 6.96 3.84 6.96 6.96 3.84 7.44 6.96 5.04 10.8 4.56] +xshow +end grestore +end grestore +% PlottablePlaneCurveCategory()->CoercibleTo(OutputForm) +newpath 96 216 moveto +96 208 96 199 96 190 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 100 190 moveto +96 180 lineto +93 190 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 100 190 moveto +96 180 lineto +93 190 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 162 108 moveto +30 108 lineto +30 72 lineto +162 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 162 108 moveto +30 108 lineto +30 72 lineto +162 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +38 85 moveto +(CoercibleTo\(a:Type\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 6.24 3.84 7.2 6.96 6.96 6.24 4.56] +xshow +end grestore +end grestore +% CoercibleTo(OutputForm)->CoercibleTo(a:Type) +newpath 96 144 moveto +96 136 96 127 96 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 100 118 moveto +96 108 lineto +93 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 100 118 moveto +96 108 lineto +93 118 lineto +closepath +stroke +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 130 36 moveto +62 36 lineto +62 0 lineto +130 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 130 36 moveto +62 36 lineto +62 0 lineto +130 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +70 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% CoercibleTo(a:Type)->Category +newpath 96 72 moveto +96 64 96 55 96 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 100 46 moveto +96 36 lineto +93 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 100 46 moveto +96 36 lineto +93 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102plottablespacecurvecategory.ps b/books/ps/v102plottablespacecurvecategory.ps new file mode 100644 index 0000000..fea411b --- /dev/null +++ b/books/ps/v102plottablespacecurvecategory.ps @@ -0,0 +1,381 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 238 296 +%%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 + dup 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 aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + 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 +%%Page: 1 1 +%%PageBoundingBox: 36 36 238 296 +%%PageOrientation: Portrait +gsave +36 36 202 260 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 258 lineto +200 258 lineto +200 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 258 lineto +200 258 lineto +200 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% PlottableSpaceCurveCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 194 252 moveto +0 252 lineto +0 216 lineto +194 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 194 252 moveto +0 252 lineto +0 216 lineto +194 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +7 229 moveto +(PlottableSpaceCurveCategory\(\)) +[7.68 3.84 6.72 3.84 4.08 6.24 6.96 3.84 6.24 7.68 6.96 6.24 6.24 6.24 9.36 6.96 5.04 6.48 6.24 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% CoercibleTo(OutputForm) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 179 180 moveto +15 180 lineto +15 144 lineto +179 144 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 179 180 moveto +15 180 lineto +15 144 lineto +179 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +23 157 moveto +(CoercibleTo\(OutputForm\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 10.08 6.96 3.84 6.96 6.96 3.84 7.44 6.96 5.04 10.8 4.56] +xshow +end grestore +end grestore +% PlottableSpaceCurveCategory()->CoercibleTo(OutputForm) +newpath 97 216 moveto +97 208 97 199 97 190 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 101 190 moveto +97 180 lineto +94 190 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 101 190 moveto +97 180 lineto +94 190 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 163 108 moveto +31 108 lineto +31 72 lineto +163 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 163 108 moveto +31 108 lineto +31 72 lineto +163 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +39 85 moveto +(CoercibleTo\(a:Type\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 6.24 3.84 7.2 6.96 6.96 6.24 4.56] +xshow +end grestore +end grestore +% CoercibleTo(OutputForm)->CoercibleTo(a:Type) +newpath 97 144 moveto +97 136 97 127 97 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 101 118 moveto +97 108 lineto +94 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 101 118 moveto +97 108 lineto +94 118 lineto +closepath +stroke +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 131 36 moveto +63 36 lineto +63 0 lineto +131 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 131 36 moveto +63 36 lineto +63 0 lineto +131 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +71 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% CoercibleTo(a:Type)->Category +newpath 97 72 moveto +97 64 97 55 97 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 101 46 moveto +97 36 lineto +94 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 101 46 moveto +97 36 lineto +94 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/changelog b/changelog index d95f312..099ffff 100644 --- a/changelog +++ b/changelog @@ -1,4 +1,13 @@ +20081110 tpd books/bookvol10.2 add categories +20081110 tpd books/ps/v102normalizedtriangularsetcategory.ps added +20081110 tpd src/algebra/nregset.spad move NTSCAT to bookvol10.2 +20081110 tpd books/ps/v102plottableplanecurvecategory.ps added +20081110 tpd books/ps/v102plottablespacecurvecategory.ps added +20081110 tpd src/algebra/Makefile remove pcurve.spad +20081110 tpd src/algebra/pcurve.spad merged with bookvol10.2 20081109 tpd books/bookvol10.2 add categories +20081109 tpd books/ps/v102pointcategory.ps revised +20081109 tpd src/algebra/polset.spad.pamphlet 20081109 tpd books/ps/v102squarefreeregulartriangularsetcategory.ps added 20081109 tpd src/algebra/sregset.spad.pamphlet move SFRTCAT to bookvol10.2 20081109 tpd books/ps/v102regulartriangularsetcategory.ps added diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 69818c4..5ff5e10 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -194,7 +194,6 @@ LAYER0=\ \begin{verbatim} ituple.spad.pamphlet (ITFUN2 ITFUN3 ITUPLE) mkrecord.spad.pamphlet (MKRECORD) -pcurve.spad.pamphlet (PPCURVE PSCURVE) \end{verbatim} <>= @@ -1261,7 +1260,7 @@ SPADFILES= \ ${OUTSRC}/outform.spad ${OUTSRC}/out.spad \ ${OUTSRC}/pade.spad ${OUTSRC}/padiclib.spad ${OUTSRC}/padic.spad \ ${OUTSRC}/paramete.spad ${OUTSRC}/partperm.spad ${OUTSRC}/patmatch1.spad \ - ${OUTSRC}/patmatch2.spad ${OUTSRC}/pattern.spad ${OUTSRC}/pcurve.spad \ + ${OUTSRC}/patmatch2.spad ${OUTSRC}/pattern.spad \ ${OUTSRC}/pdecomp.spad ${OUTSRC}/perman.spad ${OUTSRC}/permgrps.spad \ ${OUTSRC}/perm.spad ${OUTSRC}/pfbr.spad ${OUTSRC}/pfo.spad \ ${OUTSRC}/pfr.spad ${OUTSRC}/pf.spad ${OUTSRC}/pgcd.spad \ @@ -1422,7 +1421,7 @@ DOCFILES= \ ${DOC}/outform.spad.dvi ${DOC}/out.spad.dvi \ ${DOC}/pade.spad.dvi ${DOC}/padiclib.spad.dvi ${DOC}/padic.spad.dvi \ ${DOC}/paramete.spad.dvi ${DOC}/partperm.spad.dvi ${DOC}/patmatch1.spad.dvi \ - ${DOC}/patmatch2.spad.dvi ${DOC}/pattern.spad.dvi ${DOC}/pcurve.spad.dvi \ + ${DOC}/patmatch2.spad.dvi ${DOC}/pattern.spad.dvi \ ${DOC}/pdecomp.spad.dvi ${DOC}/perman.spad.dvi ${DOC}/permgrps.spad.dvi \ ${DOC}/perm.spad.dvi ${DOC}/pfbr.spad.dvi ${DOC}/pfo.spad.dvi \ ${DOC}/pfr.spad.dvi ${DOC}/pf.spad.dvi ${DOC}/pgcd.spad.dvi \ diff --git a/src/algebra/nregset.spad.pamphlet b/src/algebra/nregset.spad.pamphlet index a1ad85f..fe0243d 100644 --- a/src/algebra/nregset.spad.pamphlet +++ b/src/algebra/nregset.spad.pamphlet @@ -9,44 +9,6 @@ \eject \tableofcontents \eject -\section{category NTSCAT NormalizedTriangularSetCategory} -<>= -)abbrev category NTSCAT NormalizedTriangularSetCategory -++ Author: Marc Moreno Maza -++ Date Created: 10/07/1998 -++ Date Last Updated: 12/12/1998 -++ Basic Functions: -++ Related Constructors: -++ Also See: essai Graphisme -++ AMS Classifications: -++ Keywords: polynomial, multivariate, ordered variables set -++ Description: -++ The category of normalized triangular sets. A triangular -++ set \spad{ts} is said normalized if for every algebraic -++ variable \spad{v} of \spad{ts} the polynomial \spad{select(ts,v)} -++ is normalized w.r.t. every polynomial in \spad{collectUnder(ts,v)}. -++ A polynomial \spad{p} is said normalized w.r.t. a non-constant -++ polynomial \spad{q} if \spad{p} is constant or \spad{degree(p,mdeg(q)) = 0} -++ and \spad{init(p)} is normalized w.r.t. \spad{q}. One of the important -++ features of normalized triangular sets is that they are regular sets.\newline -++ References : -++ [1] D. LAZARD "A new method for solving algebraic systems of -++ positive dimension" Discr. App. Math. 33:147-160,1991 -++ [2] P. AUBRY, D. LAZARD and M. MORENO MAZA "On the Theories -++ of Triangular Sets" Journal of Symbol. Comp. (to appear) -++ [3] M. MORENO MAZA and R. RIOBOO "Computations of gcd over -++ algebraic towers of simple extensions" In proceedings of AAECC11 -++ Paris, 1995. -++ [4] M. MORENO MAZA "Calculs de pgcd au-dessus des tours -++ d'extensions simples et resolution des systemes d'equations -++ algebriques" These, Universite P.etM. Curie, Paris, 1997. - - -NormalizedTriangularSetCategory(R:GcdDomain,E:OrderedAbelianMonoidSup,_ - V:OrderedSet,P:RecursivePolynomialCategory(R,E,V)): - Category == RegularTriangularSetCategory(R,E,V,P) - -@ \section{package NORMPK NormalizationPackage} <>= )abbrev package NORMPK NormalizationPackage @@ -136,7 +98,8 @@ NormalizationPackage(R,E,V,P,TS): Exports == Implementation where outputArgs(s1:S, s2: S, p:P,ts:TS): Void == if not empty? s1 then output(s1, p::OutputForm)$OutputPackage - if not empty? s1 then output(s1,(convert(p)@String)::OutputForm)$OutputPackage + if not empty? s1 then _ + output(s1,(convert(p)@String)::OutputForm)$OutputPackage output(" ")$OutputPackage if not empty? s2 then output(s2, ts::OutputForm)$OutputPackage empty? s2 => void() @@ -162,10 +125,12 @@ NormalizationPackage(R,E,V,P,TS): Exports == Implementation where ts_v := select(ts,v)::P if mdeg(p) < mdeg(ts_v) then - hesrg: Record (gcd : P, coef2 : P) := halfExtendedSubResultantGcd2(ts_v,p)$P + hesrg: Record (gcd : P, coef2 : P) := _ + halfExtendedSubResultantGcd2(ts_v,p)$P d: P := hesrg.gcd; n: P := hesrg.coef2 else - hesrg: Record (gcd : P, coef1 : P) := halfExtendedSubResultantGcd1(p,ts_v)$P + hesrg: Record (gcd : P, coef1 : P) := _ + halfExtendedSubResultantGcd1(p,ts_v)$P d: P := hesrg.gcd; n: P := hesrg.coef1 g := gcd(n,d) (n, d) := ((n exquo g)::P, (d exquo g)::P) @@ -206,7 +171,8 @@ NormalizationPackage(R,E,V,P,TS): Exports == Implementation where tp := qr.num * tp zero? ip => outputArgs("p = ", " ts = ",p,ts) - error "in normalizedAssociate$NORMPK: should never happen !" + error _ + "in normalizedAssociate$NORMPK: should never happen !" else tp := tail(ip) * mp + tp mp := mainMonomial(ip) * mp @@ -278,7 +244,6 @@ NormalizationPackage(R,E,V,P,TS): Exports == Implementation where <<*>>= <> -<> <> @ \eject diff --git a/src/algebra/pcurve.spad.pamphlet b/src/algebra/pcurve.spad.pamphlet deleted file mode 100644 index 9fa0757..0000000 --- a/src/algebra/pcurve.spad.pamphlet +++ /dev/null @@ -1,132 +0,0 @@ -\documentclass{article} -\usepackage{axiom} -\begin{document} -\title{\$SPAD/src/algebra pcurve.spad} -\author{Clifton J. Williamson} -\maketitle -\begin{abstract} -\end{abstract} -\eject -\tableofcontents -\eject -\section{category PPCURVE PlottablePlaneCurveCategory} -<>= -)abbrev category PPCURVE PlottablePlaneCurveCategory -++ Author: Clifton J. Williamson -++ Date Created: 11 January 1990 -++ Date Last Updated: 15 June 1990 -++ Basic Operations: listBranches, xRange, yRange -++ Related Constructors: -++ Also See: -++ AMS Classifications: -++ Keywords: plot, graphics -++ References: -++ Description: PlottablePlaneCurveCategory is the category of curves in the -++ plane which may be plotted via the graphics facilities. Functions are -++ provided for obtaining lists of lists of points, representing the -++ branches of the curve, and for determining the ranges of the -++ x-coordinates and y-coordinates of the points on the curve. - -PlottablePlaneCurveCategory(): Category == Definition where - L ==> List - SEG ==> Segment - SF ==> DoubleFloat - POINT ==> Point DoubleFloat - - Definition ==> CoercibleTo OutputForm with - - listBranches: % -> L L POINT - ++ listBranches(c) returns a list of lists of points, representing the - ++ branches of the curve c. - xRange: % -> SEG SF - ++ xRange(c) returns the range of the x-coordinates of the points - ++ on the curve c. - yRange: % -> SEG SF - ++ yRange(c) returns the range of the y-coordinates of the points - ++ on the curve c. - -@ -\section{category PSCURVE PlottableSpaceCurveCategory} -<>= -)abbrev category PSCURVE PlottableSpaceCurveCategory -++ Author: Clifton J. Williamson -++ Date Created: 11 January 1990 -++ Date Last Updated: 15 June 1990 -++ Basic Operations: listBranches, xRange, yRange, zRange -++ Related Constructors: -++ Also See: -++ AMS Classifications: -++ Keywords: plot, graphics -++ References: -++ Description: PlottableSpaceCurveCategory is the category of curves in -++ 3-space which may be plotted via the graphics facilities. Functions are -++ provided for obtaining lists of lists of points, representing the -++ branches of the curve, and for determining the ranges of the -++ x-, y-, and z-coordinates of the points on the curve. - -PlottableSpaceCurveCategory(): Category == Definition where - L ==> List - SEG ==> Segment - SF ==> DoubleFloat - POINT ==> Point DoubleFloat - - Definition ==> CoercibleTo OutputForm with - - listBranches: % -> L L POINT - ++ listBranches(c) returns a list of lists of points, representing the - ++ branches of the curve c. - xRange: % -> SEG SF - ++ xRange(c) returns the range of the x-coordinates of the points - ++ on the curve c. - yRange: % -> SEG SF - ++ yRange(c) returns the range of the y-coordinates of the points - ++ on the curve c. - zRange: % -> SEG SF - ++ zRange(c) returns the range of the z-coordinates of the points - ++ on the curve c. - -@ -\section{License} -<>= ---Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. ---All rights reserved. --- ---Redistribution and use in source and binary forms, with or without ---modification, are permitted provided that the following conditions are ---met: --- --- - Redistributions of source code must retain the above copyright --- notice, this list of conditions and the following disclaimer. --- --- - Redistributions in binary form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in --- the documentation and/or other materials provided with the --- distribution. --- --- - Neither the name of The Numerical ALgorithms Group Ltd. nor the --- names of its contributors may be used to endorse or promote products --- derived from this software without specific prior written permission. --- ---THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS ---IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED ---TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ---PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER ---OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ---EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ---PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ---PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ---LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ---NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ---SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -@ -<<*>>= -<> - -<> -<> -@ -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document}