diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet
index 613dce3..dec88e4 100644
--- a/books/bookvol10.2.pamphlet
+++ b/books/bookvol10.2.pamphlet
@@ -1383,6 +1383,7 @@ This is directly exported but not implemented:
\end{verbatim}
\begin{chunk}{category ELTAB Eltable}
+)abbrev category ELTAB Eltable
++ Author: Michael Monagan; revised by Manuel Bronstein and Manuel Bronstein
++ Date Created: August 87 through August 88
++ Date Last Updated: April 1991
@@ -18215,6 +18216,7 @@ inverse matrix [[j**i for i in 0..4] for j in 1..5]
--R inverse : % -> Union(%,"failed") if R has FIELD
--R latex : % -> String if R has SETCAT
--R less? : (%,NonNegativeInteger) -> Boolean
+--R matrix : (NonNegativeInteger,NonNegativeInteger,((Integer,Integer) -> R)) -> %
--R member? : (R,%) -> Boolean if R has SETCAT and $ has finiteAggregate
--R members : % -> List(R) if $ has finiteAggregate
--R minordet : % -> R if R has commutative(*)
@@ -29860,7 +29862,7 @@ digraph pic {
--S 1 of 1
)show OneDimensionalArrayAggregate
---R
+--R
--R OneDimensionalArrayAggregate(S: Type) is a category constructor
--R Abbreviation for OneDimensionalArrayAggregate is A1AGG
--R This constructor is exposed in this frame.
@@ -44022,8 +44024,8 @@ digraph pic {
--R #? : % -> NonNegativeInteger if $ has finiteAggregate
--R ?*? : (PositiveInteger,%) -> % if R has ABELSG
--R ?*? : (NonNegativeInteger,%) -> % if R has CABMON
---R ?*? : (R,%) -> % if R has RING
---R ?*? : (%,R) -> % if R has RING
+--R ?*? : (R,%) -> % if R has MONOID
+--R ?*? : (%,R) -> % if R has MONOID
--R ?*? : (%,%) -> % if R has MONOID
--R ?*? : (Integer,%) -> % if R has RING
--R ?**? : (%,PositiveInteger) -> % if R has MONOID
diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet
index 8914b8f..cb1d422 100644
--- a/books/bookvol10.3.pamphlet
+++ b/books/bookvol10.3.pamphlet
@@ -26821,8 +26821,8 @@ DifferentialSparseMultivariatePolynomial(R, S, V):
--R #? : % -> NonNegativeInteger if $ has finiteAggregate
--R ?*? : (PositiveInteger,%) -> % if R has ABELSG
--R ?*? : (NonNegativeInteger,%) -> % if R has CABMON
---R ?*? : (R,%) -> % if R has RING
---R ?*? : (%,R) -> % if R has RING
+--R ?*? : (R,%) -> % if R has MONOID
+--R ?*? : (%,R) -> % if R has MONOID
--R ?*? : (%,%) -> % if R has MONOID
--R ?*? : (Integer,%) -> % if R has RING
--R ?**? : (%,PositiveInteger) -> % if R has MONOID
@@ -27155,8 +27155,8 @@ DirectProduct(dim:NonNegativeInteger, R:Type):
--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
--R #? : % -> NonNegativeInteger if $ has finiteAggregate
--R ?*? : (%,%) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING
---R ?*? : (S,%) -> % if S has RING
---R ?*? : (%,S) -> % if S has RING
+--R ?*? : (S,%) -> % if S has MONOID
+--R ?*? : (%,S) -> % if S has MONOID
--R ?*? : (NonNegativeInteger,%) -> %
--R ?**? : (%,PositiveInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING
--R ?**? : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING
@@ -27410,8 +27410,8 @@ DirectProductMatrixModule(n, R, M, S): DPcategory == DPcapsule where
--R ?~=? : (%,%) -> Boolean
--R #? : % -> NonNegativeInteger if $ has finiteAggregate
--R ?*? : (%,%) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING
---R ?*? : (S,%) -> % if S has RING
---R ?*? : (%,S) -> % if S has RING
+--R ?*? : (S,%) -> % if S has MONOID
+--R ?*? : (%,S) -> % if S has MONOID
--R ?*? : (NonNegativeInteger,%) -> %
--R ?**? : (%,PositiveInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING
--R ?**? : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING
@@ -45003,7 +45003,7 @@ Float():
--R FortranCode is a domain constructor
--R Abbreviation for FortranCode is FC
--R This constructor is exposed in this frame.
---R Issue )edit NIL to see algebra source code for FC
+--R Issue )edit bookvol10.3.pamphlet to see algebra source code for FC
--R
--R------------------------------- Operations --------------------------------
--R ?=? : (%,%) -> Boolean assign : (Symbol,String) -> %
@@ -46277,7 +46277,7 @@ FortranExpression(basicSymbols,subscriptedSymbols,R):
--R FortranProgram(name: Symbol,returnType: Union(fst: FortranScalarType,void: void),arguments: List(Symbol),symbols: SymbolTable) is a domain constructor
--R Abbreviation for FortranProgram is FORTRAN
--R This constructor is exposed in this frame.
---R Issue )edit NIL to see algebra source code for FORTRAN
+--R Issue )edit bookvol10.3.pamphlet to see algebra source code for FORTRAN
--R
--R------------------------------- Operations --------------------------------
--R coerce : Expression(Float) -> % coerce : Expression(Integer) -> %
@@ -46961,7 +46961,7 @@ FortranTemplate() : specification == implementation where
--R FortranType is a domain constructor
--R Abbreviation for FortranType is FT
--R This constructor is exposed in this frame.
---R Issue )edit NIL to see algebra source code for FT
+--R Issue )edit bookvol10.3.pamphlet to see algebra source code for FT
--R
--R------------------------------- Operations --------------------------------
--R ?=? : (%,%) -> Boolean coerce : FortranScalarType -> %
@@ -49842,7 +49842,7 @@ FreeNilpotentLie(n:NNI,class:NNI,R: CommutativeRing): Export == Implement where
Fx := FRAC UP(x, FRAC INT)
--R
--R
---R (1) Fraction(UnivariatePolynomial(x,Fraction Integer))
+--R (1) Fraction(UnivariatePolynomial(x,Fraction(Integer)))
--R Type: Domain
--E 1
@@ -54392,7 +54392,7 @@ h1 := heapsort heap [17,-4,9,-11,2,7,-7]
--R
--R
--R (12) [17,9,7,2,- 4,- 7,- 11]
---R Type: List Integer
+--R Type: List(Integer)
--E 11
--S 12 of 42
@@ -56674,8 +56674,8 @@ HTMLFormat(): public == private where
--R #? : % -> NonNegativeInteger if $ has finiteAggregate
--R ?*? : (PositiveInteger,%) -> % if S has ABELSG
--R ?*? : (NonNegativeInteger,%) -> % if S has CABMON
---R ?*? : (S,%) -> % if S has RING
---R ?*? : (%,S) -> % if S has RING
+--R ?*? : (S,%) -> % if S has MONOID
+--R ?*? : (%,S) -> % if S has MONOID
--R ?*? : (%,%) -> % if S has MONOID
--R ?*? : (Integer,%) -> % if S has RING
--R ?**? : (%,PositiveInteger) -> % if S has MONOID
@@ -57526,7 +57526,7 @@ HyperellipticFiniteDivisor(F, UP, UPUP, R): Exports == Implementation where
--S 1 of 1
)show InfClsPt
---R InfClsPt(K: Field,symb: List Symbol,BLMET: BlowUpMethodCategory) is a domain constructor
+--R InfClsPt(K: Field,symb: List(Symbol),BLMET: BlowUpMethodCategory) is a domain constructor
--R Abbreviation for InfClsPt is ICP
--R This constructor is exposed in this frame.
--R Issue )edit bookvol10.3.pamphlet to see algebra source code for ICP
@@ -57534,23 +57534,23 @@ HyperellipticFiniteDivisor(F, UP, UPUP, R): Exports == Implementation where
--R------------------------------- Operations --------------------------------
--R ?=? : (%,%) -> Boolean actualExtensionV : % -> K
--R chartV : % -> BLMET coerce : % -> OutputForm
---R degree : % -> PositiveInteger excpDivV : % -> Divisor Places K
---R fullOut : % -> OutputForm fullOutput : () -> Boolean
---R fullOutput : Boolean -> Boolean hash : % -> SingleInteger
---R latex : % -> String localPointV : % -> AffinePlane K
---R multV : % -> NonNegativeInteger pointV : % -> ProjectivePlane K
---R setchart! : (%,BLMET) -> BLMET symbNameV : % -> Symbol
---R ?~=? : (%,%) -> Boolean
---R create : (ProjectivePlane K,DistributedMultivariatePolynomial(symb,K)) -> %
---R create : (ProjectivePlane K,DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),AffinePlane K,NonNegativeInteger,BLMET,NonNegativeInteger,Divisor Places K,K,Symbol) -> %
+--R degree : % -> PositiveInteger fullOut : % -> OutputForm
+--R fullOutput : () -> Boolean fullOutput : Boolean -> Boolean
+--R hash : % -> SingleInteger latex : % -> String
+--R localPointV : % -> AffinePlane(K) multV : % -> NonNegativeInteger
+--R pointV : % -> ProjectivePlane(K) setchart! : (%,BLMET) -> BLMET
+--R symbNameV : % -> Symbol ?~=? : (%,%) -> Boolean
+--R create : (ProjectivePlane(K),DistributedMultivariatePolynomial(symb,K)) -> %
+--R create : (ProjectivePlane(K),DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),AffinePlane(K),NonNegativeInteger,BLMET,NonNegativeInteger,Divisor(Places(K)),K,Symbol) -> %
--R curveV : % -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K)
---R localParamV : % -> List NeitherSparseOrDensePowerSeries K
+--R excpDivV : % -> Divisor(Places(K))
+--R localParamV : % -> List(NeitherSparseOrDensePowerSeries(K))
--R setcurve! : (%,DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K)) -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K)
---R setexcpDiv! : (%,Divisor Places K) -> Divisor Places K
---R setlocalParam! : (%,List NeitherSparseOrDensePowerSeries K) -> List NeitherSparseOrDensePowerSeries K
---R setlocalPoint! : (%,AffinePlane K) -> AffinePlane K
+--R setexcpDiv! : (%,Divisor(Places(K))) -> Divisor(Places(K))
+--R setlocalParam! : (%,List(NeitherSparseOrDensePowerSeries(K))) -> List(NeitherSparseOrDensePowerSeries(K))
+--R setlocalPoint! : (%,AffinePlane(K)) -> AffinePlane(K)
--R setmult! : (%,NonNegativeInteger) -> NonNegativeInteger
---R setpoint! : (%,ProjectivePlane K) -> ProjectivePlane K
+--R setpoint! : (%,ProjectivePlane(K)) -> ProjectivePlane(K)
--R setsubmult! : (%,NonNegativeInteger) -> NonNegativeInteger
--R setsymbName! : (%,Symbol) -> Symbol
--R subMultV : % -> NonNegativeInteger
@@ -59841,7 +59841,6 @@ IndexedList(S:Type, mn:Integer): Exports == Implementation where
--S 1 of 1
)show IndexedMatrix
---R
--R IndexedMatrix(R: Ring,mnRow: Integer,mnCol: Integer) is a domain constructor
--R Abbreviation for IndexedMatrix is IMATRIX
--R This constructor is not exposed in this frame.
@@ -59894,6 +59893,7 @@ IndexedList(S:Type, mn:Integer): Exports == Implementation where
--R inverse : % -> Union(%,"failed") if R has FIELD
--R latex : % -> String if R has SETCAT
--R less? : (%,NonNegativeInteger) -> Boolean
+--R matrix : (NonNegativeInteger,NonNegativeInteger,((Integer,Integer) -> R)) -> %
--R member? : (R,%) -> Boolean if $ has finiteAggregate and R has SETCAT
--R members : % -> List(R) if $ has finiteAggregate
--R minordet : % -> R if R has commutative(*)
@@ -61293,7 +61293,8 @@ InfiniteTuple(S:Type): Exports == Implementation where
--S 1 of 1
)show InfinitlyClosePoint
---R InfinitlyClosePoint(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,BLMET: BlowUpMethodCategory) is a domain constructor
+--R
+--R InfinitlyClosePoint(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),BLMET: BlowUpMethodCategory) is a domain constructor
--R Abbreviation for InfinitlyClosePoint is INFCLSPT
--R This constructor is exposed in this frame.
--R Issue )edit bookvol10.3.pamphlet to see algebra source code for INFCLSPT
@@ -61305,23 +61306,22 @@ InfiniteTuple(S:Type): Exports == Implementation where
--R excpDivV : % -> DIVISOR fullOut : % -> OutputForm
--R fullOutput : () -> Boolean fullOutput : Boolean -> Boolean
--R hash : % -> SingleInteger latex : % -> String
---R localParamV : % -> List PCS localPointV : % -> AffinePlane K
+--R localParamV : % -> List(PCS) localPointV : % -> AffinePlane(K)
--R multV : % -> NonNegativeInteger pointV : % -> ProjPt
--R setchart! : (%,BLMET) -> BLMET setpoint! : (%,ProjPt) -> ProjPt
--R symbNameV : % -> Symbol ?~=? : (%,%) -> Boolean
---R create : (ProjPt,DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),AffinePlane K,NonNegativeInteger,BLMET,NonNegativeInteger,DIVISOR,K,Symbol) -> %
+--R create : (ProjPt,DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),AffinePlane(K),NonNegativeInteger,BLMET,NonNegativeInteger,DIVISOR,K,Symbol) -> %
--R curveV : % -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K)
--R setcurve! : (%,DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K)) -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K)
--R setexcpDiv! : (%,DIVISOR) -> DIVISOR
---R setlocalParam! : (%,List PCS) -> List PCS
---R setlocalPoint! : (%,AffinePlane K) -> AffinePlane K
+--R setlocalParam! : (%,List(PCS)) -> List(PCS)
+--R setlocalPoint! : (%,AffinePlane(K)) -> AffinePlane(K)
--R setmult! : (%,NonNegativeInteger) -> NonNegativeInteger
--R setsubmult! : (%,NonNegativeInteger) -> NonNegativeInteger
--R setsymbName! : (%,Symbol) -> Symbol
--R subMultV : % -> NonNegativeInteger
--R
--E 1
-
)spool
)lisp (bye)
@@ -61564,7 +61564,8 @@ InfinitlyClosePoint(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET):Exports == I
--S 1 of 1
)show InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField
---R InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField(K: FiniteFieldCategory,symb: List Symbol,BLMET: BlowUpMethodCategory) is a domain constructor
+--R
+--R InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField(K: FiniteFieldCategory,symb: List(Symbol),BLMET: BlowUpMethodCategory) is a domain constructor
--R Abbreviation for InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField is INFCLSPS
--R This constructor is exposed in this frame.
--R Issue )edit bookvol10.3.pamphlet to see algebra source code for INFCLSPS
@@ -61577,20 +61578,20 @@ InfinitlyClosePoint(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET):Exports == I
--R latex : % -> String multV : % -> NonNegativeInteger
--R setchart! : (%,BLMET) -> BLMET symbNameV : % -> Symbol
--R ?~=? : (%,%) -> Boolean
---R actualExtensionV : % -> PseudoAlgebraicClosureOfFiniteField K
---R create : (ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K,DistributedMultivariatePolynomial(symb,PseudoAlgebraicClosureOfFiniteField K)) -> %
---R create : (ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K,DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField K),AffinePlane PseudoAlgebraicClosureOfFiniteField K,NonNegativeInteger,BLMET,NonNegativeInteger,Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K,PseudoAlgebraicClosureOfFiniteField K,Symbol) -> %
---R curveV : % -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField K)
---R excpDivV : % -> Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K
---R localParamV : % -> List NeitherSparseOrDensePowerSeries PseudoAlgebraicClosureOfFiniteField K
---R localPointV : % -> AffinePlane PseudoAlgebraicClosureOfFiniteField K
---R pointV : % -> ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K
---R setcurve! : (%,DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField K)) -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField K)
---R setexcpDiv! : (%,Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K) -> Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K
---R setlocalParam! : (%,List NeitherSparseOrDensePowerSeries PseudoAlgebraicClosureOfFiniteField K) -> List NeitherSparseOrDensePowerSeries PseudoAlgebraicClosureOfFiniteField K
---R setlocalPoint! : (%,AffinePlane PseudoAlgebraicClosureOfFiniteField K) -> AffinePlane PseudoAlgebraicClosureOfFiniteField K
+--R actualExtensionV : % -> PseudoAlgebraicClosureOfFiniteField(K)
+--R create : (ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K),DistributedMultivariatePolynomial(symb,PseudoAlgebraicClosureOfFiniteField(K))) -> %
+--R create : (ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K),DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField(K)),AffinePlane(PseudoAlgebraicClosureOfFiniteField(K)),NonNegativeInteger,BLMET,NonNegativeInteger,Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K)),PseudoAlgebraicClosureOfFiniteField(K),Symbol) -> %
+--R curveV : % -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField(K))
+--R excpDivV : % -> Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K))
+--R localParamV : % -> List(NeitherSparseOrDensePowerSeries(PseudoAlgebraicClosureOfFiniteField(K)))
+--R localPointV : % -> AffinePlane(PseudoAlgebraicClosureOfFiniteField(K))
+--R pointV : % -> ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K)
+--R setcurve! : (%,DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField(K))) -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField(K))
+--R setexcpDiv! : (%,Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K))) -> Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K))
+--R setlocalParam! : (%,List(NeitherSparseOrDensePowerSeries(PseudoAlgebraicClosureOfFiniteField(K)))) -> List(NeitherSparseOrDensePowerSeries(PseudoAlgebraicClosureOfFiniteField(K)))
+--R setlocalPoint! : (%,AffinePlane(PseudoAlgebraicClosureOfFiniteField(K))) -> AffinePlane(PseudoAlgebraicClosureOfFiniteField(K))
--R setmult! : (%,NonNegativeInteger) -> NonNegativeInteger
---R setpoint! : (%,ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K) -> ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K
+--R setpoint! : (%,ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K)) -> ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K)
--R setsubmult! : (%,NonNegativeInteger) -> NonNegativeInteger
--R setsymbName! : (%,Symbol) -> Symbol
--R subMultV : % -> NonNegativeInteger
@@ -67098,7 +67099,7 @@ t1:=0::Interval(Float)
--R
--R
--R (1) [0.0,0.0]
---R Type: Interval Float
+--R Type: Interval(Float)
--E 1
--S 2 of 13
@@ -67106,7 +67107,7 @@ t2:=1::Interval(Float)
--R
--R
--R (2) [1.0,1.0]
---R Type: Interval Float
+--R Type: Interval(Float)
--E 2
--S 3 of 13
@@ -67114,7 +67115,7 @@ t3:=3*t1
--R
--R
--R (3) [- 0.3 E -20,0.3 E -20]
---R Type: Interval Float
+--R Type: Interval(Float)
--E 3
--S 4 of 13
@@ -67124,7 +67125,7 @@ t4:=1/4*t2
--R [1.0,1.0]
--R (4) ---------
--R [4.0,4.0]
---R Type: Fraction Interval Float
+--R Type: Fraction(Interval(Float))
--E 4
--S 5 of 13
@@ -67132,7 +67133,7 @@ acos(t3)
--R
--R
--R (5) [1.5707963267 948966192,1.5707963267 948966192]
---R Type: Interval Float
+--R Type: Interval(Float)
--E 5
--S 6 of 13
@@ -67142,7 +67143,7 @@ t6:=t4*t4
--R [1.0,1.0]
--R (6) -----------
--R [16.0,16.0]
---R Type: Fraction Interval Float
+--R Type: Fraction(Interval(Float))
--E 6
--S 7 of 13
@@ -67196,57 +67197,57 @@ contains?(t3,0.3)
--S 13 of 13
)show Interval
--R
---R Interval R: Join(FloatingPointSystem,TranscendentalFunctionCategory) is a domain constructor
+--R Interval(R: Join(FloatingPointSystem,TranscendentalFunctionCategory)) is a domain constructor
--R Abbreviation for Interval is INTRVL
--R This constructor is exposed in this frame.
--R Issue )edit bookvol10.3.pamphlet to see algebra source code for INTRVL
--R
--R------------------------------- Operations --------------------------------
--R ?*? : (%,%) -> % ?*? : (Integer,%) -> %
---R ?*? : (PositiveInteger,%) -> % ?**? : (%,Fraction Integer) -> %
---R ?**? : (%,%) -> % ?**? : (%,PositiveInteger) -> %
---R ?+? : (%,%) -> % ?-? : (%,%) -> %
---R -? : % -> % ? : (%,%) -> Boolean
---R ?<=? : (%,%) -> Boolean ?=? : (%,%) -> Boolean
---R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean
---R 1 : () -> % 0 : () -> %
---R ?^? : (%,PositiveInteger) -> % acos : % -> %
---R acosh : % -> % acot : % -> %
---R acoth : % -> % acsc : % -> %
---R acsch : % -> % asec : % -> %
---R asech : % -> % asin : % -> %
---R asinh : % -> % associates? : (%,%) -> Boolean
---R atan : % -> % atanh : % -> %
---R coerce : Integer -> % coerce : % -> %
---R coerce : Integer -> % coerce : % -> OutputForm
---R contains? : (%,R) -> Boolean cos : % -> %
---R cosh : % -> % cot : % -> %
---R coth : % -> % csc : % -> %
---R csch : % -> % exp : % -> %
---R gcd : List % -> % gcd : (%,%) -> %
---R hash : % -> SingleInteger inf : % -> R
---R interval : Fraction Integer -> % interval : R -> %
---R interval : (R,R) -> % latex : % -> String
---R lcm : List % -> % lcm : (%,%) -> %
---R log : % -> % max : (%,%) -> %
---R min : (%,%) -> % negative? : % -> Boolean
---R nthRoot : (%,Integer) -> % one? : % -> Boolean
---R pi : () -> % positive? : % -> Boolean
---R qinterval : (R,R) -> % recip : % -> Union(%,"failed")
---R retract : % -> Integer sample : () -> %
---R sec : % -> % sech : % -> %
---R sin : % -> % sinh : % -> %
---R sqrt : % -> % sup : % -> R
---R tan : % -> % tanh : % -> %
---R unit? : % -> Boolean unitCanonical : % -> %
---R width : % -> R zero? : % -> Boolean
---R ?~=? : (%,%) -> Boolean
+--R ?*? : (PositiveInteger,%) -> % ?**? : (%,%) -> %
+--R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> %
+--R ?-? : (%,%) -> % -? : % -> %
+--R ? : (%,%) -> Boolean ?<=? : (%,%) -> Boolean
+--R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean
+--R ?>=? : (%,%) -> Boolean 1 : () -> %
+--R 0 : () -> % ?^? : (%,PositiveInteger) -> %
+--R acos : % -> % acosh : % -> %
+--R acot : % -> % acoth : % -> %
+--R acsc : % -> % acsch : % -> %
+--R asec : % -> % asech : % -> %
+--R asin : % -> % asinh : % -> %
+--R associates? : (%,%) -> Boolean atan : % -> %
+--R atanh : % -> % coerce : Integer -> %
+--R coerce : % -> % coerce : Integer -> %
+--R coerce : % -> OutputForm contains? : (%,R) -> Boolean
+--R cos : % -> % cosh : % -> %
+--R cot : % -> % coth : % -> %
+--R csc : % -> % csch : % -> %
+--R exp : % -> % gcd : List(%) -> %
+--R gcd : (%,%) -> % hash : % -> SingleInteger
+--R inf : % -> R interval : Fraction(Integer) -> %
+--R interval : R -> % interval : (R,R) -> %
+--R latex : % -> String lcm : List(%) -> %
+--R lcm : (%,%) -> % log : % -> %
+--R max : (%,%) -> % min : (%,%) -> %
+--R negative? : % -> Boolean nthRoot : (%,Integer) -> %
+--R one? : % -> Boolean pi : () -> %
+--R positive? : % -> Boolean qinterval : (R,R) -> %
+--R recip : % -> Union(%,"failed") retract : % -> Integer
+--R sample : () -> % sec : % -> %
+--R sech : % -> % sin : % -> %
+--R sinh : % -> % sqrt : % -> %
+--R sup : % -> R tan : % -> %
+--R tanh : % -> % unit? : % -> Boolean
+--R unitCanonical : % -> % width : % -> R
+--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
--R ?*? : (NonNegativeInteger,%) -> %
+--R ?**? : (%,Fraction(Integer)) -> %
--R ?**? : (%,NonNegativeInteger) -> %
--R ?^? : (%,NonNegativeInteger) -> %
--R characteristic : () -> NonNegativeInteger
--R exquo : (%,%) -> Union(%,"failed")
---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial %
+--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
--R retractIfCan : % -> Union(Integer,"failed")
--R subtractIfCan : (%,%) -> Union(%,"failed")
--R unitNormal : % -> Record(unit: %,canonical: %,associate: %)
@@ -70924,7 +70925,7 @@ leq
--R 0 0 0 0 0 0 0 0 0
--R [[s = ---,s = ------------------,s = --------------------------------------]]
--R 1 3 2 18 3 162
---R Type: List List Equation Fraction Polynomial Integer
+--R Type: List(List(Equation(Fraction(Polynomial(Integer)))))
--E 12
--S 13 of 16
@@ -71102,7 +71103,7 @@ leq
--R 11022480
--R ]
--R ]
---R Type: List List Equation Fraction Polynomial Integer
+--R Type: List(List(Equation(Fraction(Polynomial(Integer)))))
--E 16
)spool
@@ -82131,6 +82132,7 @@ MultivariatePolynomial(vl:List Symbol, R:Ring)
--S 1 of 1
)show MyExpression
+--R
--R MyExpression(q: Symbol,R: Join(Ring,OrderedSet,IntegralDomain)) is a domain constructor
--R Abbreviation for MyExpression is MYEXPR
--R This constructor is exposed in this frame.
@@ -82144,160 +82146,161 @@ MultivariatePolynomial(vl:List Symbol, R:Ring)
--R ?/? : (%,%) -> % ? : (%,%) -> Boolean
--R ?<=? : (%,%) -> Boolean ?=? : (%,%) -> Boolean
--R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean
---R D : (%,Symbol) -> % D : (%,List Symbol) -> %
+--R D : (%,Symbol) -> % D : (%,List(Symbol)) -> %
--R 1 : () -> % 0 : () -> %
--R ?^? : (%,PositiveInteger) -> % applyQuote : (Symbol,%,%) -> %
--R applyQuote : (Symbol,%) -> % associates? : (%,%) -> Boolean
--R belong? : BasicOperator -> Boolean binomial : (%,%) -> %
---R box : List % -> % box : % -> %
+--R box : List(%) -> % box : % -> %
--R coerce : Integer -> % coerce : % -> %
--R coerce : R -> % coerce : Symbol -> %
---R coerce : Kernel % -> % coerce : % -> OutputForm
+--R coerce : Kernel(%) -> % coerce : % -> OutputForm
--R denominator : % -> % differentiate : (%,Symbol) -> %
--R distribute : (%,%) -> % distribute : % -> %
--R elt : (BasicOperator,%,%) -> % elt : (BasicOperator,%) -> %
---R eval : (%,List %,List %) -> % eval : (%,%,%) -> %
---R eval : (%,Equation %) -> % eval : (%,List Equation %) -> %
---R eval : (%,Kernel %,%) -> % factorial : % -> %
+--R eval : (%,%,%) -> % eval : (%,Equation(%)) -> %
+--R eval : (%,Kernel(%),%) -> % factorial : % -> %
--R factorials : % -> % factorials : (%,Symbol) -> %
--R freeOf? : (%,Symbol) -> Boolean freeOf? : (%,%) -> Boolean
--R ground : % -> R ground? : % -> Boolean
--R hash : % -> SingleInteger height : % -> NonNegativeInteger
--R is? : (%,Symbol) -> Boolean kernel : (BasicOperator,%) -> %
---R kernels : % -> List Kernel % latex : % -> String
---R map : ((% -> %),Kernel %) -> % max : (%,%) -> %
---R min : (%,%) -> % numerator : % -> %
---R one? : % -> Boolean paren : List % -> %
---R paren : % -> % permutation : (%,%) -> %
---R product : (%,Symbol) -> % recip : % -> Union(%,"failed")
---R retract : % -> Integer retract : % -> R
---R retract : % -> Symbol retract : % -> Kernel %
---R sample : () -> % subst : (%,Equation %) -> %
---R summation : (%,Symbol) -> % tower : % -> List Kernel %
---R unit? : % -> Boolean unitCanonical : % -> %
---R variables : % -> List Symbol zero? : % -> Boolean
---R ?~=? : (%,%) -> Boolean
+--R kernels : % -> List(Kernel(%)) latex : % -> String
+--R max : (%,%) -> % min : (%,%) -> %
+--R numerator : % -> % one? : % -> Boolean
+--R paren : List(%) -> % paren : % -> %
+--R permutation : (%,%) -> % product : (%,Symbol) -> %
+--R recip : % -> Union(%,"failed") retract : % -> Integer
+--R retract : % -> R retract : % -> Symbol
+--R retract : % -> Kernel(%) sample : () -> %
+--R subst : (%,Equation(%)) -> % summation : (%,Symbol) -> %
+--R tower : % -> List(Kernel(%)) unit? : % -> Boolean
+--R unitCanonical : % -> % variables : % -> List(Symbol)
+--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
--R ?*? : (NonNegativeInteger,%) -> %
--R ?*? : (%,R) -> % if R has COMRING
--R ?*? : (R,%) -> % if R has COMRING
---R ?*? : (%,Fraction Integer) -> % if R has INTDOM
---R ?*? : (Fraction Integer,%) -> % if R has INTDOM
+--R ?*? : (%,Fraction(Integer)) -> % if R has INTDOM
+--R ?*? : (Fraction(Integer),%) -> % if R has INTDOM
--R ?**? : (%,Integer) -> % if R has GROUP or R has INTDOM
--R ?**? : (%,NonNegativeInteger) -> %
---R ?/? : (SparseMultivariatePolynomial(R,Kernel %),SparseMultivariatePolynomial(R,Kernel %)) -> % if R has INTDOM
+--R ?/? : (SparseMultivariatePolynomial(R,Kernel(%)),SparseMultivariatePolynomial(R,Kernel(%))) -> % if R has INTDOM
--R D : (%,Symbol,NonNegativeInteger) -> %
---R D : (%,List Symbol,List NonNegativeInteger) -> %
+--R D : (%,List(Symbol),List(NonNegativeInteger)) -> %
--R ?^? : (%,Integer) -> % if R has GROUP or R has INTDOM
--R ?^? : (%,NonNegativeInteger) -> %
---R applyQuote : (Symbol,List %) -> %
+--R applyQuote : (Symbol,List(%)) -> %
--R applyQuote : (Symbol,%,%,%,%) -> %
--R applyQuote : (Symbol,%,%,%) -> %
--R characteristic : () -> NonNegativeInteger
--R charthRoot : % -> Union(%,"failed") if R has CHARNZ
---R coerce : Fraction Integer -> % if R has INTDOM or R has RETRACT FRAC INT
---R coerce : Fraction MyUnivariatePolynomial(q,R) -> %
+--R coerce : Fraction(Integer) -> % if R has INTDOM or R has RETRACT(FRAC(INT))
+--R coerce : Fraction(MyUnivariatePolynomial(q,R)) -> %
--R coerce : MyUnivariatePolynomial(q,R) -> %
---R coerce : Polynomial R -> % if R has RING
---R coerce : Fraction Polynomial R -> % if R has INTDOM
---R coerce : Fraction Polynomial Fraction R -> % if R has INTDOM
---R coerce : Polynomial Fraction R -> % if R has INTDOM
---R coerce : Fraction R -> % if R has INTDOM
---R coerce : SparseMultivariatePolynomial(R,Kernel %) -> % if R has RING
+--R coerce : Polynomial(R) -> % if R has RING
+--R coerce : Fraction(Polynomial(R)) -> % if R has INTDOM
+--R coerce : Fraction(Polynomial(Fraction(R))) -> % if R has INTDOM
+--R coerce : Polynomial(Fraction(R)) -> % if R has INTDOM
+--R coerce : Fraction(R) -> % if R has INTDOM
+--R coerce : SparseMultivariatePolynomial(R,Kernel(%)) -> % if R has RING
--R commutator : (%,%) -> % if R has GROUP
--R conjugate : (%,%) -> % if R has GROUP
---R convert : % -> InputForm if R has KONVERT INFORM
---R convert : Factored % -> % if R has INTDOM
---R convert : % -> Pattern Float if R has KONVERT PATTERN FLOAT
---R convert : % -> Pattern Integer if R has KONVERT PATTERN INT
+--R convert : % -> InputForm if R has KONVERT(INFORM)
+--R convert : Factored(%) -> % if R has INTDOM
+--R convert : % -> Pattern(Float) if R has KONVERT(PATTERN(FLOAT))
+--R convert : % -> Pattern(Integer) if R has KONVERT(PATTERN(INT))
--R definingPolynomial : % -> % if $ has RING
---R denom : % -> SparseMultivariatePolynomial(R,Kernel %) if R has INTDOM
---R differentiate : (%,List Symbol) -> %
+--R denom : % -> SparseMultivariatePolynomial(R,Kernel(%)) if R has INTDOM
+--R differentiate : (%,List(Symbol)) -> %
--R differentiate : (%,Symbol,NonNegativeInteger) -> %
---R differentiate : (%,List Symbol,List NonNegativeInteger) -> %
+--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> %
--R divide : (%,%) -> Record(quotient: %,remainder: %) if R has INTDOM
---R elt : (BasicOperator,List %) -> %
+--R elt : (BasicOperator,List(%)) -> %
--R elt : (BasicOperator,%,%,%,%) -> %
--R elt : (BasicOperator,%,%,%) -> %
--R euclideanSize : % -> NonNegativeInteger if R has INTDOM
--R eval : (%,Symbol,NonNegativeInteger,(% -> %)) -> % if R has RING
---R eval : (%,Symbol,NonNegativeInteger,(List % -> %)) -> % if R has RING
---R eval : (%,List Symbol,List NonNegativeInteger,List (List % -> %)) -> % if R has RING
---R eval : (%,List Symbol,List NonNegativeInteger,List (% -> %)) -> % if R has RING
---R eval : (%,List BasicOperator,List %,Symbol) -> % if R has KONVERT INFORM
---R eval : (%,BasicOperator,%,Symbol) -> % if R has KONVERT INFORM
---R eval : % -> % if R has KONVERT INFORM
---R eval : (%,List Symbol) -> % if R has KONVERT INFORM
---R eval : (%,Symbol) -> % if R has KONVERT INFORM
+--R eval : (%,Symbol,NonNegativeInteger,(List(%) -> %)) -> % if R has RING
+--R eval : (%,List(Symbol),List(NonNegativeInteger),List((List(%) -> %))) -> % if R has RING
+--R eval : (%,List(Symbol),List(NonNegativeInteger),List((% -> %))) -> % if R has RING
+--R eval : (%,List(BasicOperator),List(%),Symbol) -> % if R has KONVERT(INFORM)
+--R eval : (%,BasicOperator,%,Symbol) -> % if R has KONVERT(INFORM)
+--R eval : % -> % if R has KONVERT(INFORM)
+--R eval : (%,List(Symbol)) -> % if R has KONVERT(INFORM)
+--R eval : (%,Symbol) -> % if R has KONVERT(INFORM)
--R eval : (%,BasicOperator,(% -> %)) -> %
---R eval : (%,BasicOperator,(List % -> %)) -> %
---R eval : (%,List BasicOperator,List (List % -> %)) -> %
---R eval : (%,List BasicOperator,List (% -> %)) -> %
+--R eval : (%,BasicOperator,(List(%) -> %)) -> %
+--R eval : (%,List(BasicOperator),List((List(%) -> %))) -> %
+--R eval : (%,List(BasicOperator),List((% -> %))) -> %
--R eval : (%,Symbol,(% -> %)) -> %
---R eval : (%,Symbol,(List % -> %)) -> %
---R eval : (%,List Symbol,List (List % -> %)) -> %
---R eval : (%,List Symbol,List (% -> %)) -> %
---R eval : (%,List Kernel %,List %) -> %
---R even? : % -> Boolean if $ has RETRACT INT
---R expressIdealMember : (List %,%) -> Union(List %,"failed") if R has INTDOM
+--R eval : (%,Symbol,(List(%) -> %)) -> %
+--R eval : (%,List(Symbol),List((List(%) -> %))) -> %
+--R eval : (%,List(Symbol),List((% -> %))) -> %
+--R eval : (%,List(%),List(%)) -> %
+--R eval : (%,List(Equation(%))) -> %
+--R eval : (%,List(Kernel(%)),List(%)) -> %
+--R even? : % -> Boolean if $ has RETRACT(INT)
+--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if R has INTDOM
--R exquo : (%,%) -> Union(%,"failed")
--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if R has INTDOM
--R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if R has INTDOM
---R factor : % -> Factored % if R has INTDOM
+--R factor : % -> Factored(%) if R has INTDOM
--R gcd : (%,%) -> % if R has INTDOM
---R gcd : List % -> % if R has INTDOM
---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has INTDOM
+--R gcd : List(%) -> % if R has INTDOM
+--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has INTDOM
--R inv : % -> % if R has GROUP or R has INTDOM
--R is? : (%,BasicOperator) -> Boolean
---R isExpt : (%,Symbol) -> Union(Record(var: Kernel %,exponent: Integer),"failed") if R has RING
---R isExpt : (%,BasicOperator) -> Union(Record(var: Kernel %,exponent: Integer),"failed") if R has RING
---R isExpt : % -> Union(Record(var: Kernel %,exponent: Integer),"failed") if R has SGROUP
---R isMult : % -> Union(Record(coef: Integer,var: Kernel %),"failed") if R has ABELSG
---R isPlus : % -> Union(List %,"failed") if R has ABELSG
+--R isExpt : (%,Symbol) -> Union(Record(var: Kernel(%),exponent: Integer),"failed") if R has RING
+--R isExpt : (%,BasicOperator) -> Union(Record(var: Kernel(%),exponent: Integer),"failed") if R has RING
+--R isExpt : % -> Union(Record(var: Kernel(%),exponent: Integer),"failed") if R has SGROUP
+--R isMult : % -> Union(Record(coef: Integer,var: Kernel(%)),"failed") if R has ABELSG
+--R isPlus : % -> Union(List(%),"failed") if R has ABELSG
--R isPower : % -> Union(Record(val: %,exponent: Integer),"failed") if R has RING
---R isTimes : % -> Union(List %,"failed") if R has SGROUP
---R kernel : (BasicOperator,List %) -> %
+--R isTimes : % -> Union(List(%),"failed") if R has SGROUP
+--R kernel : (BasicOperator,List(%)) -> %
--R lcm : (%,%) -> % if R has INTDOM
---R lcm : List % -> % if R has INTDOM
---R mainKernel : % -> Union(Kernel %,"failed")
---R minPoly : Kernel % -> SparseUnivariatePolynomial % if $ has RING
---R multiEuclidean : (List %,%) -> Union(List %,"failed") if R has INTDOM
---R numer : % -> SparseMultivariatePolynomial(R,Kernel %) if R has RING
---R odd? : % -> Boolean if $ has RETRACT INT
+--R lcm : List(%) -> % if R has INTDOM
+--R mainKernel : % -> Union(Kernel(%),"failed")
+--R map : ((% -> %),Kernel(%)) -> %
+--R minPoly : Kernel(%) -> SparseUnivariatePolynomial(%) if $ has RING
+--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if R has INTDOM
+--R numer : % -> SparseMultivariatePolynomial(R,Kernel(%)) if R has RING
+--R odd? : % -> Boolean if $ has RETRACT(INT)
--R operator : BasicOperator -> BasicOperator
---R operators : % -> List BasicOperator
---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB FLOAT
---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if R has PATMAB INT
+--R operators : % -> List(BasicOperator)
+--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB(FLOAT)
+--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if R has PATMAB(INT)
--R prime? : % -> Boolean if R has INTDOM
---R principalIdeal : List % -> Record(coef: List %,generator: %) if R has INTDOM
---R product : (%,SegmentBinding %) -> %
+--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if R has INTDOM
+--R product : (%,SegmentBinding(%)) -> %
--R ?quo? : (%,%) -> % if R has INTDOM
---R reducedSystem : Matrix % -> Matrix Integer if R has LINEXP INT and R has RING
---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if R has LINEXP INT and R has RING
---R reducedSystem : Matrix % -> Matrix R if R has RING
---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix R,vec: Vector R) if R has RING
+--R reducedSystem : Matrix(%) -> Matrix(Integer) if R has LINEXP(INT) and R has RING
+--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if R has LINEXP(INT) and R has RING
+--R reducedSystem : Matrix(%) -> Matrix(R) if R has RING
+--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(R),vec: Vector(R)) if R has RING
--R ?rem? : (%,%) -> % if R has INTDOM
---R retract : % -> Fraction Integer if R has INTDOM and R has RETRACT INT or R has RETRACT FRAC INT
---R retract : % -> Fraction MyUnivariatePolynomial(q,R)
+--R retract : % -> Fraction(Integer) if R has INTDOM and R has RETRACT(INT) or R has RETRACT(FRAC(INT))
+--R retract : % -> Fraction(MyUnivariatePolynomial(q,R))
--R retract : % -> MyUnivariatePolynomial(q,R)
---R retract : % -> Polynomial R if R has RING
---R retract : % -> Fraction Polynomial R if R has INTDOM
---R retractIfCan : % -> Union(Fraction Integer,"failed") if R has INTDOM and R has RETRACT INT or R has RETRACT FRAC INT
+--R retract : % -> Polynomial(R) if R has RING
+--R retract : % -> Fraction(Polynomial(R)) if R has INTDOM
+--R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has INTDOM and R has RETRACT(INT) or R has RETRACT(FRAC(INT))
--R retractIfCan : % -> Union(Integer,"failed")
--R retractIfCan : % -> Union(MyUnivariatePolynomial(q,R),"failed")
---R retractIfCan : % -> Union(Polynomial R,"failed") if R has RING
---R retractIfCan : % -> Union(Fraction Polynomial R,"failed") if R has INTDOM
+--R retractIfCan : % -> Union(Polynomial(R),"failed") if R has RING
+--R retractIfCan : % -> Union(Fraction(Polynomial(R)),"failed") if R has INTDOM
--R retractIfCan : % -> Union(R,"failed")
--R retractIfCan : % -> Union(Symbol,"failed")
---R retractIfCan : % -> Union(Kernel %,"failed")
+--R retractIfCan : % -> Union(Kernel(%),"failed")
--R sizeLess? : (%,%) -> Boolean if R has INTDOM
---R squareFree : % -> Factored % if R has INTDOM
+--R squareFree : % -> Factored(%) if R has INTDOM
--R squareFreePart : % -> % if R has INTDOM
---R subst : (%,List Kernel %,List %) -> %
---R subst : (%,List Equation %) -> %
+--R subst : (%,List(Kernel(%)),List(%)) -> %
+--R subst : (%,List(Equation(%))) -> %
--R subtractIfCan : (%,%) -> Union(%,"failed")
---R summation : (%,SegmentBinding %) -> %
+--R summation : (%,SegmentBinding(%)) -> %
--R unitNormal : % -> Record(unit: %,canonical: %,associate: %)
---R univariate : (%,Kernel %) -> Fraction SparseUnivariatePolynomial % if R has INTDOM
+--R univariate : (%,Kernel(%)) -> Fraction(SparseUnivariatePolynomial(%)) if R has INTDOM
--R
--E 1
@@ -82499,6 +82502,7 @@ MyExpression(q: Symbol, R): Exports == Implementation where
--S 1 of 1
)show MyUnivariatePolynomial
+--R
--R MyUnivariatePolynomial(x: Symbol,R: Ring) is a domain constructor
--R Abbreviation for MyUnivariatePolynomial is MYUP
--R This constructor is exposed in this frame.
@@ -82513,26 +82517,24 @@ MyExpression(q: Symbol, R): Exports == Implementation where
--R D : (%,(R -> R)) -> % D : % -> %
--R D : (%,NonNegativeInteger) -> % 1 : () -> %
--R 0 : () -> % ?^? : (%,PositiveInteger) -> %
---R coefficients : % -> List R coerce : Symbol -> %
---R coerce : Polynomial R -> % coerce : Variable x -> %
+--R coefficients : % -> List(R) coerce : Symbol -> %
+--R coerce : Polynomial(R) -> % coerce : Variable(x) -> %
--R coerce : R -> % coerce : Integer -> %
--R coerce : % -> OutputForm degree : % -> NonNegativeInteger
--R differentiate : % -> % ?.? : (%,%) -> %
---R ?.? : (%,R) -> R eval : (%,List %,List %) -> %
---R eval : (%,%,%) -> % eval : (%,Equation %) -> %
---R eval : (%,List Equation %) -> % ground : % -> R
+--R ?.? : (%,R) -> R eval : (%,%,%) -> %
+--R eval : (%,Equation(%)) -> % ground : % -> R
--R ground? : % -> Boolean hash : % -> SingleInteger
--R init : () -> % if R has STEP latex : % -> String
--R leadingCoefficient : % -> R leadingMonomial : % -> %
--R map : ((R -> R),%) -> % monomial? : % -> Boolean
---R monomials : % -> List % one? : % -> Boolean
---R primitiveMonomials : % -> List % pseudoRemainder : (%,%) -> %
---R recip : % -> Union(%,"failed") reductum : % -> %
---R retract : % -> Symbol retract : % -> R
---R sample : () -> % zero? : % -> Boolean
---R ?~=? : (%,%) -> Boolean
---R ?*? : (Fraction Integer,%) -> % if R has ALGEBRA FRAC INT
---R ?*? : (%,Fraction Integer) -> % if R has ALGEBRA FRAC INT
+--R monomials : % -> List(%) one? : % -> Boolean
+--R pseudoRemainder : (%,%) -> % recip : % -> Union(%,"failed")
+--R reductum : % -> % retract : % -> Symbol
+--R retract : % -> R sample : () -> %
+--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
+--R ?*? : (Fraction(Integer),%) -> % if R has ALGEBRA(FRAC(INT))
+--R ?*? : (%,Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (NonNegativeInteger,%) -> %
--R ?**? : (%,NonNegativeInteger) -> %
--R ?/? : (%,R) -> % if R has FIELD
@@ -82541,143 +82543,146 @@ MyExpression(q: Symbol, R): Exports == Implementation where
--R ?>? : (%,%) -> Boolean if R has ORDSET
--R ?>=? : (%,%) -> Boolean if R has ORDSET
--R D : (%,(R -> R),NonNegativeInteger) -> %
---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL
---R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL
---R D : (%,List Symbol) -> % if R has PDRING SYMBOL
---R D : (%,Symbol) -> % if R has PDRING SYMBOL
---R D : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> %
+--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL)
+--R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL)
+--R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL)
+--R D : (%,Symbol) -> % if R has PDRING(SYMBOL)
+--R D : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> %
--R D : (%,SingletonAsOrderedSet,NonNegativeInteger) -> %
---R D : (%,List SingletonAsOrderedSet) -> %
+--R D : (%,List(SingletonAsOrderedSet)) -> %
--R D : (%,SingletonAsOrderedSet) -> %
--R ?^? : (%,NonNegativeInteger) -> %
--R associates? : (%,%) -> Boolean if R has INTDOM
--R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING
--R characteristic : () -> NonNegativeInteger
--R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and R has PFECAT or R has CHARNZ
---R coefficient : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> %
+--R coefficient : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> %
--R coefficient : (%,SingletonAsOrderedSet,NonNegativeInteger) -> %
--R coefficient : (%,NonNegativeInteger) -> R
--R coerce : % -> % if R has INTDOM
---R coerce : Fraction Integer -> % if R has ALGEBRA FRAC INT or R has RETRACT FRAC INT
+--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT))
--R coerce : SingletonAsOrderedSet -> %
---R composite : (Fraction %,%) -> Union(Fraction %,"failed") if R has INTDOM
+--R composite : (Fraction(%),%) -> Union(Fraction(%),"failed") if R has INTDOM
--R composite : (%,%) -> Union(%,"failed") if R has INTDOM
---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and R has PFECAT
+--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and R has PFECAT
--R content : (%,SingletonAsOrderedSet) -> % if R has GCDDOM
--R content : % -> R if R has GCDDOM
---R convert : % -> InputForm if SingletonAsOrderedSet has KONVERT INFORM and R has KONVERT INFORM
---R convert : % -> Pattern Integer if SingletonAsOrderedSet has KONVERT PATTERN INT and R has KONVERT PATTERN INT
---R convert : % -> Pattern Float if SingletonAsOrderedSet has KONVERT PATTERN FLOAT and R has KONVERT PATTERN FLOAT
---R degree : (%,List SingletonAsOrderedSet) -> List NonNegativeInteger
+--R convert : % -> InputForm if SingletonAsOrderedSet has KONVERT(INFORM) and R has KONVERT(INFORM)
+--R convert : % -> Pattern(Integer) if SingletonAsOrderedSet has KONVERT(PATTERN(INT)) and R has KONVERT(PATTERN(INT))
+--R convert : % -> Pattern(Float) if SingletonAsOrderedSet has KONVERT(PATTERN(FLOAT)) and R has KONVERT(PATTERN(FLOAT))
+--R degree : (%,List(SingletonAsOrderedSet)) -> List(NonNegativeInteger)
--R degree : (%,SingletonAsOrderedSet) -> NonNegativeInteger
--R differentiate : (%,(R -> R),%) -> %
--R differentiate : (%,(R -> R)) -> %
--R differentiate : (%,(R -> R),NonNegativeInteger) -> %
---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL
---R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL
---R differentiate : (%,List Symbol) -> % if R has PDRING SYMBOL
---R differentiate : (%,Symbol) -> % if R has PDRING SYMBOL
+--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL)
+--R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL)
+--R differentiate : (%,List(Symbol)) -> % if R has PDRING(SYMBOL)
+--R differentiate : (%,Symbol) -> % if R has PDRING(SYMBOL)
--R differentiate : (%,NonNegativeInteger) -> %
---R differentiate : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> %
+--R differentiate : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> %
--R differentiate : (%,SingletonAsOrderedSet,NonNegativeInteger) -> %
---R differentiate : (%,List SingletonAsOrderedSet) -> %
+--R differentiate : (%,List(SingletonAsOrderedSet)) -> %
--R differentiate : (%,SingletonAsOrderedSet) -> %
--R discriminant : % -> R if R has COMRING
--R discriminant : (%,SingletonAsOrderedSet) -> % if R has COMRING
--R divide : (%,%) -> Record(quotient: %,remainder: %) if R has FIELD
--R divideExponents : (%,NonNegativeInteger) -> Union(%,"failed")
---R ?.? : (%,Fraction %) -> Fraction % if R has INTDOM
---R elt : (Fraction %,R) -> R if R has FIELD
---R elt : (Fraction %,Fraction %) -> Fraction % if R has INTDOM
+--R ?.? : (%,Fraction(%)) -> Fraction(%) if R has INTDOM
+--R elt : (Fraction(%),R) -> R if R has FIELD
+--R elt : (Fraction(%),Fraction(%)) -> Fraction(%) if R has INTDOM
--R euclideanSize : % -> NonNegativeInteger if R has FIELD
---R eval : (%,List SingletonAsOrderedSet,List %) -> %
+--R eval : (%,List(SingletonAsOrderedSet),List(%)) -> %
--R eval : (%,SingletonAsOrderedSet,%) -> %
---R eval : (%,List SingletonAsOrderedSet,List R) -> %
+--R eval : (%,List(SingletonAsOrderedSet),List(R)) -> %
--R eval : (%,SingletonAsOrderedSet,R) -> %
---R expressIdealMember : (List %,%) -> Union(List %,"failed") if R has FIELD
+--R eval : (%,List(%),List(%)) -> %
+--R eval : (%,List(Equation(%))) -> %
+--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if R has FIELD
--R exquo : (%,%) -> Union(%,"failed") if R has INTDOM
--R exquo : (%,R) -> Union(%,"failed") if R has INTDOM
--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if R has FIELD
--R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if R has FIELD
---R factor : % -> Factored % if R has PFECAT
---R factorPolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT
---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT
+--R factor : % -> Factored(%) if R has PFECAT
+--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
+--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
--R fmecg : (%,NonNegativeInteger,R,%) -> %
--R gcd : (%,%) -> % if R has GCDDOM
---R gcd : List % -> % if R has GCDDOM
---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has GCDDOM
---R integrate : % -> % if R has ALGEBRA FRAC INT
+--R gcd : List(%) -> % if R has GCDDOM
+--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has GCDDOM
+--R integrate : % -> % if R has ALGEBRA(FRAC(INT))
--R isExpt : % -> Union(Record(var: SingletonAsOrderedSet,exponent: NonNegativeInteger),"failed")
---R isPlus : % -> Union(List %,"failed")
---R isTimes : % -> Union(List %,"failed")
+--R isPlus : % -> Union(List(%),"failed")
+--R isTimes : % -> Union(List(%),"failed")
--R karatsubaDivide : (%,NonNegativeInteger) -> Record(quotient: %,remainder: %)
--R lcm : (%,%) -> % if R has GCDDOM
---R lcm : List % -> % if R has GCDDOM
+--R lcm : List(%) -> % if R has GCDDOM
--R mainVariable : % -> Union(SingletonAsOrderedSet,"failed")
---R makeSUP : % -> SparseUnivariatePolynomial R
+--R makeSUP : % -> SparseUnivariatePolynomial(R)
--R mapExponents : ((NonNegativeInteger -> NonNegativeInteger),%) -> %
--R max : (%,%) -> % if R has ORDSET
--R min : (%,%) -> % if R has ORDSET
---R minimumDegree : (%,List SingletonAsOrderedSet) -> List NonNegativeInteger
+--R minimumDegree : (%,List(SingletonAsOrderedSet)) -> List(NonNegativeInteger)
--R minimumDegree : (%,SingletonAsOrderedSet) -> NonNegativeInteger
--R minimumDegree : % -> NonNegativeInteger
--R monicDivide : (%,%) -> Record(quotient: %,remainder: %)
--R monicDivide : (%,%,SingletonAsOrderedSet) -> Record(quotient: %,remainder: %)
---R monomial : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> %
+--R monomial : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> %
--R monomial : (%,SingletonAsOrderedSet,NonNegativeInteger) -> %
--R monomial : (R,NonNegativeInteger) -> %
---R multiEuclidean : (List %,%) -> Union(List %,"failed") if R has FIELD
+--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if R has FIELD
--R multiplyExponents : (%,NonNegativeInteger) -> %
---R multivariate : (SparseUnivariatePolynomial %,SingletonAsOrderedSet) -> %
---R multivariate : (SparseUnivariatePolynomial R,SingletonAsOrderedSet) -> %
+--R multivariate : (SparseUnivariatePolynomial(%),SingletonAsOrderedSet) -> %
+--R multivariate : (SparseUnivariatePolynomial(R),SingletonAsOrderedSet) -> %
--R nextItem : % -> Union(%,"failed") if R has STEP
--R numberOfMonomials : % -> NonNegativeInteger
--R order : (%,%) -> NonNegativeInteger if R has INTDOM
---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if SingletonAsOrderedSet has PATMAB INT and R has PATMAB INT
---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if SingletonAsOrderedSet has PATMAB FLOAT and R has PATMAB FLOAT
+--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if SingletonAsOrderedSet has PATMAB(INT) and R has PATMAB(INT)
+--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if SingletonAsOrderedSet has PATMAB(FLOAT) and R has PATMAB(FLOAT)
--R pomopo! : (%,R,NonNegativeInteger,%) -> %
--R prime? : % -> Boolean if R has PFECAT
+--R primitiveMonomials : % -> List(%)
--R primitivePart : (%,SingletonAsOrderedSet) -> % if R has GCDDOM
--R primitivePart : % -> % if R has GCDDOM
---R principalIdeal : List % -> Record(coef: List %,generator: %) if R has FIELD
+--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if R has FIELD
--R pseudoDivide : (%,%) -> Record(coef: R,quotient: %,remainder: %) if R has INTDOM
--R pseudoQuotient : (%,%) -> % if R has INTDOM
--R ?quo? : (%,%) -> % if R has FIELD
---R reducedSystem : Matrix % -> Matrix R
---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix R,vec: Vector R)
---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if R has LINEXP INT
---R reducedSystem : Matrix % -> Matrix Integer if R has LINEXP INT
+--R reducedSystem : Matrix(%) -> Matrix(R)
+--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(R),vec: Vector(R))
+--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if R has LINEXP(INT)
+--R reducedSystem : Matrix(%) -> Matrix(Integer) if R has LINEXP(INT)
--R ?rem? : (%,%) -> % if R has FIELD
--R resultant : (%,%) -> R if R has COMRING
--R resultant : (%,%,SingletonAsOrderedSet) -> % if R has COMRING
--R retract : % -> SingletonAsOrderedSet
---R retract : % -> Integer if R has RETRACT INT
---R retract : % -> Fraction Integer if R has RETRACT FRAC INT
+--R retract : % -> Integer if R has RETRACT(INT)
+--R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT))
--R retractIfCan : % -> Union(Symbol,"failed")
--R retractIfCan : % -> Union(SingletonAsOrderedSet,"failed")
---R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT INT
---R retractIfCan : % -> Union(Fraction Integer,"failed") if R has RETRACT FRAC INT
+--R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT(INT)
+--R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has RETRACT(FRAC(INT))
--R retractIfCan : % -> Union(R,"failed")
--R separate : (%,%) -> Record(primePart: %,commonPart: %) if R has GCDDOM
--R shiftLeft : (%,NonNegativeInteger) -> %
--R shiftRight : (%,NonNegativeInteger) -> %
--R sizeLess? : (%,%) -> Boolean if R has FIELD
---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if R has PFECAT
---R squareFree : % -> Factored % if R has GCDDOM
+--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if R has PFECAT
+--R squareFree : % -> Factored(%) if R has GCDDOM
--R squareFreePart : % -> % if R has GCDDOM
---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT
+--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
--R subResultantGcd : (%,%) -> % if R has INTDOM
--R subtractIfCan : (%,%) -> Union(%,"failed")
---R totalDegree : (%,List SingletonAsOrderedSet) -> NonNegativeInteger
+--R totalDegree : (%,List(SingletonAsOrderedSet)) -> NonNegativeInteger
--R totalDegree : % -> NonNegativeInteger
--R unit? : % -> Boolean if R has INTDOM
--R unitCanonical : % -> % if R has INTDOM
--R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if R has INTDOM
---R univariate : % -> SparseUnivariatePolynomial R
---R univariate : (%,SingletonAsOrderedSet) -> SparseUnivariatePolynomial %
---R unmakeSUP : SparseUnivariatePolynomial R -> %
---R variables : % -> List SingletonAsOrderedSet
---R vectorise : (%,NonNegativeInteger) -> Vector R
+--R univariate : % -> SparseUnivariatePolynomial(R)
+--R univariate : (%,SingletonAsOrderedSet) -> SparseUnivariatePolynomial(%)
+--R unmakeSUP : SparseUnivariatePolynomial(R) -> %
+--R variables : % -> List(SingletonAsOrderedSet)
+--R vectorise : (%,NonNegativeInteger) -> Vector(R)
--R
--E 1
@@ -88511,8 +88516,8 @@ OrderedCompletion(R:SetCategory): Exports == Implementation where
--R #? : % -> NonNegativeInteger if $ has finiteAggregate
--R ?*? : (PositiveInteger,%) -> % if S has ABELSG
--R ?*? : (NonNegativeInteger,%) -> % if S has CABMON
---R ?*? : (S,%) -> % if S has RING
---R ?*? : (%,S) -> % if S has RING
+--R ?*? : (S,%) -> % if S has MONOID
+--R ?*? : (%,S) -> % if S has MONOID
--R ?*? : (%,%) -> % if S has MONOID
--R ?*? : (Integer,%) -> % if S has RING
--R ?**? : (%,PositiveInteger) -> % if S has MONOID
@@ -89013,12 +89018,12 @@ pNew:=newpoly(p2)
--R Perhaps you should use "@" to indicate the required return type,
--R or "$" to specify which version of the function you need.
--R AXIOM will attempt to step through and interpret the code.
---R Compiling function newterm with type Record(k: OrderedFreeMonoid
---R OrderedVariableList [x,y],c: SparseMultivariatePolynomial(
---R Fraction Integer,OrderedVariableList [a,b])) ->
---R XDistributedPolynomial(OrderedVariableList [x,y],
---R SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList
---R [a,b]))
+--R Compiling function newterm with type Record(k: OrderedFreeMonoid(
+--R OrderedVariableList([x,y])),c: SparseMultivariatePolynomial(
+--R Fraction(Integer),OrderedVariableList([a,b]))) ->
+--R XDistributedPolynomial(OrderedVariableList([x,y]),
+--R SparseMultivariatePolynomial(Fraction(Integer),
+--R OrderedVariableList([a,b])))
--R There are no library operations named subs
--R Use HyperDoc Browse or issue
--R )what op subs
@@ -89081,7 +89086,7 @@ pNew
--R
--R
--R (18) pNew
---R Type: Variable pNew
+--R Type: Variable(pNew)
--E 22
--S 23 of 24
@@ -112837,7 +112842,7 @@ depending on several "real roots".
--R RightOpenIntervalRootCharacterization(TheField: Join(OrderedRing,Field),ThePolDom: UnivariatePolynomialCategory(TheField)) is a domain constructor
--R Abbreviation for RightOpenIntervalRootCharacterization is ROIRC
--R This constructor is exposed in this frame.
---R Issue )edit NIL to see algebra source code for ROIRC
+--R Issue )edit bookvol10.3.pamphlet to see algebra source code for ROIRC
--R
--R------------------------------- Operations --------------------------------
--R ?=? : (%,%) -> Boolean allRootsOf : ThePolDom -> List(%)
@@ -116307,7 +116312,8 @@ SetOfMIntegersInOneToN(m, n): Exports == Implementation where
--S 1 of 1
)show SequentialDifferentialPolynomial
---R SequentialDifferentialPolynomial R: Ring is a domain constructor
+--R
+--R SequentialDifferentialPolynomial(R: Ring) is a domain constructor
--R Abbreviation for SequentialDifferentialPolynomial is SDPOL
--R This constructor is not exposed in this frame.
--R Issue )edit bookvol10.3.pamphlet to see algebra source code for SDPOL
@@ -116320,25 +116326,23 @@ SetOfMIntegersInOneToN(m, n): Exports == Implementation where
--R -? : % -> % ?=? : (%,%) -> Boolean
--R D : (%,(R -> R)) -> % D : % -> % if R has DIFRING
--R 1 : () -> % 0 : () -> %
---R ?^? : (%,PositiveInteger) -> % coefficients : % -> List R
+--R ?^? : (%,PositiveInteger) -> % coefficients : % -> List(R)
--R coerce : Symbol -> % coerce : R -> %
--R coerce : Integer -> % coerce : % -> OutputForm
---R eval : (%,List %,List %) -> % eval : (%,%,%) -> %
---R eval : (%,Equation %) -> % eval : (%,List Equation %) -> %
+--R eval : (%,%,%) -> % eval : (%,Equation(%)) -> %
--R ground : % -> R ground? : % -> Boolean
--R hash : % -> SingleInteger initial : % -> %
--R isobaric? : % -> Boolean latex : % -> String
--R leadingCoefficient : % -> R leadingMonomial : % -> %
--R map : ((R -> R),%) -> % monomial? : % -> Boolean
---R monomials : % -> List % one? : % -> Boolean
---R order : % -> NonNegativeInteger primitiveMonomials : % -> List %
---R recip : % -> Union(%,"failed") reductum : % -> %
---R retract : % -> Symbol retract : % -> R
---R sample : () -> % separant : % -> %
---R weight : % -> NonNegativeInteger zero? : % -> Boolean
---R ?~=? : (%,%) -> Boolean
---R ?*? : (Fraction Integer,%) -> % if R has ALGEBRA FRAC INT
---R ?*? : (%,Fraction Integer) -> % if R has ALGEBRA FRAC INT
+--R monomials : % -> List(%) one? : % -> Boolean
+--R order : % -> NonNegativeInteger recip : % -> Union(%,"failed")
+--R reductum : % -> % retract : % -> Symbol
+--R retract : % -> R sample : () -> %
+--R separant : % -> % weight : % -> NonNegativeInteger
+--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
+--R ?*? : (Fraction(Integer),%) -> % if R has ALGEBRA(FRAC(INT))
+--R ?*? : (%,Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (NonNegativeInteger,%) -> %
--R ?**? : (%,NonNegativeInteger) -> %
--R ?/? : (%,R) -> % if R has FIELD
@@ -116347,127 +116351,130 @@ SetOfMIntegersInOneToN(m, n): Exports == Implementation where
--R ?>? : (%,%) -> Boolean if R has ORDSET
--R ?>=? : (%,%) -> Boolean if R has ORDSET
--R D : (%,(R -> R),NonNegativeInteger) -> %
---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL
---R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL
---R D : (%,List Symbol) -> % if R has PDRING SYMBOL
---R D : (%,Symbol) -> % if R has PDRING SYMBOL
+--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL)
+--R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL)
+--R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL)
+--R D : (%,Symbol) -> % if R has PDRING(SYMBOL)
--R D : (%,NonNegativeInteger) -> % if R has DIFRING
---R D : (%,List SequentialDifferentialVariable Symbol,List NonNegativeInteger) -> %
---R D : (%,SequentialDifferentialVariable Symbol,NonNegativeInteger) -> %
---R D : (%,List SequentialDifferentialVariable Symbol) -> %
---R D : (%,SequentialDifferentialVariable Symbol) -> %
+--R D : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> %
+--R D : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> %
+--R D : (%,List(SequentialDifferentialVariable(Symbol))) -> %
+--R D : (%,SequentialDifferentialVariable(Symbol)) -> %
--R ?^? : (%,NonNegativeInteger) -> %
--R associates? : (%,%) -> Boolean if R has INTDOM
--R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING
--R characteristic : () -> NonNegativeInteger
--R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and R has PFECAT or R has CHARNZ
---R coefficient : (%,List SequentialDifferentialVariable Symbol,List NonNegativeInteger) -> %
---R coefficient : (%,SequentialDifferentialVariable Symbol,NonNegativeInteger) -> %
---R coefficient : (%,IndexedExponents SequentialDifferentialVariable Symbol) -> R
+--R coefficient : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> %
+--R coefficient : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> %
+--R coefficient : (%,IndexedExponents(SequentialDifferentialVariable(Symbol))) -> R
--R coerce : % -> % if R has INTDOM
---R coerce : Fraction Integer -> % if R has ALGEBRA FRAC INT or R has RETRACT FRAC INT
+--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT))
--R coerce : SparseMultivariatePolynomial(R,Symbol) -> %
---R coerce : SequentialDifferentialVariable Symbol -> %
---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and R has PFECAT
---R content : (%,SequentialDifferentialVariable Symbol) -> % if R has GCDDOM
+--R coerce : SequentialDifferentialVariable(Symbol) -> %
+--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and R has PFECAT
+--R content : (%,SequentialDifferentialVariable(Symbol)) -> % if R has GCDDOM
--R content : % -> R if R has GCDDOM
---R convert : % -> InputForm if SequentialDifferentialVariable Symbol has KONVERT INFORM and R has KONVERT INFORM
---R convert : % -> Pattern Integer if SequentialDifferentialVariable Symbol has KONVERT PATTERN INT and R has KONVERT PATTERN INT
---R convert : % -> Pattern Float if SequentialDifferentialVariable Symbol has KONVERT PATTERN FLOAT and R has KONVERT PATTERN FLOAT
+--R convert : % -> InputForm if SequentialDifferentialVariable(Symbol) has KONVERT(INFORM) and R has KONVERT(INFORM)
+--R convert : % -> Pattern(Integer) if SequentialDifferentialVariable(Symbol) has KONVERT(PATTERN(INT)) and R has KONVERT(PATTERN(INT))
+--R convert : % -> Pattern(Float) if SequentialDifferentialVariable(Symbol) has KONVERT(PATTERN(FLOAT)) and R has KONVERT(PATTERN(FLOAT))
--R degree : (%,Symbol) -> NonNegativeInteger
---R degree : (%,List SequentialDifferentialVariable Symbol) -> List NonNegativeInteger
---R degree : (%,SequentialDifferentialVariable Symbol) -> NonNegativeInteger
---R degree : % -> IndexedExponents SequentialDifferentialVariable Symbol
---R differentialVariables : % -> List Symbol
+--R degree : (%,List(SequentialDifferentialVariable(Symbol))) -> List(NonNegativeInteger)
+--R degree : (%,SequentialDifferentialVariable(Symbol)) -> NonNegativeInteger
+--R degree : % -> IndexedExponents(SequentialDifferentialVariable(Symbol))
+--R differentialVariables : % -> List(Symbol)
--R differentiate : (%,(R -> R)) -> %
--R differentiate : (%,(R -> R),NonNegativeInteger) -> %
---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL
---R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL
---R differentiate : (%,List Symbol) -> % if R has PDRING SYMBOL
---R differentiate : (%,Symbol) -> % if R has PDRING SYMBOL
+--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL)
+--R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL)
+--R differentiate : (%,List(Symbol)) -> % if R has PDRING(SYMBOL)
+--R differentiate : (%,Symbol) -> % if R has PDRING(SYMBOL)
--R differentiate : (%,NonNegativeInteger) -> % if R has DIFRING
--R differentiate : % -> % if R has DIFRING
---R differentiate : (%,List SequentialDifferentialVariable Symbol,List NonNegativeInteger) -> %
---R differentiate : (%,SequentialDifferentialVariable Symbol,NonNegativeInteger) -> %
---R differentiate : (%,List SequentialDifferentialVariable Symbol) -> %
---R differentiate : (%,SequentialDifferentialVariable Symbol) -> %
---R discriminant : (%,SequentialDifferentialVariable Symbol) -> % if R has COMRING
---R eval : (%,List Symbol,List R) -> % if R has DIFRING
+--R differentiate : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> %
+--R differentiate : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> %
+--R differentiate : (%,List(SequentialDifferentialVariable(Symbol))) -> %
+--R differentiate : (%,SequentialDifferentialVariable(Symbol)) -> %
+--R discriminant : (%,SequentialDifferentialVariable(Symbol)) -> % if R has COMRING
+--R eval : (%,List(Symbol),List(R)) -> % if R has DIFRING
--R eval : (%,Symbol,R) -> % if R has DIFRING
---R eval : (%,List Symbol,List %) -> % if R has DIFRING
+--R eval : (%,List(Symbol),List(%)) -> % if R has DIFRING
--R eval : (%,Symbol,%) -> % if R has DIFRING
---R eval : (%,List SequentialDifferentialVariable Symbol,List %) -> %
---R eval : (%,SequentialDifferentialVariable Symbol,%) -> %
---R eval : (%,List SequentialDifferentialVariable Symbol,List R) -> %
---R eval : (%,SequentialDifferentialVariable Symbol,R) -> %
+--R eval : (%,List(SequentialDifferentialVariable(Symbol)),List(%)) -> %
+--R eval : (%,SequentialDifferentialVariable(Symbol),%) -> %
+--R eval : (%,List(SequentialDifferentialVariable(Symbol)),List(R)) -> %
+--R eval : (%,SequentialDifferentialVariable(Symbol),R) -> %
+--R eval : (%,List(%),List(%)) -> %
+--R eval : (%,List(Equation(%))) -> %
--R exquo : (%,%) -> Union(%,"failed") if R has INTDOM
--R exquo : (%,R) -> Union(%,"failed") if R has INTDOM
---R factor : % -> Factored % if R has PFECAT
---R factorPolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT
---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT
+--R factor : % -> Factored(%) if R has PFECAT
+--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
+--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
--R gcd : (%,%) -> % if R has GCDDOM
---R gcd : List % -> % if R has GCDDOM
---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has GCDDOM
---R isExpt : % -> Union(Record(var: SequentialDifferentialVariable Symbol,exponent: NonNegativeInteger),"failed")
---R isPlus : % -> Union(List %,"failed")
---R isTimes : % -> Union(List %,"failed")
+--R gcd : List(%) -> % if R has GCDDOM
+--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has GCDDOM
+--R isExpt : % -> Union(Record(var: SequentialDifferentialVariable(Symbol),exponent: NonNegativeInteger),"failed")
+--R isPlus : % -> Union(List(%),"failed")
+--R isTimes : % -> Union(List(%),"failed")
--R lcm : (%,%) -> % if R has GCDDOM
---R lcm : List % -> % if R has GCDDOM
---R leader : % -> SequentialDifferentialVariable Symbol
---R mainVariable : % -> Union(SequentialDifferentialVariable Symbol,"failed")
+--R lcm : List(%) -> % if R has GCDDOM
+--R leader : % -> SequentialDifferentialVariable(Symbol)
+--R mainVariable : % -> Union(SequentialDifferentialVariable(Symbol),"failed")
--R makeVariable : % -> (NonNegativeInteger -> %) if R has DIFRING
--R makeVariable : Symbol -> (NonNegativeInteger -> %)
---R mapExponents : ((IndexedExponents SequentialDifferentialVariable Symbol -> IndexedExponents SequentialDifferentialVariable Symbol),%) -> %
+--R mapExponents : ((IndexedExponents(SequentialDifferentialVariable(Symbol)) -> IndexedExponents(SequentialDifferentialVariable(Symbol))),%) -> %
--R max : (%,%) -> % if R has ORDSET
--R min : (%,%) -> % if R has ORDSET
---R minimumDegree : (%,List SequentialDifferentialVariable Symbol) -> List NonNegativeInteger
---R minimumDegree : (%,SequentialDifferentialVariable Symbol) -> NonNegativeInteger
---R minimumDegree : % -> IndexedExponents SequentialDifferentialVariable Symbol
---R monicDivide : (%,%,SequentialDifferentialVariable Symbol) -> Record(quotient: %,remainder: %)
---R monomial : (%,List SequentialDifferentialVariable Symbol,List NonNegativeInteger) -> %
---R monomial : (%,SequentialDifferentialVariable Symbol,NonNegativeInteger) -> %
---R monomial : (R,IndexedExponents SequentialDifferentialVariable Symbol) -> %
---R multivariate : (SparseUnivariatePolynomial %,SequentialDifferentialVariable Symbol) -> %
---R multivariate : (SparseUnivariatePolynomial R,SequentialDifferentialVariable Symbol) -> %
+--R minimumDegree : (%,List(SequentialDifferentialVariable(Symbol))) -> List(NonNegativeInteger)
+--R minimumDegree : (%,SequentialDifferentialVariable(Symbol)) -> NonNegativeInteger
+--R minimumDegree : % -> IndexedExponents(SequentialDifferentialVariable(Symbol))
+--R monicDivide : (%,%,SequentialDifferentialVariable(Symbol)) -> Record(quotient: %,remainder: %)
+--R monomial : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> %
+--R monomial : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> %
+--R monomial : (R,IndexedExponents(SequentialDifferentialVariable(Symbol))) -> %
+--R multivariate : (SparseUnivariatePolynomial(%),SequentialDifferentialVariable(Symbol)) -> %
+--R multivariate : (SparseUnivariatePolynomial(R),SequentialDifferentialVariable(Symbol)) -> %
--R numberOfMonomials : % -> NonNegativeInteger
--R order : (%,Symbol) -> NonNegativeInteger
---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if SequentialDifferentialVariable Symbol has PATMAB INT and R has PATMAB INT
---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if SequentialDifferentialVariable Symbol has PATMAB FLOAT and R has PATMAB FLOAT
---R pomopo! : (%,R,IndexedExponents SequentialDifferentialVariable Symbol,%) -> %
+--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if SequentialDifferentialVariable(Symbol) has PATMAB(INT) and R has PATMAB(INT)
+--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if SequentialDifferentialVariable(Symbol) has PATMAB(FLOAT) and R has PATMAB(FLOAT)
+--R pomopo! : (%,R,IndexedExponents(SequentialDifferentialVariable(Symbol)),%) -> %
--R prime? : % -> Boolean if R has PFECAT
---R primitivePart : (%,SequentialDifferentialVariable Symbol) -> % if R has GCDDOM
+--R primitiveMonomials : % -> List(%)
+--R primitivePart : (%,SequentialDifferentialVariable(Symbol)) -> % if R has GCDDOM
--R primitivePart : % -> % if R has GCDDOM
---R reducedSystem : Matrix % -> Matrix R
---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix R,vec: Vector R)
---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if R has LINEXP INT
---R reducedSystem : Matrix % -> Matrix Integer if R has LINEXP INT
---R resultant : (%,%,SequentialDifferentialVariable Symbol) -> % if R has COMRING
+--R reducedSystem : Matrix(%) -> Matrix(R)
+--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(R),vec: Vector(R))
+--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if R has LINEXP(INT)
+--R reducedSystem : Matrix(%) -> Matrix(Integer) if R has LINEXP(INT)
+--R resultant : (%,%,SequentialDifferentialVariable(Symbol)) -> % if R has COMRING
--R retract : % -> SparseMultivariatePolynomial(R,Symbol)
---R retract : % -> SequentialDifferentialVariable Symbol
---R retract : % -> Integer if R has RETRACT INT
---R retract : % -> Fraction Integer if R has RETRACT FRAC INT
+--R retract : % -> SequentialDifferentialVariable(Symbol)
+--R retract : % -> Integer if R has RETRACT(INT)
+--R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT))
--R retractIfCan : % -> Union(SparseMultivariatePolynomial(R,Symbol),"failed")
--R retractIfCan : % -> Union(Symbol,"failed")
---R retractIfCan : % -> Union(SequentialDifferentialVariable Symbol,"failed")
---R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT INT
---R retractIfCan : % -> Union(Fraction Integer,"failed") if R has RETRACT FRAC INT
+--R retractIfCan : % -> Union(SequentialDifferentialVariable(Symbol),"failed")
+--R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT(INT)
+--R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has RETRACT(FRAC(INT))
--R retractIfCan : % -> Union(R,"failed")
---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if R has PFECAT
---R squareFree : % -> Factored % if R has GCDDOM
+--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if R has PFECAT
+--R squareFree : % -> Factored(%) if R has GCDDOM
--R squareFreePart : % -> % if R has GCDDOM
---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT
+--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
--R subtractIfCan : (%,%) -> Union(%,"failed")
---R totalDegree : (%,List SequentialDifferentialVariable Symbol) -> NonNegativeInteger
+--R totalDegree : (%,List(SequentialDifferentialVariable(Symbol))) -> NonNegativeInteger
--R totalDegree : % -> NonNegativeInteger
--R unit? : % -> Boolean if R has INTDOM
--R unitCanonical : % -> % if R has INTDOM
--R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if R has INTDOM
---R univariate : % -> SparseUnivariatePolynomial R
---R univariate : (%,SequentialDifferentialVariable Symbol) -> SparseUnivariatePolynomial %
---R variables : % -> List SequentialDifferentialVariable Symbol
+--R univariate : % -> SparseUnivariatePolynomial(R)
+--R univariate : (%,SequentialDifferentialVariable(Symbol)) -> SparseUnivariatePolynomial(%)
+--R variables : % -> List(SequentialDifferentialVariable(Symbol))
--R weight : (%,Symbol) -> NonNegativeInteger
---R weights : (%,Symbol) -> List NonNegativeInteger
---R weights : % -> List NonNegativeInteger
+--R weights : (%,Symbol) -> List(NonNegativeInteger)
+--R weights : % -> List(NonNegativeInteger)
--R
--E 1
@@ -116640,168 +116647,24 @@ SequentialDifferentialPolynomial(R):
--S 1 of 1
)show SequentialDifferentialVariable
--R
---R SequentialDifferentialPolynomial(R: Ring) is a domain constructor
---R Abbreviation for SequentialDifferentialPolynomial is SDPOL
+--R SequentialDifferentialVariable(S: OrderedSet) is a domain constructor
+--R Abbreviation for SequentialDifferentialVariable is SDVAR
--R This constructor is not exposed in this frame.
---R Issue )edit bookvol10.3.pamphlet to see algebra source code for SDPOL
+--R Issue )edit bookvol10.3.pamphlet to see algebra source code for SDVAR
--R
--R------------------------------- Operations --------------------------------
---R ?*? : (%,R) -> % ?*? : (R,%) -> %
---R ?*? : (%,%) -> % ?*? : (Integer,%) -> %
---R ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> %
---R ?+? : (%,%) -> % ?-? : (%,%) -> %
---R -? : % -> % ?=? : (%,%) -> Boolean
---R D : (%,(R -> R)) -> % D : % -> % if R has DIFRING
---R 1 : () -> % 0 : () -> %
---R ?^? : (%,PositiveInteger) -> % coefficients : % -> List(R)
---R coerce : Symbol -> % coerce : R -> %
---R coerce : Integer -> % coerce : % -> OutputForm
---R eval : (%,%,%) -> % eval : (%,Equation(%)) -> %
---R ground : % -> R ground? : % -> Boolean
---R hash : % -> SingleInteger initial : % -> %
---R isobaric? : % -> Boolean latex : % -> String
---R leadingCoefficient : % -> R leadingMonomial : % -> %
---R map : ((R -> R),%) -> % monomial? : % -> Boolean
---R monomials : % -> List(%) one? : % -> Boolean
---R order : % -> NonNegativeInteger recip : % -> Union(%,"failed")
---R reductum : % -> % retract : % -> Symbol
---R retract : % -> R sample : () -> %
---R separant : % -> % weight : % -> NonNegativeInteger
---R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
---R ?*? : (Fraction(Integer),%) -> % if R has ALGEBRA(FRAC(INT))
---R ?*? : (%,Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT))
---R ?*? : (NonNegativeInteger,%) -> %
---R ?**? : (%,NonNegativeInteger) -> %
---R ?/? : (%,R) -> % if R has FIELD
---R ? : (%,%) -> Boolean if R has ORDSET
---R ?<=? : (%,%) -> Boolean if R has ORDSET
---R ?>? : (%,%) -> Boolean if R has ORDSET
---R ?>=? : (%,%) -> Boolean if R has ORDSET
---R D : (%,(R -> R),NonNegativeInteger) -> %
---R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL)
---R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL)
---R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL)
---R D : (%,Symbol) -> % if R has PDRING(SYMBOL)
---R D : (%,NonNegativeInteger) -> % if R has DIFRING
---R D : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> %
---R D : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> %
---R D : (%,List(SequentialDifferentialVariable(Symbol))) -> %
---R D : (%,SequentialDifferentialVariable(Symbol)) -> %
---R ?^? : (%,NonNegativeInteger) -> %
---R associates? : (%,%) -> Boolean if R has INTDOM
---R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING
---R characteristic : () -> NonNegativeInteger
---R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and R has PFECAT or R has CHARNZ
---R coefficient : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> %
---R coefficient : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> %
---R coefficient : (%,IndexedExponents(SequentialDifferentialVariable(Symbol))) -> R
---R coerce : % -> % if R has INTDOM
---R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT))
---R coerce : SparseMultivariatePolynomial(R,Symbol) -> %
---R coerce : SequentialDifferentialVariable(Symbol) -> %
---R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and R has PFECAT
---R content : (%,SequentialDifferentialVariable(Symbol)) -> % if R has GCDDOM
---R content : % -> R if R has GCDDOM
---R convert : % -> InputForm if SequentialDifferentialVariable(Symbol) has KONVERT(INFORM) and R has KONVERT(INFORM)
---R convert : % -> Pattern(Integer) if SequentialDifferentialVariable(Symbol) has KONVERT(PATTERN(INT)) and R has KONVERT(PATTERN(INT))
---R convert : % -> Pattern(Float) if SequentialDifferentialVariable(Symbol) has KONVERT(PATTERN(FLOAT)) and R has KONVERT(PATTERN(FLOAT))
---R degree : (%,Symbol) -> NonNegativeInteger
---R degree : (%,List(SequentialDifferentialVariable(Symbol))) -> List(NonNegativeInteger)
---R degree : (%,SequentialDifferentialVariable(Symbol)) -> NonNegativeInteger
---R degree : % -> IndexedExponents(SequentialDifferentialVariable(Symbol))
---R differentialVariables : % -> List(Symbol)
---R differentiate : (%,(R -> R)) -> %
---R differentiate : (%,(R -> R),NonNegativeInteger) -> %
---R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL)
---R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL)
---R differentiate : (%,List(Symbol)) -> % if R has PDRING(SYMBOL)
---R differentiate : (%,Symbol) -> % if R has PDRING(SYMBOL)
---R differentiate : (%,NonNegativeInteger) -> % if R has DIFRING
---R differentiate : % -> % if R has DIFRING
---R differentiate : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> %
---R differentiate : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> %
---R differentiate : (%,List(SequentialDifferentialVariable(Symbol))) -> %
---R differentiate : (%,SequentialDifferentialVariable(Symbol)) -> %
---R discriminant : (%,SequentialDifferentialVariable(Symbol)) -> % if R has COMRING
---R eval : (%,List(Symbol),List(R)) -> % if R has DIFRING
---R eval : (%,Symbol,R) -> % if R has DIFRING
---R eval : (%,List(Symbol),List(%)) -> % if R has DIFRING
---R eval : (%,Symbol,%) -> % if R has DIFRING
---R eval : (%,List(SequentialDifferentialVariable(Symbol)),List(%)) -> %
---R eval : (%,SequentialDifferentialVariable(Symbol),%) -> %
---R eval : (%,List(SequentialDifferentialVariable(Symbol)),List(R)) -> %
---R eval : (%,SequentialDifferentialVariable(Symbol),R) -> %
---R eval : (%,List(%),List(%)) -> %
---R eval : (%,List(Equation(%))) -> %
---R exquo : (%,%) -> Union(%,"failed") if R has INTDOM
---R exquo : (%,R) -> Union(%,"failed") if R has INTDOM
---R factor : % -> Factored(%) if R has PFECAT
---R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
---R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
---R gcd : (%,%) -> % if R has GCDDOM
---R gcd : List(%) -> % if R has GCDDOM
---R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has GCDDOM
---R isExpt : % -> Union(Record(var: SequentialDifferentialVariable(Symbol),exponent: NonNegativeInteger),"failed")
---R isPlus : % -> Union(List(%),"failed")
---R isTimes : % -> Union(List(%),"failed")
---R lcm : (%,%) -> % if R has GCDDOM
---R lcm : List(%) -> % if R has GCDDOM
---R leader : % -> SequentialDifferentialVariable(Symbol)
---R mainVariable : % -> Union(SequentialDifferentialVariable(Symbol),"failed")
---R makeVariable : % -> (NonNegativeInteger -> %) if R has DIFRING
---R makeVariable : Symbol -> (NonNegativeInteger -> %)
---R mapExponents : ((IndexedExponents(SequentialDifferentialVariable(Symbol)) -> IndexedExponents(SequentialDifferentialVariable(Symbol))),%) -> %
---R max : (%,%) -> % if R has ORDSET
---R min : (%,%) -> % if R has ORDSET
---R minimumDegree : (%,List(SequentialDifferentialVariable(Symbol))) -> List(NonNegativeInteger)
---R minimumDegree : (%,SequentialDifferentialVariable(Symbol)) -> NonNegativeInteger
---R minimumDegree : % -> IndexedExponents(SequentialDifferentialVariable(Symbol))
---R monicDivide : (%,%,SequentialDifferentialVariable(Symbol)) -> Record(quotient: %,remainder: %)
---R monomial : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> %
---R monomial : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> %
---R monomial : (R,IndexedExponents(SequentialDifferentialVariable(Symbol))) -> %
---R multivariate : (SparseUnivariatePolynomial(%),SequentialDifferentialVariable(Symbol)) -> %
---R multivariate : (SparseUnivariatePolynomial(R),SequentialDifferentialVariable(Symbol)) -> %
---R numberOfMonomials : % -> NonNegativeInteger
---R order : (%,Symbol) -> NonNegativeInteger
---R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if SequentialDifferentialVariable(Symbol) has PATMAB(INT) and R has PATMAB(INT)
---R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if SequentialDifferentialVariable(Symbol) has PATMAB(FLOAT) and R has PATMAB(FLOAT)
---R pomopo! : (%,R,IndexedExponents(SequentialDifferentialVariable(Symbol)),%) -> %
---R prime? : % -> Boolean if R has PFECAT
---R primitiveMonomials : % -> List(%)
---R primitivePart : (%,SequentialDifferentialVariable(Symbol)) -> % if R has GCDDOM
---R primitivePart : % -> % if R has GCDDOM
---R reducedSystem : Matrix(%) -> Matrix(R)
---R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(R),vec: Vector(R))
---R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if R has LINEXP(INT)
---R reducedSystem : Matrix(%) -> Matrix(Integer) if R has LINEXP(INT)
---R resultant : (%,%,SequentialDifferentialVariable(Symbol)) -> % if R has COMRING
---R retract : % -> SparseMultivariatePolynomial(R,Symbol)
---R retract : % -> SequentialDifferentialVariable(Symbol)
---R retract : % -> Integer if R has RETRACT(INT)
---R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT))
---R retractIfCan : % -> Union(SparseMultivariatePolynomial(R,Symbol),"failed")
---R retractIfCan : % -> Union(Symbol,"failed")
---R retractIfCan : % -> Union(SequentialDifferentialVariable(Symbol),"failed")
---R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT(INT)
---R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has RETRACT(FRAC(INT))
---R retractIfCan : % -> Union(R,"failed")
---R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if R has PFECAT
---R squareFree : % -> Factored(%) if R has GCDDOM
---R squareFreePart : % -> % if R has GCDDOM
---R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
---R subtractIfCan : (%,%) -> Union(%,"failed")
---R totalDegree : (%,List(SequentialDifferentialVariable(Symbol))) -> NonNegativeInteger
---R totalDegree : % -> NonNegativeInteger
---R unit? : % -> Boolean if R has INTDOM
---R unitCanonical : % -> % if R has INTDOM
---R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if R has INTDOM
---R univariate : % -> SparseUnivariatePolynomial(R)
---R univariate : (%,SequentialDifferentialVariable(Symbol)) -> SparseUnivariatePolynomial(%)
---R variables : % -> List(SequentialDifferentialVariable(Symbol))
---R weight : (%,Symbol) -> NonNegativeInteger
---R weights : (%,Symbol) -> List(NonNegativeInteger)
---R weights : % -> List(NonNegativeInteger)
+--R ? : (%,%) -> Boolean ?<=? : (%,%) -> Boolean
+--R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean
+--R ?>=? : (%,%) -> Boolean coerce : S -> %
+--R coerce : % -> OutputForm differentiate : % -> %
+--R hash : % -> SingleInteger latex : % -> String
+--R max : (%,%) -> % min : (%,%) -> %
+--R order : % -> NonNegativeInteger retract : % -> S
+--R variable : % -> S weight : % -> NonNegativeInteger
+--R ?~=? : (%,%) -> Boolean
+--R differentiate : (%,NonNegativeInteger) -> %
+--R makeVariable : (S,NonNegativeInteger) -> %
+--R retractIfCan : % -> Union(S,"failed")
--R
--E 1
@@ -120540,7 +120403,8 @@ SparseUnivariateLaurentSeries(Coef,var,cen): Exports == Implementation where
--S 1 of 1
)show SparseUnivariatePolynomial
---R SparseUnivariatePolynomial R: Ring is a domain constructor
+--R
+--R SparseUnivariatePolynomial(R: Ring) is a domain constructor
--R Abbreviation for SparseUnivariatePolynomial is SUP
--R This constructor is not exposed in this frame.
--R Issue )edit bookvol10.3.pamphlet to see algebra source code for SUP
@@ -120554,24 +120418,22 @@ SparseUnivariateLaurentSeries(Coef,var,cen): Exports == Implementation where
--R D : (%,(R -> R)) -> % D : % -> %
--R D : (%,NonNegativeInteger) -> % 1 : () -> %
--R 0 : () -> % ?^? : (%,PositiveInteger) -> %
---R coefficients : % -> List R coerce : R -> %
+--R coefficients : % -> List(R) coerce : R -> %
--R coerce : Integer -> % coerce : % -> OutputForm
--R degree : % -> NonNegativeInteger differentiate : % -> %
--R ?.? : (%,%) -> % ?.? : (%,R) -> R
---R eval : (%,List %,List %) -> % eval : (%,%,%) -> %
---R eval : (%,Equation %) -> % eval : (%,List Equation %) -> %
+--R eval : (%,%,%) -> % eval : (%,Equation(%)) -> %
--R ground : % -> R ground? : % -> Boolean
--R hash : % -> SingleInteger init : () -> % if R has STEP
--R latex : % -> String leadingCoefficient : % -> R
--R leadingMonomial : % -> % map : ((R -> R),%) -> %
---R monomial? : % -> Boolean monomials : % -> List %
---R one? : % -> Boolean primitiveMonomials : % -> List %
---R pseudoRemainder : (%,%) -> % recip : % -> Union(%,"failed")
---R reductum : % -> % retract : % -> R
---R sample : () -> % zero? : % -> Boolean
---R ?~=? : (%,%) -> Boolean
---R ?*? : (Fraction Integer,%) -> % if R has ALGEBRA FRAC INT
---R ?*? : (%,Fraction Integer) -> % if R has ALGEBRA FRAC INT
+--R monomial? : % -> Boolean monomials : % -> List(%)
+--R one? : % -> Boolean pseudoRemainder : (%,%) -> %
+--R recip : % -> Union(%,"failed") reductum : % -> %
+--R retract : % -> R sample : () -> %
+--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
+--R ?*? : (Fraction(Integer),%) -> % if R has ALGEBRA(FRAC(INT))
+--R ?*? : (%,Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (NonNegativeInteger,%) -> %
--R ?**? : (%,NonNegativeInteger) -> %
--R ?/? : (%,R) -> % if R has FIELD
@@ -120580,143 +120442,146 @@ SparseUnivariateLaurentSeries(Coef,var,cen): Exports == Implementation where
--R ?>? : (%,%) -> Boolean if R has ORDSET
--R ?>=? : (%,%) -> Boolean if R has ORDSET
--R D : (%,(R -> R),NonNegativeInteger) -> %
---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL
---R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL
---R D : (%,List Symbol) -> % if R has PDRING SYMBOL
---R D : (%,Symbol) -> % if R has PDRING SYMBOL
---R D : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> %
+--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL)
+--R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL)
+--R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL)
+--R D : (%,Symbol) -> % if R has PDRING(SYMBOL)
+--R D : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> %
--R D : (%,SingletonAsOrderedSet,NonNegativeInteger) -> %
---R D : (%,List SingletonAsOrderedSet) -> %
+--R D : (%,List(SingletonAsOrderedSet)) -> %
--R D : (%,SingletonAsOrderedSet) -> %
--R ?^? : (%,NonNegativeInteger) -> %
--R associates? : (%,%) -> Boolean if R has INTDOM
--R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING
--R characteristic : () -> NonNegativeInteger
--R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and R has PFECAT or R has CHARNZ
---R coefficient : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> %
+--R coefficient : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> %
--R coefficient : (%,SingletonAsOrderedSet,NonNegativeInteger) -> %
--R coefficient : (%,NonNegativeInteger) -> R
--R coerce : % -> % if R has INTDOM
---R coerce : Fraction Integer -> % if R has ALGEBRA FRAC INT or R has RETRACT FRAC INT
+--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT))
--R coerce : SingletonAsOrderedSet -> %
---R composite : (Fraction %,%) -> Union(Fraction %,"failed") if R has INTDOM
+--R composite : (Fraction(%),%) -> Union(Fraction(%),"failed") if R has INTDOM
--R composite : (%,%) -> Union(%,"failed") if R has INTDOM
---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and R has PFECAT
+--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and R has PFECAT
--R content : (%,SingletonAsOrderedSet) -> % if R has GCDDOM
--R content : % -> R if R has GCDDOM
---R convert : % -> InputForm if SingletonAsOrderedSet has KONVERT INFORM and R has KONVERT INFORM
---R convert : % -> Pattern Integer if SingletonAsOrderedSet has KONVERT PATTERN INT and R has KONVERT PATTERN INT
---R convert : % -> Pattern Float if SingletonAsOrderedSet has KONVERT PATTERN FLOAT and R has KONVERT PATTERN FLOAT
---R degree : (%,List SingletonAsOrderedSet) -> List NonNegativeInteger
+--R convert : % -> InputForm if SingletonAsOrderedSet has KONVERT(INFORM) and R has KONVERT(INFORM)
+--R convert : % -> Pattern(Integer) if SingletonAsOrderedSet has KONVERT(PATTERN(INT)) and R has KONVERT(PATTERN(INT))
+--R convert : % -> Pattern(Float) if SingletonAsOrderedSet has KONVERT(PATTERN(FLOAT)) and R has KONVERT(PATTERN(FLOAT))
+--R degree : (%,List(SingletonAsOrderedSet)) -> List(NonNegativeInteger)
--R degree : (%,SingletonAsOrderedSet) -> NonNegativeInteger
--R differentiate : (%,(R -> R),%) -> %
--R differentiate : (%,(R -> R)) -> %
--R differentiate : (%,(R -> R),NonNegativeInteger) -> %
---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL
---R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL
---R differentiate : (%,List Symbol) -> % if R has PDRING SYMBOL
---R differentiate : (%,Symbol) -> % if R has PDRING SYMBOL
+--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL)
+--R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL)
+--R differentiate : (%,List(Symbol)) -> % if R has PDRING(SYMBOL)
+--R differentiate : (%,Symbol) -> % if R has PDRING(SYMBOL)
--R differentiate : (%,NonNegativeInteger) -> %
---R differentiate : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> %
+--R differentiate : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> %
--R differentiate : (%,SingletonAsOrderedSet,NonNegativeInteger) -> %
---R differentiate : (%,List SingletonAsOrderedSet) -> %
+--R differentiate : (%,List(SingletonAsOrderedSet)) -> %
--R differentiate : (%,SingletonAsOrderedSet) -> %
--R discriminant : % -> R if R has COMRING
--R discriminant : (%,SingletonAsOrderedSet) -> % if R has COMRING
--R divide : (%,%) -> Record(quotient: %,remainder: %) if R has FIELD
--R divideExponents : (%,NonNegativeInteger) -> Union(%,"failed")
---R ?.? : (%,Fraction %) -> Fraction % if R has INTDOM
---R elt : (Fraction %,R) -> R if R has FIELD
---R elt : (Fraction %,Fraction %) -> Fraction % if R has INTDOM
+--R ?.? : (%,Fraction(%)) -> Fraction(%) if R has INTDOM
+--R elt : (Fraction(%),R) -> R if R has FIELD
+--R elt : (Fraction(%),Fraction(%)) -> Fraction(%) if R has INTDOM
--R euclideanSize : % -> NonNegativeInteger if R has FIELD
---R eval : (%,List SingletonAsOrderedSet,List %) -> %
+--R eval : (%,List(SingletonAsOrderedSet),List(%)) -> %
--R eval : (%,SingletonAsOrderedSet,%) -> %
---R eval : (%,List SingletonAsOrderedSet,List R) -> %
+--R eval : (%,List(SingletonAsOrderedSet),List(R)) -> %
--R eval : (%,SingletonAsOrderedSet,R) -> %
---R expressIdealMember : (List %,%) -> Union(List %,"failed") if R has FIELD
+--R eval : (%,List(%),List(%)) -> %
+--R eval : (%,List(Equation(%))) -> %
+--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if R has FIELD
--R exquo : (%,%) -> Union(%,"failed") if R has INTDOM
--R exquo : (%,R) -> Union(%,"failed") if R has INTDOM
--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if R has FIELD
--R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if R has FIELD
---R factor : % -> Factored % if R has PFECAT
---R factorPolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT
---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT
+--R factor : % -> Factored(%) if R has PFECAT
+--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
+--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
--R fmecg : (%,NonNegativeInteger,R,%) -> %
--R gcd : (%,%) -> % if R has GCDDOM
---R gcd : List % -> % if R has GCDDOM
---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has GCDDOM
---R integrate : % -> % if R has ALGEBRA FRAC INT
+--R gcd : List(%) -> % if R has GCDDOM
+--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has GCDDOM
+--R integrate : % -> % if R has ALGEBRA(FRAC(INT))
--R isExpt : % -> Union(Record(var: SingletonAsOrderedSet,exponent: NonNegativeInteger),"failed")
---R isPlus : % -> Union(List %,"failed")
---R isTimes : % -> Union(List %,"failed")
+--R isPlus : % -> Union(List(%),"failed")
+--R isTimes : % -> Union(List(%),"failed")
--R karatsubaDivide : (%,NonNegativeInteger) -> Record(quotient: %,remainder: %)
--R lcm : (%,%) -> % if R has GCDDOM
---R lcm : List % -> % if R has GCDDOM
+--R lcm : List(%) -> % if R has GCDDOM
--R mainVariable : % -> Union(SingletonAsOrderedSet,"failed")
---R makeSUP : % -> SparseUnivariatePolynomial R
+--R makeSUP : % -> SparseUnivariatePolynomial(R)
--R mapExponents : ((NonNegativeInteger -> NonNegativeInteger),%) -> %
--R max : (%,%) -> % if R has ORDSET
--R min : (%,%) -> % if R has ORDSET
---R minimumDegree : (%,List SingletonAsOrderedSet) -> List NonNegativeInteger
+--R minimumDegree : (%,List(SingletonAsOrderedSet)) -> List(NonNegativeInteger)
--R minimumDegree : (%,SingletonAsOrderedSet) -> NonNegativeInteger
--R minimumDegree : % -> NonNegativeInteger
--R monicDivide : (%,%) -> Record(quotient: %,remainder: %)
--R monicDivide : (%,%,SingletonAsOrderedSet) -> Record(quotient: %,remainder: %)
---R monomial : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> %
+--R monomial : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> %
--R monomial : (%,SingletonAsOrderedSet,NonNegativeInteger) -> %
--R monomial : (R,NonNegativeInteger) -> %
---R multiEuclidean : (List %,%) -> Union(List %,"failed") if R has FIELD
+--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if R has FIELD
--R multiplyExponents : (%,NonNegativeInteger) -> %
---R multivariate : (SparseUnivariatePolynomial %,SingletonAsOrderedSet) -> %
---R multivariate : (SparseUnivariatePolynomial R,SingletonAsOrderedSet) -> %
+--R multivariate : (SparseUnivariatePolynomial(%),SingletonAsOrderedSet) -> %
+--R multivariate : (SparseUnivariatePolynomial(R),SingletonAsOrderedSet) -> %
--R nextItem : % -> Union(%,"failed") if R has STEP
--R numberOfMonomials : % -> NonNegativeInteger
--R order : (%,%) -> NonNegativeInteger if R has INTDOM
--R outputForm : (%,OutputForm) -> OutputForm
---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if SingletonAsOrderedSet has PATMAB INT and R has PATMAB INT
---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if SingletonAsOrderedSet has PATMAB FLOAT and R has PATMAB FLOAT
+--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if SingletonAsOrderedSet has PATMAB(INT) and R has PATMAB(INT)
+--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if SingletonAsOrderedSet has PATMAB(FLOAT) and R has PATMAB(FLOAT)
--R pomopo! : (%,R,NonNegativeInteger,%) -> %
--R prime? : % -> Boolean if R has PFECAT
+--R primitiveMonomials : % -> List(%)
--R primitivePart : (%,SingletonAsOrderedSet) -> % if R has GCDDOM
--R primitivePart : % -> % if R has GCDDOM
---R principalIdeal : List % -> Record(coef: List %,generator: %) if R has FIELD
+--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if R has FIELD
--R pseudoDivide : (%,%) -> Record(coef: R,quotient: %,remainder: %) if R has INTDOM
--R pseudoQuotient : (%,%) -> % if R has INTDOM
--R ?quo? : (%,%) -> % if R has FIELD
---R reducedSystem : Matrix % -> Matrix R
---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix R,vec: Vector R)
---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if R has LINEXP INT
---R reducedSystem : Matrix % -> Matrix Integer if R has LINEXP INT
+--R reducedSystem : Matrix(%) -> Matrix(R)
+--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(R),vec: Vector(R))
+--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if R has LINEXP(INT)
+--R reducedSystem : Matrix(%) -> Matrix(Integer) if R has LINEXP(INT)
--R ?rem? : (%,%) -> % if R has FIELD
--R resultant : (%,%) -> R if R has COMRING
--R resultant : (%,%,SingletonAsOrderedSet) -> % if R has COMRING
--R retract : % -> SingletonAsOrderedSet
---R retract : % -> Integer if R has RETRACT INT
---R retract : % -> Fraction Integer if R has RETRACT FRAC INT
+--R retract : % -> Integer if R has RETRACT(INT)
+--R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT))
--R retractIfCan : % -> Union(SingletonAsOrderedSet,"failed")
---R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT INT
---R retractIfCan : % -> Union(Fraction Integer,"failed") if R has RETRACT FRAC INT
+--R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT(INT)
+--R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has RETRACT(FRAC(INT))
--R retractIfCan : % -> Union(R,"failed")
--R separate : (%,%) -> Record(primePart: %,commonPart: %) if R has GCDDOM
--R shiftLeft : (%,NonNegativeInteger) -> %
--R shiftRight : (%,NonNegativeInteger) -> %
--R sizeLess? : (%,%) -> Boolean if R has FIELD
---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if R has PFECAT
---R squareFree : % -> Factored % if R has GCDDOM
+--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if R has PFECAT
+--R squareFree : % -> Factored(%) if R has GCDDOM
--R squareFreePart : % -> % if R has GCDDOM
---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT
+--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT
--R subResultantGcd : (%,%) -> % if R has INTDOM
--R subtractIfCan : (%,%) -> Union(%,"failed")
---R totalDegree : (%,List SingletonAsOrderedSet) -> NonNegativeInteger
+--R totalDegree : (%,List(SingletonAsOrderedSet)) -> NonNegativeInteger
--R totalDegree : % -> NonNegativeInteger
--R unit? : % -> Boolean if R has INTDOM
--R unitCanonical : % -> % if R has INTDOM
--R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if R has INTDOM
---R univariate : % -> SparseUnivariatePolynomial R
---R univariate : (%,SingletonAsOrderedSet) -> SparseUnivariatePolynomial %
---R unmakeSUP : SparseUnivariatePolynomial R -> %
---R variables : % -> List SingletonAsOrderedSet
---R vectorise : (%,NonNegativeInteger) -> Vector R
+--R univariate : % -> SparseUnivariatePolynomial(R)
+--R univariate : (%,SingletonAsOrderedSet) -> SparseUnivariatePolynomial(%)
+--R unmakeSUP : SparseUnivariatePolynomial(R) -> %
+--R variables : % -> List(SingletonAsOrderedSet)
+--R vectorise : (%,NonNegativeInteger) -> Vector(R)
--R
--E 1
@@ -122869,8 +122734,8 @@ SparseUnivariateTaylorSeries(Coef,var,cen): Exports == Implementation where
--R #? : % -> NonNegativeInteger if $ has finiteAggregate
--R ?*? : (PositiveInteger,%) -> % if S has ABELSG
--R ?*? : (NonNegativeInteger,%) -> % if S has CABMON
---R ?*? : (S,%) -> % if S has RING
---R ?*? : (%,S) -> % if S has RING
+--R ?*? : (S,%) -> % if S has MONOID
+--R ?*? : (%,S) -> % if S has MONOID
--R ?*? : (%,%) -> % if S has MONOID
--R ?*? : (Integer,%) -> % if S has RING
--R ?**? : (%,PositiveInteger) -> % if S has MONOID
@@ -140409,15 +140274,9 @@ Dx:F->F:=f+->D(f,['x])
--E 2
--S 3 of 33
-D0:=OREUP('d,F,1,Dx)
---R
+D0:=OREUP('d,F,1,Dx);
--R
---R (3)
---I UnivariateSkewPolynomial(d,Expression(Fraction(Integer)),R -> R,theMap(LAMBDA
---I -CLOSURE(NIL,NIL,NIL,G1393(envArg),SPADCALL(G1393,coerceOrCroak(CONS(QUOTE(Li
---I st(Variable(x))),wrap(LIST(QUOTE(x)))),QUOTE(List(Symbol)),QUOTE(*1;anonymous
---I Function;0;initial;internal)),ELT(*1;anonymousFunction;0;initial;internal;MV,
- 0)))))
+--R Type: Domain
--E 3
--S 4 of 33
@@ -140606,18 +140465,9 @@ DF:EXPR(INT)->EXPR(INT):=e+->eval(e,[n],[n+1])-e
--E 20
--S 21 of 33
-D0:=OREUP('D,EXPR(INT),morphism S,DF)
---R
+D0:=OREUP('D,EXPR(INT),morphism S,DF);
--R
---R (3)
---I UnivariateSkewPolynomial(D,Expression Integer,R -> R,theMap LAMBDA-CLOSURE(NI
---I L,NIL,NIL,G9384 envArg,SPADCALL(SPADCALL(G9384,coerceOrCroak(CONS(QUOTE List
---I Variable n,wrap LIST QUOTE n),QUOTE List Expression Integer,QUOTE *1;anonymou
---I sFunction;9;frame0;internal),coerceOrCroak(CONS(QUOTE List Polynomial Integer
---I ,wrap LIST SPADCALL(QUOTE 1(n,1 0),QUOTE 0,ELT(*1;anonymousFunction;9;frame0;
---I internal;MV,0))),QUOTE List Expression Integer,QUOTE *1;anonymousFunction;9;f
---I rame0;internal),ELT(*1;anonymousFunction;9;frame0;internal;MV,1)),G9384,ELT(*
---I 1;anonymousFunction;9;frame0;internal;MV,2))))
+--R Type: Domain
--E 21
--S 22 of 33
@@ -140674,16 +140524,9 @@ delta:R->R:=r+->y*r-r*y
--E 28
--S 29 of 33
-S:=OREUP('x,R,1,delta)
---R
+S:=OREUP('x,R,1,delta);
--R
---R (4)
---I UnivariateSkewPolynomial(x,SquareMatrix(2,Integer),R -> R,theMap(LAMBDA-CLOSU
---I RE(NIL,NIL,NIL,G1461(envArg),SPADCALL(SPADCALL(getValueFromEnvironment(QUOTE(
---I y),QUOTE(SquareMatrix(2,Integer))),G1461,ELT(*1;anonymousFunction;3;initial;i
---I nternal;MV,0)),SPADCALL(G1461,getValueFromEnvironment(QUOTE(y),QUOTE(SquareMa
---I trix(2,Integer))),ELT(*1;anonymousFunction;3;initial;internal;MV,0)),ELT(*1;a
---I nonymousFunction;3;initial;internal;MV,1)))))
+--R Type: Domain
--E 29
--S 30 of 33
@@ -142472,18 +142315,19 @@ UniversalSegment(S: Type): SegmentCategory(S) with
--S 1 of 1
)show U8Matrix
+--R
--R U8Matrix is a domain constructor
--R Abbreviation for U8Matrix is U8MAT
--R This constructor is exposed in this frame.
---R Issue )edit /tmp/ta.spad to see algebra source code for U8MAT
+--R Issue )edit bookvol10.3.pamphlet to see algebra source code for U8MAT
--R
--R------------------------------- Operations --------------------------------
---R ?*? : (U8Vector,%) -> U8Vector ?*? : (%,U8Vector) -> U8Vector
+--R ?*? : (U8Vector,%) -> U8Vector ?*? : (%,U8Vector) -> U8Vector
--R ?*? : (Integer,%) -> % ?*? : (%,Integer) -> %
--R ?*? : (Integer,%) -> % ?*? : (%,%) -> %
--R ?+? : (%,%) -> % -? : % -> %
--R ?-? : (%,%) -> % antisymmetric? : % -> Boolean
---R coerce : U8Vector -> % column : (%,Integer) -> U8Vector
+--R coerce : U8Vector -> % column : (%,Integer) -> U8Vector
--R copy : % -> % diagonal? : % -> Boolean
--R diagonalMatrix : List(%) -> % empty : () -> %
--R empty? : % -> Boolean eq? : (%,%) -> Boolean
@@ -142719,7 +142563,7 @@ U8Matrix : MatrixCategory(Integer,
--R U16Matrix is a domain constructor
--R Abbreviation for U16Matrix is U16MAT
--R This constructor is exposed in this frame.
---R Issue )edit /tmp/ta.spad to see algebra source code for U16MAT
+--R Issue )edit bookvol10.3.pamphlet to see algebra source code for U16MAT
--R
--R------------------------------- Operations --------------------------------
--R ?*? : (U16Vector,%) -> U16Vector ?*? : (%,U16Vector) -> U16Vector
@@ -142963,7 +142807,7 @@ U16Matrix : MatrixCategory(Integer,
--R U32Matrix is a domain constructor
--R Abbreviation for U32Matrix is U32MAT
--R This constructor is exposed in this frame.
---R Issue )edit /tmp/ta.spad to see algebra source code for U32MAT
+--R Issue )edit bookvol10.3.pamphlet to see algebra source code for U32MAT
--R
--R------------------------------- Operations --------------------------------
--R ?*? : (U32Vector,%) -> U32Vector ?*? : (%,U32Vector) -> U32Vector
@@ -143206,14 +143050,14 @@ U32Matrix : MatrixCategory(Integer,
t1:=empty()$U8Vector
--R
--R (1) []
---R Type: U8Vector
+--R Type: U8Vector
--E 1
--S 2 of 12
t2:=new(10,10)$U8Vector
--R
--R (2) [10,10,10,10,10,10,10,10,10,10]
---R Type: U8Vector
+--R Type: U8Vector
--E 2
--S 3 of 12
@@ -143276,7 +143120,7 @@ t2.3
t8:=fill!(t2,7)
--R
--R (11) [7,7,7,7,7,7,7,7,7,7]
---R Type: U8Vector
+--R Type: U8Vector
--E 11
--S 12 of 12
diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index ac95d36..e27dbe5 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -4394,6 +4394,7 @@ AnyFunctions1(S:Type): with
)clear all
--S 1 of 6
getDomains 'Collection
+--R
--R
--R (1)
--R {AssociationList, Bits, CharacterClass, ComplexDoubleFloatVector, DataList,
@@ -4405,12 +4406,13 @@ getDomains 'Collection
--R OneDimensionalArray, Point, PrimitiveArray, RegularChain,
--R RegularTriangularSet, Result, RoutinesTable, Set, SparseTable,
--R SquareFreeRegularTriangularSet, Stream, String, StringTable, Table,
---R U32Vector, Vector, WuWenTsunTriangularSet}
+--R U16Vector, U32Vector, U8Vector, Vector, WuWenTsunTriangularSet}
--R Type: Set(Symbol)
--E 1
--S 2 of 6
difference(getDomains 'IndexedAggregate,getDomains 'Collection)
+--R
--R
--R (2)
--R {DirectProduct, DirectProductMatrixModule, DirectProductModule,
@@ -4425,16 +4427,15 @@ credits()
--RAn alphabetical listing of contributors to AXIOM:
--RMichael Albaugh Cyril Alberga Roy Adler
--RChristian Aistleitner Richard Anderson George Andrews
---RS.J. Atkins
+--RS.J. Atkins
--RHenry Baker Martin Baker Stephen Balzac
--RYurij Baransky David R. Barton Gerald Baumgartner
--RGilbert Baumslag Michael Becker Nelson H. F. Beebe
--RJay Belanger David Bindel Fred Blair
---RVladimir Bondarenko Mark Botch Raoul Bourquin
---RAlexandre Bouyer Karen Braman Peter A. Broadbery
---RMartin Brock Manuel Bronstein Stephen Buchwald
---RFlorian Bundschuh Luanne Burns William Burge
---RRalph Byers
+--RVladimir Bondarenko Mark Botch Alexandre Bouyer
+--RKaren Braman Peter A. Broadbery Martin Brock
+--RManuel Bronstein Stephen Buchwald Florian Bundschuh
+--RLuanne Burns William Burge Ralph Byers
--RQuentin Carpent Robert Caviness Bruce Char
--ROndrej Certik Tzu-Yi Chen Cheekai Chin
--RDavid V. Chudnovsky Gregory V. Chudnovsky Mark Clements
@@ -4456,7 +4457,7 @@ credits()
--RKorrinn Fu
--RMarc Gaetano Rudiger Gebauer Van de Geijn
--RKathy Gerber Patricia Gianni Samantha Goldrich
---RHolger Gollan Teresa Gomez-Diaz Laureano Gonzalez-Vega
+--RHolger Gollan Teresa Gomez-Diaz Laureano Gonzalez-Vega
--RStephen Gortler Johannes Grabmeier Matt Grayson
--RKlaus Ebbe Grue James Griesmer Vladimir Grinberg
--ROswald Gschnitzer Ming Gu Jocelyn Guidry
@@ -4486,7 +4487,7 @@ credits()
--RJohn Nelder Godfrey Nolan Arthur Norman
--RJinzhong Niu
--RMichael O'Connor Summat Oemrawsingh Kostas Oikonomou
---RHumberto Ortiz-Zuazaga
+--RHumberto Ortiz-Zuazaga
--RJulian A. Padget Bill Page David Parnas
--RSusan Pelzel Michel Petitot Didier Pinchon
--RAyal Pinkus Frederick H. Pitts Jose Alfredo Portes
@@ -4542,13 +4543,15 @@ summary()
--R------------------------------- Operations --------------------------------
--R credits : () -> Void getDomains : Symbol -> Set(Symbol)
--R summary : () -> Void
+--R getAncestors : Symbol -> Set(Symbol)
--R
--E 5
---S 1 of 5
+--S 6 of 6
getAncestors 'IndexedAggregate
+--R
--R
---R (3)
+--R (5)
--R {Aggregate, BasicType, CoercibleTo, Eltable, EltableAggregate, Evalable,
--R HomogeneousAggregate, InnerEvalable, SetCategory, Type}
--R Type: Set(Symbol)
@@ -131363,7 +131366,8 @@ OutputPackage: with
--S 1 of 1
)show PackageForAlgebraicFunctionField
---R PackageForAlgebraicFunctionField(K: Field,symb: List Symbol,BLMET: BlowUpMethodCategory) is a package constructor
+--R
+--R PackageForAlgebraicFunctionField(K: Field,symb: List(Symbol),BLMET: BlowUpMethodCategory) is a package constructor
--R Abbreviation for PackageForAlgebraicFunctionField is PAFF
--R This constructor is exposed in this frame.
--R Issue )edit bookvol10.4.pamphlet to see algebra source code for PAFF
@@ -131371,42 +131375,42 @@ OutputPackage: with
--R------------------------------- Operations --------------------------------
--R fullDesTree : () -> Void fullInfClsPt : () -> Void
--R genus : () -> NonNegativeInteger genusNeg : () -> Integer
---R LPolynomial : () -> SparseUnivariatePolynomial Integer if K has FINITE
---R LPolynomial : PositiveInteger -> SparseUnivariatePolynomial Integer if K has FINITE
+--R LPolynomial : () -> SparseUnivariatePolynomial(Integer) if K has FINITE
+--R LPolynomial : PositiveInteger -> SparseUnivariatePolynomial(Integer) if K has FINITE
--R ZetaFunction : () -> UnivariateTaylorSeriesCZero(Integer,t) if K has FINITE
--R ZetaFunction : PositiveInteger -> UnivariateTaylorSeriesCZero(Integer,t) if K has FINITE
---R adjunctionDivisor : () -> Divisor Places K
+--R adjunctionDivisor : () -> Divisor(Places(K))
--R classNumber : () -> Integer if K has FINITE
---R desingTree : () -> List DesingTree InfClsPt(K,symb,BLMET)
---R desingTreeWoFullParam : () -> List DesingTree InfClsPt(K,symb,BLMET)
---R eval : (DistributedMultivariatePolynomial(symb,K),Places K) -> K
---R eval : (DistributedMultivariatePolynomial(symb,K),DistributedMultivariatePolynomial(symb,K),Places K) -> K
---R eval : (Fraction DistributedMultivariatePolynomial(symb,K),Places K) -> K
---R evalIfCan : (DistributedMultivariatePolynomial(symb,K),Places K) -> Union(K,"failed")
---R evalIfCan : (DistributedMultivariatePolynomial(symb,K),DistributedMultivariatePolynomial(symb,K),Places K) -> Union(K,"failed")
---R evalIfCan : (Fraction DistributedMultivariatePolynomial(symb,K),Places K) -> Union(K,"failed")
---R findOrderOfDivisor : (Divisor Places K,Integer,Integer) -> Record(ord: Integer,num: DistributedMultivariatePolynomial(symb,K),den: DistributedMultivariatePolynomial(symb,K),upTo: Integer)
---R goppaCode : (Divisor Places K,Divisor Places K) -> Matrix K
---R goppaCode : (Divisor Places K,List Places K) -> Matrix K
+--R desingTree : () -> List(DesingTree(InfClsPt(K,symb,BLMET)))
+--R desingTreeWoFullParam : () -> List(DesingTree(InfClsPt(K,symb,BLMET)))
+--R eval : (DistributedMultivariatePolynomial(symb,K),Places(K)) -> K
+--R eval : (DistributedMultivariatePolynomial(symb,K),DistributedMultivariatePolynomial(symb,K),Places(K)) -> K
+--R eval : (Fraction(DistributedMultivariatePolynomial(symb,K)),Places(K)) -> K
+--R evalIfCan : (DistributedMultivariatePolynomial(symb,K),Places(K)) -> Union(K,"failed")
+--R evalIfCan : (DistributedMultivariatePolynomial(symb,K),DistributedMultivariatePolynomial(symb,K),Places(K)) -> Union(K,"failed")
+--R evalIfCan : (Fraction(DistributedMultivariatePolynomial(symb,K)),Places(K)) -> Union(K,"failed")
+--R findOrderOfDivisor : (Divisor(Places(K)),Integer,Integer) -> Record(ord: Integer,num: DistributedMultivariatePolynomial(symb,K),den: DistributedMultivariatePolynomial(symb,K),upTo: Integer)
+--R goppaCode : (Divisor(Places(K)),Divisor(Places(K))) -> Matrix(K)
+--R goppaCode : (Divisor(Places(K)),List(Places(K))) -> Matrix(K)
--R homogenize : (DistributedMultivariatePolynomial(symb,K),Integer) -> DistributedMultivariatePolynomial(symb,K)
---R interpolateForms : (Divisor Places K,NonNegativeInteger) -> List DistributedMultivariatePolynomial(symb,K)
---R interpolateFormsForFact : (Divisor Places K,List DistributedMultivariatePolynomial(symb,K)) -> List DistributedMultivariatePolynomial(symb,K)
---R intersectionDivisor : DistributedMultivariatePolynomial(symb,K) -> Divisor Places K
---R lBasis : (Divisor Places K,NonNegativeInteger) -> List Fraction DistributedMultivariatePolynomial(symb,K)
---R lBasis : Divisor Places K -> Record(num: List DistributedMultivariatePolynomial(symb,K),den: DistributedMultivariatePolynomial(symb,K))
+--R interpolateForms : (Divisor(Places(K)),NonNegativeInteger) -> List(DistributedMultivariatePolynomial(symb,K))
+--R interpolateFormsForFact : (Divisor(Places(K)),List(DistributedMultivariatePolynomial(symb,K))) -> List(DistributedMultivariatePolynomial(symb,K))
+--R intersectionDivisor : DistributedMultivariatePolynomial(symb,K) -> Divisor(Places(K))
+--R lBasis : (Divisor(Places(K)),NonNegativeInteger) -> List(Fraction(DistributedMultivariatePolynomial(symb,K)))
+--R lBasis : Divisor(Places(K)) -> Record(num: List(DistributedMultivariatePolynomial(symb,K)),den: DistributedMultivariatePolynomial(symb,K))
--R numberOfPlacesOfDegree : PositiveInteger -> Integer if K has FINITE
--R numberPlacesDegExtDeg : (PositiveInteger,PositiveInteger) -> Integer if K has FINITE
--R numberRatPlacesExtDeg : PositiveInteger -> Integer if K has FINITE
---R parametrize : (DistributedMultivariatePolynomial(symb,K),Places K) -> NeitherSparseOrDensePowerSeries K
---R placesAbove : ProjectivePlane K -> List Places K
---R placesOfDegree : PositiveInteger -> List Places K if K has FINITE
---R pointDominateBy : Places K -> ProjectivePlane K
---R projectivePoint : List K -> ProjectivePlane K
---R rationalPlaces : () -> List Places K
---R rationalPoints : () -> List ProjectivePlane K
+--R parametrize : (DistributedMultivariatePolynomial(symb,K),Places(K)) -> NeitherSparseOrDensePowerSeries(K)
+--R placesAbove : ProjectivePlane(K) -> List(Places(K))
+--R placesOfDegree : PositiveInteger -> List(Places(K)) if K has FINITE
+--R pointDominateBy : Places(K) -> ProjectivePlane(K)
+--R projectivePoint : List(K) -> ProjectivePlane(K)
+--R rationalPlaces : () -> List(Places(K))
+--R rationalPoints : () -> List(ProjectivePlane(K))
--R setCurve : DistributedMultivariatePolynomial(symb,K) -> DistributedMultivariatePolynomial(symb,K)
---R setSingularPoints : List ProjectivePlane K -> List ProjectivePlane K
---R singularPoints : () -> List ProjectivePlane K
+--R setSingularPoints : List(ProjectivePlane(K)) -> List(ProjectivePlane(K))
+--R singularPoints : () -> List(ProjectivePlane(K))
--R theCurve : () -> DistributedMultivariatePolynomial(symb,K)
--R
--E 1
@@ -131767,7 +131771,8 @@ PackageForAlgebraicFunctionField(K,symb,BLMET):Exports == Implementation where
--S 1 of 1
)show PackageForAlgebraicFunctionFieldOverFiniteField
---R PackageForAlgebraicFunctionFieldOverFiniteField(K: FiniteFieldCategory,symb: List Symbol,BLMET: BlowUpMethodCategory) is a package constructor
+--R
+--R PackageForAlgebraicFunctionFieldOverFiniteField(K: FiniteFieldCategory,symb: List(Symbol),BLMET: BlowUpMethodCategory) is a package constructor
--R Abbreviation for PackageForAlgebraicFunctionFieldOverFiniteField is PAFFFF
--R This constructor is exposed in this frame.
--R Issue )edit bookvol10.4.pamphlet to see algebra source code for PAFFFF
@@ -131775,44 +131780,44 @@ PackageForAlgebraicFunctionField(K,symb,BLMET):Exports == Implementation where
--R------------------------------- Operations --------------------------------
--R fullDesTree : () -> Void fullInfClsPt : () -> Void
--R genus : () -> NonNegativeInteger genusNeg : () -> Integer
---R LPolynomial : () -> SparseUnivariatePolynomial Integer if PseudoAlgebraicClosureOfFiniteField K has FINITE
---R LPolynomial : PositiveInteger -> SparseUnivariatePolynomial Integer if PseudoAlgebraicClosureOfFiniteField K has FINITE
---R ZetaFunction : () -> UnivariateTaylorSeriesCZero(Integer,t) if PseudoAlgebraicClosureOfFiniteField K has FINITE
---R ZetaFunction : PositiveInteger -> UnivariateTaylorSeriesCZero(Integer,t) if PseudoAlgebraicClosureOfFiniteField K has FINITE
---R adjunctionDivisor : () -> Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K
---R classNumber : () -> Integer if PseudoAlgebraicClosureOfFiniteField K has FINITE
---R desingTree : () -> List DesingTree InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField(K,symb,BLMET)
---R desingTreeWoFullParam : () -> List DesingTree InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField(K,symb,BLMET)
---R eval : (DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField K) -> K
---R eval : (DistributedMultivariatePolynomial(symb,K),DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField K) -> K
---R eval : (Fraction DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField K) -> K
---R evalIfCan : (DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField K) -> Union(K,"failed")
---R evalIfCan : (DistributedMultivariatePolynomial(symb,K),DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField K) -> Union(K,"failed")
---R evalIfCan : (Fraction DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField K) -> Union(K,"failed")
---R findOrderOfDivisor : (Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K,Integer,Integer) -> Record(ord: Integer,num: DistributedMultivariatePolynomial(symb,K),den: DistributedMultivariatePolynomial(symb,K),upTo: Integer)
---R goppaCode : (Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K,Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K) -> Matrix K
---R goppaCode : (Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K,List PlacesOverPseudoAlgebraicClosureOfFiniteField K) -> Matrix K
+--R LPolynomial : () -> SparseUnivariatePolynomial(Integer) if PseudoAlgebraicClosureOfFiniteField(K) has FINITE
+--R LPolynomial : PositiveInteger -> SparseUnivariatePolynomial(Integer) if PseudoAlgebraicClosureOfFiniteField(K) has FINITE
+--R ZetaFunction : () -> UnivariateTaylorSeriesCZero(Integer,t) if PseudoAlgebraicClosureOfFiniteField(K) has FINITE
+--R ZetaFunction : PositiveInteger -> UnivariateTaylorSeriesCZero(Integer,t) if PseudoAlgebraicClosureOfFiniteField(K) has FINITE
+--R adjunctionDivisor : () -> Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K))
+--R classNumber : () -> Integer if PseudoAlgebraicClosureOfFiniteField(K) has FINITE
+--R desingTree : () -> List(DesingTree(InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField(K,symb,BLMET)))
+--R desingTreeWoFullParam : () -> List(DesingTree(InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField(K,symb,BLMET)))
+--R eval : (DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField(K)) -> K
+--R eval : (DistributedMultivariatePolynomial(symb,K),DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField(K)) -> K
+--R eval : (Fraction(DistributedMultivariatePolynomial(symb,K)),PlacesOverPseudoAlgebraicClosureOfFiniteField(K)) -> K
+--R evalIfCan : (DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField(K)) -> Union(K,"failed")
+--R evalIfCan : (DistributedMultivariatePolynomial(symb,K),DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField(K)) -> Union(K,"failed")
+--R evalIfCan : (Fraction(DistributedMultivariatePolynomial(symb,K)),PlacesOverPseudoAlgebraicClosureOfFiniteField(K)) -> Union(K,"failed")
+--R findOrderOfDivisor : (Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K)),Integer,Integer) -> Record(ord: Integer,num: DistributedMultivariatePolynomial(symb,K),den: DistributedMultivariatePolynomial(symb,K),upTo: Integer)
+--R goppaCode : (Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K)),Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K))) -> Matrix(K)
+--R goppaCode : (Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K)),List(PlacesOverPseudoAlgebraicClosureOfFiniteField(K))) -> Matrix(K)
--R homogenize : (DistributedMultivariatePolynomial(symb,K),Integer) -> DistributedMultivariatePolynomial(symb,K)
---R interpolateForms : (Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K,NonNegativeInteger) -> List DistributedMultivariatePolynomial(symb,K)
---R interpolateFormsForFact : (Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K,List DistributedMultivariatePolynomial(symb,K)) -> List DistributedMultivariatePolynomial(symb,PseudoAlgebraicClosureOfFiniteField K)
---R intersectionDivisor : DistributedMultivariatePolynomial(symb,K) -> Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K
---R lBasis : (Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K,NonNegativeInteger) -> List Fraction DistributedMultivariatePolynomial(symb,K)
---R lBasis : Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K -> Record(num: List DistributedMultivariatePolynomial(symb,K),den: DistributedMultivariatePolynomial(symb,K))
---R numberOfPlacesOfDegree : PositiveInteger -> Integer if PseudoAlgebraicClosureOfFiniteField K has FINITE
---R numberPlacesDegExtDeg : (PositiveInteger,PositiveInteger) -> Integer if PseudoAlgebraicClosureOfFiniteField K has FINITE
---R numberRatPlacesExtDeg : PositiveInteger -> Integer if PseudoAlgebraicClosureOfFiniteField K has FINITE
---R parametrize : (DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField K) -> NeitherSparseOrDensePowerSeries PseudoAlgebraicClosureOfFiniteField K
---R placesAbove : ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K -> List PlacesOverPseudoAlgebraicClosureOfFiniteField K
---R placesOfDegree : PositiveInteger -> List PlacesOverPseudoAlgebraicClosureOfFiniteField K if PseudoAlgebraicClosureOfFiniteField K has FINITE
---R pointDominateBy : PlacesOverPseudoAlgebraicClosureOfFiniteField K -> ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K
---R projectivePoint : List PseudoAlgebraicClosureOfFiniteField K -> ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K
---R rationalPlaces : () -> List PlacesOverPseudoAlgebraicClosureOfFiniteField K
---R rationalPoints : () -> List ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K
+--R interpolateForms : (Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K)),NonNegativeInteger) -> List(DistributedMultivariatePolynomial(symb,K))
+--R interpolateFormsForFact : (Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K)),List(DistributedMultivariatePolynomial(symb,K))) -> List(DistributedMultivariatePolynomial(symb,PseudoAlgebraicClosureOfFiniteField(K)))
+--R intersectionDivisor : DistributedMultivariatePolynomial(symb,K) -> Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K))
+--R lBasis : (Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K)),NonNegativeInteger) -> List(Fraction(DistributedMultivariatePolynomial(symb,K)))
+--R lBasis : Divisor(PlacesOverPseudoAlgebraicClosureOfFiniteField(K)) -> Record(num: List(DistributedMultivariatePolynomial(symb,K)),den: DistributedMultivariatePolynomial(symb,K))
+--R numberOfPlacesOfDegree : PositiveInteger -> Integer if PseudoAlgebraicClosureOfFiniteField(K) has FINITE
+--R numberPlacesDegExtDeg : (PositiveInteger,PositiveInteger) -> Integer if PseudoAlgebraicClosureOfFiniteField(K) has FINITE
+--R numberRatPlacesExtDeg : PositiveInteger -> Integer if PseudoAlgebraicClosureOfFiniteField(K) has FINITE
+--R parametrize : (DistributedMultivariatePolynomial(symb,K),PlacesOverPseudoAlgebraicClosureOfFiniteField(K)) -> NeitherSparseOrDensePowerSeries(PseudoAlgebraicClosureOfFiniteField(K))
+--R placesAbove : ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K) -> List(PlacesOverPseudoAlgebraicClosureOfFiniteField(K))
+--R placesOfDegree : PositiveInteger -> List(PlacesOverPseudoAlgebraicClosureOfFiniteField(K)) if PseudoAlgebraicClosureOfFiniteField(K) has FINITE
+--R pointDominateBy : PlacesOverPseudoAlgebraicClosureOfFiniteField(K) -> ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K)
+--R projectivePoint : List(PseudoAlgebraicClosureOfFiniteField(K)) -> ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K)
+--R rationalPlaces : () -> List(PlacesOverPseudoAlgebraicClosureOfFiniteField(K))
+--R rationalPoints : () -> List(ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K))
--R setCurve : DistributedMultivariatePolynomial(symb,K) -> DistributedMultivariatePolynomial(symb,K)
---R setSingularPoints : List ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K -> List ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K
---R singularPoints : () -> List ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K
+--R setSingularPoints : List(ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K)) -> List(ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K))
+--R singularPoints : () -> List(ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K))
--R theCurve : () -> DistributedMultivariatePolynomial(symb,K)
---R translateToOrigin : (DistributedMultivariatePolynomial(symb,K),ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K) -> DistributedMultivariatePolynomial(symb,PseudoAlgebraicClosureOfFiniteField K)
+--R translateToOrigin : (DistributedMultivariatePolynomial(symb,K),ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K)) -> DistributedMultivariatePolynomial(symb,PseudoAlgebraicClosureOfFiniteField(K))
--R
--E 1
@@ -170207,89 +170212,115 @@ ViewDefaultsPackage():Exports == Implementation where
-- need not worry about case of letters
Exports ==> with
+
pointColorDefault : () -> PAL
++ pointColorDefault() returns the default color of points in a 2D
++ viewport.
+
pointColorDefault : PAL -> PAL
++ pointColorDefault(p) sets the default color of points in a 2D viewport
++ to the palette p.
+
lineColorDefault : () -> PAL
++ lineColorDefault() returns the default color of lines connecting
++ points in a 2D viewport.
+
lineColorDefault : PAL -> PAL
++ lineColorDefault(p) sets the default color of lines connecting points
++ in a 2D viewport to the palette p.
+
axesColorDefault : () -> PAL
++ axesColorDefault() returns the default color of the axes in a
++ 2D viewport.
+
axesColorDefault : PAL -> PAL
++ axesColorDefault(p) sets the default color of the axes in a 2D
++ viewport to the palette p.
+
unitsColorDefault : () -> PAL
++ unitsColorDefault() returns the default color of the unit ticks in
++ a 2D viewport.
+
unitsColorDefault : PAL -> PAL
++ unitsColorDefault(p) sets the default color of the unit ticks in
++ a 2D viewport to the palette p.
+
pointSizeDefault : () -> PI
++ pointSizeDefault() returns the default size of the points in
++ a 2D viewport.
+
pointSizeDefault : PI -> PI
++ pointSizeDefault(i) sets the default size of the points in a 2D
++ viewport to i.
+
viewPosDefault : () -> L NNI
++ viewPosDefault() returns the default x and y position of a
++ viewport window unless overriden explicityly, newly created
- ++ viewports will have this X and Y coordinate.
+ ++ viewports will have this x and y coordinate.
+
viewPosDefault : L NNI -> L NNI
++ viewPosDefault([x,y]) sets the default x and y position of a
++ viewport window unless overriden explicityly, newly created
++ viewports will have th X and Y coordinates x, y.
+
viewSizeDefault : () -> L PI
++ viewSizeDefault() returns the default viewport width and height.
+
viewSizeDefault : L PI -> L PI
++ viewSizeDefault([w,h]) sets the default viewport width to w and height
++ to h.
+
viewDefaults : () -> Void
++ viewDefaults() resets all the default graphics settings.
+
viewWriteDefault : () -> L S
++ viewWriteDefault() returns the list of things to write in a viewport
++ data file; a viewalone file is always generated.
+
viewWriteDefault : L S -> L S
++ viewWriteDefault(l) sets the default list of things to write in a
++ viewport data file to the strings in l; a viewalone file is always
++ genereated.
+
viewWriteAvailable : () -> L S
++ viewWriteAvailable() returns a list of available methods for writing,
++ such as BITMAP, POSTSCRIPT, etc.
+
var1StepsDefault : () -> PI
++ var1StepsDefault() is the current setting for the number of steps to
++ take when creating a 3D mesh in the direction of the first defined
++ free variable (a free variable is considered defined when its
++ range is specified (e.g. x=0..10)).
+
var2StepsDefault : () -> PI
++ var2StepsDefault() is the current setting for the number of steps to
++ take when creating a 3D mesh in the direction of the first defined
++ free variable (a free variable is considered defined when its
++ range is specified (e.g. x=0..10)).
+
var1StepsDefault : PI -> PI
++ var1StepsDefault(i) sets the number of steps to take when creating a
++ 3D mesh in the direction of the first defined free variable to i
++ (a free variable is considered defined when its range is specified
++ (e.g. x=0..10)).
+
var2StepsDefault : PI -> PI
++ var2StepsDefault(i) sets the number of steps to take when creating a
++ 3D mesh in the direction of the first defined free variable to i
++ (a free variable is considered defined when its range is specified
++ (e.g. x=0..10)).
+
tubePointsDefault : PI -> PI
++ tubePointsDefault(i) sets the number of points to use when creating
++ the circle to be used in creating a 3D tube plot to i.
+
tubePointsDefault : () -> PI
++ tubePointsDefault() returns the number of points to be used when
++ creating the circle to be used in creating a 3D tube plot.
+
tubeRadiusDefault : Float -> SF -- current tube.spad asks for SF
++ tubeRadiusDefault(r) sets the default radius for a 3D tube plot to r.
+
tubeRadiusDefault : () -> SF
++ tubeRadiusDefault() returns the radius used for a 3D tube plot.
@@ -172137,7 +172168,7 @@ lts := triangSolve(lf)$pack
--S 21 of 28
univariateSolve(lf)$pack
---R
+--R
--R
--R (21)
--R [[complexRoots= ?,coordinates= [x - 1,y - 1,z + 1,t - %A]],
@@ -172271,7 +172302,7 @@ univariateSolve(lf)$pack
--S 22 of 28
ts := lts.1
---R
+--R
--R
--R (22)
--R 2 3 3
diff --git a/buglist b/buglist
index 81d466a..b7da48e 100644
--- a/buglist
+++ b/buglist
@@ -19,15 +19,6 @@ nonextend 60077:
[2] +: endcell has no value
=========================================================================
-bug 7236:
-
-)show ELTAB
- Eltable(S: SetCategory,Index: Type) is a category constructor
- Abbreviation for Eltable is ELTAB
- This constructor is exposed in this frame.
- Issue )edit NIL to see algebra source code for ELTAB
-
-=========================================================================
warnings 20571:
>compiling INBFF.spad to INBFF.nrlib
@@ -40495,3 +40486,13 @@ typos 40322:
--->bookvol10.2.pamphlet-->StackAggregate((depth ((NonNegativeInteger) %))): Improper first word in comments:
"\\indented{1}{depth(s) returns the number of elements of stack \\spad{s.}} \\indented{1}{Note that \\axiom{depth(s) = \\#s}.} \\blankline \\spad{X} a:Stack INT:= stack [1,2,3,4,5] \\spad{X} depth a"
+fixed 20130319.02.tpd.patch
+=========================================================================
+bug 7236:
+
+)show ELTAB
+ Eltable(S: SetCategory,Index: Type) is a category constructor
+ Abbreviation for Eltable is ELTAB
+ This constructor is exposed in this frame.
+ Issue )edit NIL to see algebra source code for ELTAB
+
diff --git a/changelog b/changelog
index 8228788..8231e4e 100644
--- a/changelog
+++ b/changelog
@@ -1,4 +1,28 @@
-20130318 tpd src/axiom-website/patches.html 20130319.01.tpd.patch
+20130319 tpd src/axiom-website/patches.html 20130319.02.tpd.patch
+20130319 tpd buglist fix 7236
+20130319 tpd books/bookvol10.2 cleanup
+20130319 tpd books/bookvol10.3 cleanup
+20130319 tpd books/bookvol10.4 cleanup
+20130319 tpd src/input/classtalk.input cleanup
+20130319 tpd src/input/cmds.input cleanup
+20130319 tpd src/input/dop.input cleanup
+20130319 tpd src/input/en.input cleanup
+20130319 tpd src/input/nonlinhomodiffeq.input cleanup
+20130319 tpd src/input/paff.input cleanup
+20130319 tpd src/input/paffexample.input cleanup
+20130319 tpd src/input/r20bugs.input cleanup
+20130319 tpd src/input/richhyper000-099.input cleanup
+20130319 tpd src/input/richhyper100-199.input cleanup
+20130319 tpd src/input/richhyper1000-1098.input cleanup
+20130319 tpd src/input/richhyper200-299.input cleanup
+20130319 tpd src/input/richhyper300-399.input cleanup
+20130319 tpd src/input/richhyper400-499.input cleanup
+20130319 tpd src/input/richhyper900-999.input cleanup
+20130319 tpd src/input/richinvhyper000-099.input cleanup
+20130319 tpd src/input/richinvhyper100-199.input cleanup
+20130319 tpd src/input/richtrig000-099.input cleanup
+20130319 tpd src/input/richtrig100-199.input cleanup
+20130319 tpd src/axiom-website/patches.html 20130319.01.tpd.patch
20130319 tpd src/input/unittest2.input fix broken tests
20130319 tpd src/input/test.input fix broken tests
20130319 tpd src/input/schaum33.input fix broken tests
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 7f947a9..98c3388 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4105,5 +4105,7 @@ books/bookvol10.4 add MatrixManipulation
books/bookvol10.2, bookvol10.3 fix typos
20130319.01.tpd.patch
fix broken tests
+20130319.02.tpd.patch
+regression test cleaup