diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet index 0628cec..6cd581b 100644 --- a/books/bookvol10.2.pamphlet +++ b/books/bookvol10.2.pamphlet @@ -836,7 +836,8 @@ digraph pic { --S 1 of 1 )show CoercibleTo ---R CoercibleTo S: Type is a category constructor +--R +--R CoercibleTo(S: Type) is a category constructor --R Abbreviation for CoercibleTo is KOERCE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for KOERCE @@ -1051,7 +1052,8 @@ digraph pic { --S 1 of 1 )show ConvertibleTo ---R ConvertibleTo S: Type is a category constructor +--R +--R ConvertibleTo(S: Type) is a category constructor --R Abbreviation for ConvertibleTo is KONVERT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for KONVERT @@ -1557,13 +1559,14 @@ digraph pic { --S 1 of 1 )show InnerEvalable +--R --R InnerEvalable(A: SetCategory,B: Type) is a category constructor --R Abbreviation for InnerEvalable is IEVALAB --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for IEVALAB --R --R------------------------------- Operations -------------------------------- ---R eval : (%,A,B) -> % eval : (%,List A,List B) -> % +--R eval : (%,A,B) -> % eval : (%,List(A),List(B)) -> % --R --E 1 @@ -1810,7 +1813,8 @@ digraph pic { --S 1 of 1 )show PartialTranscendentalFunctions ---R PartialTranscendentalFunctions K: TranscendentalFunctionCategory is a category constructor +--R +--R PartialTranscendentalFunctions(K: TranscendentalFunctionCategory) is a category constructor --R Abbreviation for PartialTranscendentalFunctions is PTRANFN --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PTRANFN @@ -2049,14 +2053,15 @@ digraph pic { --S 1 of 1 )show Patternable ---R Patternable R: Type is a category constructor +--R +--R Patternable(R: Type) is a category constructor --R Abbreviation for Patternable is PATAB --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PATAB --R --R------------------------------- Operations -------------------------------- ---R convert : % -> Pattern Integer if R has KONVERT PATTERN INT ---R convert : % -> Pattern Float if R has KONVERT PATTERN FLOAT +--R convert : % -> Pattern(Integer) if R has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if R has KONVERT(PATTERN(FLOAT)) --R --E 1 @@ -2166,6 +2171,7 @@ digraph pic { --S 1 of 1 )show PrimitiveFunctionCategory +--R --R PrimitiveFunctionCategory is a category constructor --R Abbreviation for PrimitiveFunctionCategory is PRIMCAT --R This constructor is exposed in this frame. @@ -2173,7 +2179,7 @@ digraph pic { --R --R------------------------------- Operations -------------------------------- --R integral : (%,Symbol) -> % ---R integral : (%,SegmentBinding %) -> % +--R integral : (%,SegmentBinding(%)) -> % --R --E 1 @@ -2262,14 +2268,15 @@ digraph pic { --S 1 of 1 )show RadicalCategory +--R --R RadicalCategory is a category constructor --R Abbreviation for RadicalCategory is RADCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for RADCAT --R --R------------------------------- Operations -------------------------------- ---R ?**? : (%,Fraction Integer) -> % nthRoot : (%,Integer) -> % ---R sqrt : % -> % +--R nthRoot : (%,Integer) -> % sqrt : % -> % +--R ?**? : (%,Fraction(Integer)) -> % --R --E 1 @@ -2377,7 +2384,8 @@ digraph pic { --S 1 of 1 )show RetractableTo ---R RetractableTo S: Type is a category constructor +--R +--R RetractableTo(S: Type) is a category constructor --R Abbreviation for RetractableTo is RETRACT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for RETRACT @@ -3037,6 +3045,7 @@ digraph pic { --S 1 of 1 )show CombinatorialOpsCategory +--R --R CombinatorialOpsCategory is a category constructor --R Abbreviation for CombinatorialOpsCategory is COMBOPC --R This constructor is exposed in this frame. @@ -3047,8 +3056,8 @@ digraph pic { --R factorials : (%,Symbol) -> % factorials : % -> % --R permutation : (%,%) -> % product : (%,Symbol) -> % --R summation : (%,Symbol) -> % ---R product : (%,SegmentBinding %) -> % ---R summation : (%,SegmentBinding %) -> % +--R product : (%,SegmentBinding(%)) -> % +--R summation : (%,SegmentBinding(%)) -> % --R --E 1 @@ -3328,14 +3337,16 @@ digraph pic { --S 1 of 1 )show Evalable ---R Evalable R: SetCategory is a category constructor +--R +--R Evalable(R: SetCategory) is a category constructor --R Abbreviation for Evalable is EVALAB --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for EVALAB --R --R------------------------------- Operations -------------------------------- ---R eval : (%,List Equation R) -> % eval : (%,Equation R) -> % ---R eval : (%,R,R) -> % eval : (%,List R,List R) -> % +--R eval : (%,Equation(R)) -> % eval : (%,R,R) -> % +--R eval : (%,List(R),List(R)) -> % +--R eval : (%,List(Equation(R))) -> % --R --E 1 @@ -3593,19 +3604,20 @@ digraph pic { --S 1 of 1 )show FullyRetractableTo ---R FullyRetractableTo S: Type is a category constructor +--R +--R FullyRetractableTo(S: Type) is a category constructor --R Abbreviation for FullyRetractableTo is FRETRCT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FRETRCT --R --R------------------------------- Operations -------------------------------- --R coerce : S -> % retract : % -> S ---R coerce : Integer -> % if S has RETRACT INT ---R coerce : Fraction Integer -> % if S has RETRACT FRAC INT ---R retract : % -> Integer if S has RETRACT INT ---R retract : % -> Fraction Integer if S has RETRACT FRAC INT ---R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT INT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if S has RETRACT FRAC INT +--R coerce : Integer -> % if S has RETRACT(INT) +--R coerce : Fraction(Integer) -> % if S has RETRACT(FRAC(INT)) +--R retract : % -> Integer if S has RETRACT(INT) +--R retract : % -> Fraction(Integer) if S has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT(INT) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if S has RETRACT(FRAC(INT)) --R retractIfCan : % -> Union(S,"failed") --R --E 1 @@ -3760,19 +3772,20 @@ digraph pic { --S 1 of 1 )show FullyPatternMatchable ---R FullyPatternMatchable R: Type is a category constructor +--R +--R FullyPatternMatchable(R: Type) is a category constructor --R Abbreviation for FullyPatternMatchable is FPATMAB --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FPATMAB --R --R------------------------------- Operations -------------------------------- ---R ?=? : (%,%) -> Boolean if R has PATMAB INT or R has PATMAB FLOAT ---R coerce : % -> OutputForm if R has PATMAB INT or R has PATMAB FLOAT ---R hash : % -> SingleInteger if R has PATMAB INT or R has PATMAB FLOAT ---R latex : % -> String if R has PATMAB INT or R has PATMAB FLOAT ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if R has PATMAB INT ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB FLOAT ---R ?~=? : (%,%) -> Boolean if R has PATMAB INT or R has PATMAB FLOAT +--R ?=? : (%,%) -> Boolean if R has PATMAB(INT) or R has PATMAB(FLOAT) +--R coerce : % -> OutputForm if R has PATMAB(INT) or R has PATMAB(FLOAT) +--R hash : % -> SingleInteger if R has PATMAB(INT) or R has PATMAB(FLOAT) +--R latex : % -> String if R has PATMAB(INT) or R has PATMAB(FLOAT) +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if R has PATMAB(INT) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB(FLOAT) +--R ?~=? : (%,%) -> Boolean if R has PATMAB(INT) or R has PATMAB(FLOAT) --R --E 1 @@ -4038,15 +4051,17 @@ digraph pic { --S 1 of 1 )show PlottablePlaneCurveCategory +--R --R PlottablePlaneCurveCategory is a category constructor --R Abbreviation for PlottablePlaneCurveCategory is PPCURVE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PPCURVE --R --R------------------------------- Operations -------------------------------- ---R coerce : % -> OutputForm xRange : % -> Segment DoubleFloat ---R yRange : % -> Segment DoubleFloat ---R listBranches : % -> List List Point DoubleFloat +--R coerce : % -> OutputForm +--R listBranches : % -> List(List(Point(DoubleFloat))) +--R xRange : % -> Segment(DoubleFloat) +--R yRange : % -> Segment(DoubleFloat) --R --E 1 @@ -4169,15 +4184,18 @@ digraph pic { --S 1 of 1 )show PlottableSpaceCurveCategory +--R --R PlottableSpaceCurveCategory is a category constructor --R Abbreviation for PlottableSpaceCurveCategory is PSCURVE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PSCURVE --R --R------------------------------- Operations -------------------------------- ---R coerce : % -> OutputForm xRange : % -> Segment DoubleFloat ---R yRange : % -> Segment DoubleFloat zRange : % -> Segment DoubleFloat ---R listBranches : % -> List List Point DoubleFloat +--R coerce : % -> OutputForm +--R listBranches : % -> List(List(Point(DoubleFloat))) +--R xRange : % -> Segment(DoubleFloat) +--R yRange : % -> Segment(DoubleFloat) +--R zRange : % -> Segment(DoubleFloat) --R --E 1 @@ -4418,7 +4436,8 @@ digraph pic { --S 1 of 1 )show SegmentCategory ---R SegmentCategory S: Type is a category constructor +--R +--R SegmentCategory(S: Type) is a category constructor --R Abbreviation for SegmentCategory is SEGCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for SEGCAT @@ -5136,6 +5155,7 @@ digraph pic { --S 1 of 1 )show BlowUpMethodCategory +--R --R BlowUpMethodCategory is a category constructor --R Abbreviation for BlowUpMethodCategory is BLMETCT --R This constructor is exposed in this frame. @@ -5143,7 +5163,7 @@ digraph pic { --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean chartCoord : % -> Integer ---R coerce : List Integer -> % coerce : % -> OutputForm +--R coerce : List(Integer) -> % coerce : % -> OutputForm --R excepCoord : % -> Integer hash : % -> SingleInteger --R infClsPt? : % -> Boolean latex : % -> String --R quotValuation : % -> Integer ramifMult : % -> Integer @@ -5288,20 +5308,21 @@ digraph pic { --S 1 of 1 )show DesingTreeCategory ---R DesingTreeCategory S: SetCategory is a category constructor +--R +--R DesingTreeCategory(S: SetCategory) is a category constructor --R Abbreviation for DesingTreeCategory is DSTRCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for DSTRCAT --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % copy : % -> % +--R children : % -> List(%) copy : % -> % --R cyclic? : % -> Boolean distance : (%,%) -> Integer --R ?.value : (%,value) -> S empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean ---R leaf? : % -> Boolean leaves : % -> List S ---R map : ((S -> S),%) -> % nodes : % -> List % ---R sample : () -> % tree : List S -> % ---R tree : S -> % tree : (S,List %) -> % +--R leaf? : % -> Boolean leaves : % -> List(S) +--R map : ((S -> S),%) -> % nodes : % -> List(%) +--R sample : () -> % tree : List(S) -> % +--R tree : S -> % tree : (S,List(%)) -> % --R value : % -> S --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?=? : (%,%) -> Boolean if S has SETCAT @@ -5310,21 +5331,21 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if S has SETCAT --R latex : % -> String if S has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean --R node? : (%,%) -> Boolean if S has SETCAT ---R parts : % -> List S if $ has finiteAggregate ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R parts : % -> List(S) if $ has finiteAggregate +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,value,S) -> S if $ has shallowlyMutable --R setvalue! : (%,S) -> S if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean @@ -5526,25 +5547,27 @@ digraph pic { --S 1 of 1 )show FortranFunctionCategory +--R --R FortranFunctionCategory is a category constructor --R Abbreviation for FortranFunctionCategory is FORTFN --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FORTFN --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R retract : Polynomial Integer -> % retract : Polynomial Float -> % ---R retract : Expression Integer -> % retract : Expression Float -> % ---R coerce : Record(localSymbols: SymbolTable,code: List FortranCode) -> % ---R retract : Fraction Polynomial Integer -> % ---R retract : Fraction Polynomial Float -> % ---R retractIfCan : Fraction Polynomial Integer -> Union(%,"failed") ---R retractIfCan : Fraction Polynomial Float -> Union(%,"failed") ---R retractIfCan : Polynomial Integer -> Union(%,"failed") ---R retractIfCan : Polynomial Float -> Union(%,"failed") ---R retractIfCan : Expression Integer -> Union(%,"failed") ---R retractIfCan : Expression Float -> Union(%,"failed") +--R retract : Polynomial(Float) -> % retract : Expression(Float) -> % +--R coerce : Record(localSymbols: SymbolTable,code: List(FortranCode)) -> % +--R retract : Fraction(Polynomial(Integer)) -> % +--R retract : Fraction(Polynomial(Float)) -> % +--R retract : Polynomial(Integer) -> % +--R retract : Expression(Integer) -> % +--R retractIfCan : Fraction(Polynomial(Integer)) -> Union(%,"failed") +--R retractIfCan : Fraction(Polynomial(Float)) -> Union(%,"failed") +--R retractIfCan : Polynomial(Integer) -> Union(%,"failed") +--R retractIfCan : Polynomial(Float) -> Union(%,"failed") +--R retractIfCan : Expression(Integer) -> Union(%,"failed") +--R retractIfCan : Expression(Float) -> Union(%,"failed") --R --E 1 @@ -5717,16 +5740,17 @@ digraph pic { --S 1 of 1 )show FortranMatrixCategory +--R --R FortranMatrixCategory is a category constructor --R Abbreviation for FortranMatrixCategory is FMC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FMC --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % ---R coerce : Matrix MachineFloat -> % coerce : % -> OutputForm ---R outputAsFortran : % -> Void ---R coerce : Record(localSymbols: SymbolTable,code: List FortranCode) -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % +--R coerce : % -> OutputForm outputAsFortran : % -> Void +--R coerce : Record(localSymbols: SymbolTable,code: List(FortranCode)) -> % +--R coerce : Matrix(MachineFloat) -> % --R --E 1 @@ -5851,27 +5875,28 @@ digraph pic { --S 1 of 1 )show FortranMatrixFunctionCategory +--R --R FortranMatrixFunctionCategory is a category constructor --R Abbreviation for FortranMatrixFunctionCategory is FMFUN --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FMFUN --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Record(localSymbols: SymbolTable,code: List FortranCode) -> % ---R retract : Matrix Fraction Polynomial Integer -> % ---R retract : Matrix Fraction Polynomial Float -> % ---R retract : Matrix Polynomial Integer -> % ---R retract : Matrix Polynomial Float -> % ---R retract : Matrix Expression Integer -> % ---R retract : Matrix Expression Float -> % ---R retractIfCan : Matrix Fraction Polynomial Integer -> Union(%,"failed") ---R retractIfCan : Matrix Fraction Polynomial Float -> Union(%,"failed") ---R retractIfCan : Matrix Polynomial Integer -> Union(%,"failed") ---R retractIfCan : Matrix Polynomial Float -> Union(%,"failed") ---R retractIfCan : Matrix Expression Integer -> Union(%,"failed") ---R retractIfCan : Matrix Expression Float -> Union(%,"failed") +--R coerce : Record(localSymbols: SymbolTable,code: List(FortranCode)) -> % +--R retract : Matrix(Fraction(Polynomial(Integer))) -> % +--R retract : Matrix(Fraction(Polynomial(Float))) -> % +--R retract : Matrix(Polynomial(Integer)) -> % +--R retract : Matrix(Polynomial(Float)) -> % +--R retract : Matrix(Expression(Integer)) -> % +--R retract : Matrix(Expression(Float)) -> % +--R retractIfCan : Matrix(Fraction(Polynomial(Integer))) -> Union(%,"failed") +--R retractIfCan : Matrix(Fraction(Polynomial(Float))) -> Union(%,"failed") +--R retractIfCan : Matrix(Polynomial(Integer)) -> Union(%,"failed") +--R retractIfCan : Matrix(Polynomial(Float)) -> Union(%,"failed") +--R retractIfCan : Matrix(Expression(Integer)) -> Union(%,"failed") +--R retractIfCan : Matrix(Expression(Float)) -> Union(%,"failed") --R --E 1 @@ -6045,16 +6070,17 @@ digraph pic { --S 1 of 1 )show FortranVectorCategory +--R --R FortranVectorCategory is a category constructor --R Abbreviation for FortranVectorCategory is FVC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FVC --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % ---R coerce : Vector MachineFloat -> % coerce : % -> OutputForm ---R outputAsFortran : % -> Void ---R coerce : Record(localSymbols: SymbolTable,code: List FortranCode) -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % +--R coerce : % -> OutputForm outputAsFortran : % -> Void +--R coerce : Record(localSymbols: SymbolTable,code: List(FortranCode)) -> % +--R coerce : Vector(MachineFloat) -> % --R --E 1 @@ -6177,27 +6203,28 @@ digraph pic { --S 1 of 1 )show FortranVectorFunctionCategory +--R --R FortranVectorFunctionCategory is a category constructor --R Abbreviation for FortranVectorFunctionCategory is FVFUN --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FVFUN --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Record(localSymbols: SymbolTable,code: List FortranCode) -> % ---R retract : Vector Fraction Polynomial Integer -> % ---R retract : Vector Fraction Polynomial Float -> % ---R retract : Vector Polynomial Integer -> % ---R retract : Vector Polynomial Float -> % ---R retract : Vector Expression Integer -> % ---R retract : Vector Expression Float -> % ---R retractIfCan : Vector Fraction Polynomial Integer -> Union(%,"failed") ---R retractIfCan : Vector Fraction Polynomial Float -> Union(%,"failed") ---R retractIfCan : Vector Polynomial Integer -> Union(%,"failed") ---R retractIfCan : Vector Polynomial Float -> Union(%,"failed") ---R retractIfCan : Vector Expression Integer -> Union(%,"failed") ---R retractIfCan : Vector Expression Float -> Union(%,"failed") +--R coerce : Record(localSymbols: SymbolTable,code: List(FortranCode)) -> % +--R retract : Vector(Fraction(Polynomial(Integer))) -> % +--R retract : Vector(Fraction(Polynomial(Float))) -> % +--R retract : Vector(Polynomial(Integer)) -> % +--R retract : Vector(Polynomial(Float)) -> % +--R retract : Vector(Expression(Integer)) -> % +--R retract : Vector(Expression(Float)) -> % +--R retractIfCan : Vector(Fraction(Polynomial(Integer))) -> Union(%,"failed") +--R retractIfCan : Vector(Fraction(Polynomial(Float))) -> Union(%,"failed") +--R retractIfCan : Vector(Polynomial(Integer)) -> Union(%,"failed") +--R retractIfCan : Vector(Polynomial(Float)) -> Union(%,"failed") +--R retractIfCan : Vector(Expression(Integer)) -> Union(%,"failed") +--R retractIfCan : Vector(Expression(Float)) -> Union(%,"failed") --R --E 1 @@ -6370,7 +6397,8 @@ digraph pic { --S 1 of 1 )show FullyEvalableOver ---R FullyEvalableOver R: SetCategory is a category constructor +--R +--R FullyEvalableOver(R: SetCategory) is a category constructor --R Abbreviation for FullyEvalableOver is FEVALAB --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FEVALAB @@ -6378,11 +6406,11 @@ digraph pic { --R------------------------------- Operations -------------------------------- --R map : ((R -> R),%) -> % --R ?.? : (%,R) -> % if R has ELTAB(R,R) ---R eval : (%,List R,List R) -> % if R has EVALAB R ---R eval : (%,R,R) -> % if R has EVALAB R ---R eval : (%,Equation R) -> % if R has EVALAB R ---R eval : (%,List Equation R) -> % if R has EVALAB R ---R eval : (%,List Symbol,List R) -> % if R has IEVALAB(SYMBOL,R) +--R eval : (%,List(R),List(R)) -> % if R has EVALAB(R) +--R eval : (%,R,R) -> % if R has EVALAB(R) +--R eval : (%,Equation(R)) -> % if R has EVALAB(R) +--R eval : (%,List(Equation(R))) -> % if R has EVALAB(R) +--R eval : (%,List(Symbol),List(R)) -> % if R has IEVALAB(SYMBOL,R) --R eval : (%,Symbol,R) -> % if R has IEVALAB(SYMBOL,R) --R --E 1 @@ -7237,7 +7265,8 @@ digraph pic { --S 1 of 1 )show HomogeneousAggregate ---R HomogeneousAggregate S: Type is a category constructor +--R +--R HomogeneousAggregate(S: Type) is a category constructor --R Abbreviation for HomogeneousAggregate is HOAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for HOAGG @@ -7252,19 +7281,19 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if S has SETCAT --R latex : % -> String if S has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean --R ?~=? : (%,%) -> Boolean if S has SETCAT --R @@ -7693,6 +7722,7 @@ digraph pic { --S 1 of 1 )show LiouvillianFunctionCategory +--R --R LiouvillianFunctionCategory is a category constructor --R Abbreviation for LiouvillianFunctionCategory is LFCAT --R This constructor is exposed in this frame. @@ -7718,7 +7748,7 @@ digraph pic { --R sech : % -> % sin : % -> % --R sinh : % -> % tan : % -> % --R tanh : % -> % ---R integral : (%,SegmentBinding %) -> % +--R integral : (%,SegmentBinding(%)) -> % --R --E 1 @@ -8119,6 +8149,7 @@ digraph pic { --S 1 of 1 )show NumericalIntegrationCategory +--R --R NumericalIntegrationCategory is a category constructor --R Abbreviation for NumericalIntegrationCategory is NUMINT --R This constructor is exposed in this frame. @@ -8128,10 +8159,10 @@ digraph pic { --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R hash : % -> SingleInteger latex : % -> String --R ?~=? : (%,%) -> Boolean ---R measure : (RoutinesTable,Record(fn: Expression DoubleFloat,range: List Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat)) -> Record(measure: Float,explanations: String,extra: Result) ---R measure : (RoutinesTable,Record(var: Symbol,fn: Expression DoubleFloat,range: Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat)) -> Record(measure: Float,explanations: String,extra: Result) ---R numericalIntegration : (Record(fn: Expression DoubleFloat,range: List Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat),Result) -> Result ---R numericalIntegration : (Record(var: Symbol,fn: Expression DoubleFloat,range: Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat),Result) -> Result +--R measure : (RoutinesTable,Record(fn: Expression(DoubleFloat),range: List(Segment(OrderedCompletion(DoubleFloat))),abserr: DoubleFloat,relerr: DoubleFloat)) -> Record(measure: Float,explanations: String,extra: Result) +--R measure : (RoutinesTable,Record(var: Symbol,fn: Expression(DoubleFloat),range: Segment(OrderedCompletion(DoubleFloat)),abserr: DoubleFloat,relerr: DoubleFloat)) -> Record(measure: Float,explanations: String,extra: Result) +--R numericalIntegration : (Record(fn: Expression(DoubleFloat),range: List(Segment(OrderedCompletion(DoubleFloat))),abserr: DoubleFloat,relerr: DoubleFloat),Result) -> Result +--R numericalIntegration : (Record(var: Symbol,fn: Expression(DoubleFloat),range: Segment(OrderedCompletion(DoubleFloat)),abserr: DoubleFloat,relerr: DoubleFloat),Result) -> Result --R --E 1 @@ -8315,6 +8346,7 @@ digraph pic { --S 1 of 1 )show NumericalOptimizationCategory +--R --R NumericalOptimizationCategory is a category constructor --R Abbreviation for NumericalOptimizationCategory is OPTCAT --R This constructor is exposed in this frame. @@ -8324,10 +8356,10 @@ digraph pic { --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R hash : % -> SingleInteger latex : % -> String --R ?~=? : (%,%) -> Boolean ---R measure : (RoutinesTable,Record(lfn: List Expression DoubleFloat,init: List DoubleFloat)) -> Record(measure: Float,explanations: String) ---R measure : (RoutinesTable,Record(fn: Expression DoubleFloat,init: List DoubleFloat,lb: List OrderedCompletion DoubleFloat,cf: List Expression DoubleFloat,ub: List OrderedCompletion DoubleFloat)) -> Record(measure: Float,explanations: String) ---R numericalOptimization : Record(fn: Expression DoubleFloat,init: List DoubleFloat,lb: List OrderedCompletion DoubleFloat,cf: List Expression DoubleFloat,ub: List OrderedCompletion DoubleFloat) -> Result ---R numericalOptimization : Record(lfn: List Expression DoubleFloat,init: List DoubleFloat) -> Result +--R measure : (RoutinesTable,Record(lfn: List(Expression(DoubleFloat)),init: List(DoubleFloat))) -> Record(measure: Float,explanations: String) +--R measure : (RoutinesTable,Record(fn: Expression(DoubleFloat),init: List(DoubleFloat),lb: List(OrderedCompletion(DoubleFloat)),cf: List(Expression(DoubleFloat)),ub: List(OrderedCompletion(DoubleFloat)))) -> Record(measure: Float,explanations: String) +--R numericalOptimization : Record(fn: Expression(DoubleFloat),init: List(DoubleFloat),lb: List(OrderedCompletion(DoubleFloat)),cf: List(Expression(DoubleFloat)),ub: List(OrderedCompletion(DoubleFloat))) -> Result +--R numericalOptimization : Record(lfn: List(Expression(DoubleFloat)),init: List(DoubleFloat)) -> Result --R --E 1 @@ -8505,6 +8537,7 @@ digraph pic { --S 1 of 1 )show OrdinaryDifferentialEquationsSolverCategory +--R --R OrdinaryDifferentialEquationsSolverCategory is a category constructor --R Abbreviation for OrdinaryDifferentialEquationsSolverCategory is ODECAT --R This constructor is exposed in this frame. @@ -8514,8 +8547,8 @@ digraph pic { --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R hash : % -> SingleInteger latex : % -> String --R ?~=? : (%,%) -> Boolean ---R ODESolve : Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector Expression DoubleFloat,yinit: List DoubleFloat,intvals: List DoubleFloat,g: Expression DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat) -> Result ---R measure : (RoutinesTable,Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector Expression DoubleFloat,yinit: List DoubleFloat,intvals: List DoubleFloat,g: Expression DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat)) -> Record(measure: Float,explanations: String) +--R ODESolve : Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector(Expression(DoubleFloat)),yinit: List(DoubleFloat),intvals: List(DoubleFloat),g: Expression(DoubleFloat),abserr: DoubleFloat,relerr: DoubleFloat) -> Result +--R measure : (RoutinesTable,Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector(Expression(DoubleFloat)),yinit: List(DoubleFloat),intvals: List(DoubleFloat),g: Expression(DoubleFloat),abserr: DoubleFloat,relerr: DoubleFloat)) -> Record(measure: Float,explanations: String) --R --E 1 @@ -8851,6 +8884,7 @@ digraph pic { --S 1 of 1 )show PartialDifferentialEquationsSolverCategory +--R --R PartialDifferentialEquationsSolverCategory is a category constructor --R Abbreviation for PartialDifferentialEquationsSolverCategory is PDECAT --R This constructor is exposed in this frame. @@ -8860,8 +8894,8 @@ digraph pic { --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R hash : % -> SingleInteger latex : % -> String --R ?~=? : (%,%) -> Boolean ---R PDESolve : Record(pde: List Expression DoubleFloat,constraints: List Record(start: DoubleFloat,finish: DoubleFloat,grid: NonNegativeInteger,boundaryType: Integer,dStart: Matrix DoubleFloat,dFinish: Matrix DoubleFloat),f: List List Expression DoubleFloat,st: String,tol: DoubleFloat) -> Result ---R measure : (RoutinesTable,Record(pde: List Expression DoubleFloat,constraints: List Record(start: DoubleFloat,finish: DoubleFloat,grid: NonNegativeInteger,boundaryType: Integer,dStart: Matrix DoubleFloat,dFinish: Matrix DoubleFloat),f: List List Expression DoubleFloat,st: String,tol: DoubleFloat)) -> Record(measure: Float,explanations: String) +--R PDESolve : Record(pde: List(Expression(DoubleFloat)),constraints: List(Record(start: DoubleFloat,finish: DoubleFloat,grid: NonNegativeInteger,boundaryType: Integer,dStart: Matrix(DoubleFloat),dFinish: Matrix(DoubleFloat))),f: List(List(Expression(DoubleFloat))),st: String,tol: DoubleFloat) -> Result +--R measure : (RoutinesTable,Record(pde: List(Expression(DoubleFloat)),constraints: List(Record(start: DoubleFloat,finish: DoubleFloat,grid: NonNegativeInteger,boundaryType: Integer,dStart: Matrix(DoubleFloat),dFinish: Matrix(DoubleFloat))),f: List(List(Expression(DoubleFloat))),st: String,tol: DoubleFloat)) -> Record(measure: Float,explanations: String) --R --E 1 @@ -9049,7 +9083,8 @@ digraph pic { --S 1 of 1 )show PatternMatchable ---R PatternMatchable S: SetCategory is a category constructor +--R +--R PatternMatchable(S: SetCategory) is a category constructor --R Abbreviation for PatternMatchable is PATMAB --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PATMAB @@ -9058,7 +9093,7 @@ digraph pic { --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R hash : % -> SingleInteger latex : % -> String --R ?~=? : (%,%) -> Boolean ---R patternMatch : (%,Pattern S,PatternMatchResult(S,%)) -> PatternMatchResult(S,%) +--R patternMatch : (%,Pattern(S),PatternMatchResult(S,%)) -> PatternMatchResult(S,%) --R --E 1 @@ -9189,13 +9224,14 @@ digraph pic { --S 1 of 1 )show RealRootCharacterizationCategory ---R RealRootCharacterizationCategory(TheField: Join(OrderedRing,Field),ThePols: UnivariatePolynomialCategory t#1) is a category constructor +--R +--R RealRootCharacterizationCategory(TheField: Join(OrderedRing,Field),ThePols: UnivariatePolynomialCategory(t#1)) is a category constructor --R Abbreviation for RealRootCharacterizationCategory is RRCC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for RRCC --R --R------------------------------- Operations -------------------------------- ---R ?=? : (%,%) -> Boolean allRootsOf : ThePols -> List % +--R ?=? : (%,%) -> Boolean allRootsOf : ThePols -> List(%) --R coerce : % -> OutputForm definingPolynomial : % -> ThePols --R hash : % -> SingleInteger latex : % -> String --R sign : (ThePols,%) -> Integer zero? : (ThePols,%) -> Boolean @@ -9417,7 +9453,8 @@ digraph pic { --S 1 of 1 )show SegmentExpansionCategory ---R SegmentExpansionCategory(S: OrderedRing,L: StreamAggregate t#1) is a category constructor +--R +--R SegmentExpansionCategory(S: OrderedRing,L: StreamAggregate(t#1)) is a category constructor --R Abbreviation for SegmentExpansionCategory is SEGXCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for SEGXCAT @@ -9425,7 +9462,7 @@ digraph pic { --R------------------------------- Operations -------------------------------- --R BY : (%,Integer) -> % ?..? : (S,S) -> % --R convert : S -> % expand : % -> L ---R expand : List % -> L hi : % -> S +--R expand : List(%) -> L hi : % -> S --R high : % -> S incr : % -> Integer --R lo : % -> S low : % -> S --R map : ((S -> S),%) -> L segment : (S,S) -> % @@ -9868,6 +9905,7 @@ digraph pic { --S 1 of 1 )show SExpressionCategory +--R --R SExpressionCategory(Str: SetCategory,Sym: SetCategory,Int: SetCategory,Flt: SetCategory,Expr: SetCategory) is a category constructor --R Abbreviation for SExpressionCategory is SEXCAT --R This constructor is exposed in this frame. @@ -9879,8 +9917,8 @@ digraph pic { --R cdr : % -> % coerce : % -> OutputForm --R convert : Expr -> % convert : Flt -> % --R convert : Int -> % convert : Sym -> % ---R convert : Str -> % convert : List % -> % ---R destruct : % -> List % ?.? : (%,List Integer) -> % +--R convert : Str -> % convert : List(%) -> % +--R destruct : % -> List(%) ?.? : (%,List(Integer)) -> % --R ?.? : (%,Integer) -> % eq : (%,%) -> Boolean --R expr : % -> Expr float : % -> Flt --R float? : % -> Boolean hash : % -> SingleInteger @@ -10256,48 +10294,49 @@ digraph pic { --S 1 of 1 )show ThreeSpaceCategory ---R ThreeSpaceCategory R: Ring is a category constructor +--R +--R ThreeSpaceCategory(R: Ring) is a category constructor --R Abbreviation for ThreeSpaceCategory is SPACEC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for SPACEC --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean check : % -> % ---R closedCurve : % -> List Point R closedCurve : List Point R -> % +--R closedCurve : % -> List(Point(R)) closedCurve : List(Point(R)) -> % --R closedCurve? : % -> Boolean coerce : % -> OutputForm ---R components : % -> List % composite : List % -> % ---R composites : % -> List % copy : % -> % +--R components : % -> List(%) composite : List(%) -> % +--R composites : % -> List(%) copy : % -> % --R create3Space : SubSpace(3,R) -> % create3Space : () -> % ---R curve : % -> List Point R curve : List Point R -> % ---R curve : (%,List List R) -> % curve : (%,List Point R) -> % +--R curve : % -> List(Point(R)) curve : List(Point(R)) -> % +--R curve : (%,List(List(R))) -> % curve : (%,List(Point(R))) -> % --R curve? : % -> Boolean hash : % -> SingleInteger ---R latex : % -> String lp : % -> List Point R ---R merge : (%,%) -> % merge : List % -> % ---R mesh : % -> List List Point R mesh : List List Point R -> % ---R mesh? : % -> Boolean point : % -> Point R ---R point : Point R -> % point : (%,List R) -> % ---R point : (%,Point R) -> % point? : % -> Boolean ---R polygon : % -> List Point R polygon : List Point R -> % ---R polygon : (%,List List R) -> % polygon : (%,List Point R) -> % ---R polygon? : % -> Boolean subspace : % -> SubSpace(3,R) ---R ?~=? : (%,%) -> Boolean ---R closedCurve : (%,List List R) -> % ---R closedCurve : (%,List Point R) -> % ---R enterPointData : (%,List Point R) -> NonNegativeInteger ---R lllip : % -> List List List NonNegativeInteger ---R lllp : % -> List List List Point R ---R llprop : % -> List List SubSpaceComponentProperty ---R lprop : % -> List SubSpaceComponentProperty ---R mesh : (List List Point R,Boolean,Boolean) -> % ---R mesh : (%,List List List R,Boolean,Boolean) -> % ---R mesh : (%,List List Point R,Boolean,Boolean) -> % ---R mesh : (%,List List List R,List SubSpaceComponentProperty,SubSpaceComponentProperty) -> % ---R mesh : (%,List List Point R,List SubSpaceComponentProperty,SubSpaceComponentProperty) -> % ---R modifyPointData : (%,NonNegativeInteger,Point R) -> % +--R latex : % -> String lp : % -> List(Point(R)) +--R merge : (%,%) -> % merge : List(%) -> % +--R mesh : % -> List(List(Point(R))) mesh : List(List(Point(R))) -> % +--R mesh? : % -> Boolean point : % -> Point(R) +--R point : Point(R) -> % point : (%,List(R)) -> % +--R point : (%,Point(R)) -> % point? : % -> Boolean +--R polygon : % -> List(Point(R)) polygon : List(Point(R)) -> % +--R polygon : (%,List(List(R))) -> % polygon? : % -> Boolean +--R subspace : % -> SubSpace(3,R) ?~=? : (%,%) -> Boolean +--R closedCurve : (%,List(List(R))) -> % +--R closedCurve : (%,List(Point(R))) -> % +--R enterPointData : (%,List(Point(R))) -> NonNegativeInteger +--R lllip : % -> List(List(List(NonNegativeInteger))) +--R lllp : % -> List(List(List(Point(R)))) +--R llprop : % -> List(List(SubSpaceComponentProperty)) +--R lprop : % -> List(SubSpaceComponentProperty) +--R mesh : (List(List(Point(R))),Boolean,Boolean) -> % +--R mesh : (%,List(List(List(R))),Boolean,Boolean) -> % +--R mesh : (%,List(List(Point(R))),Boolean,Boolean) -> % +--R mesh : (%,List(List(List(R))),List(SubSpaceComponentProperty),SubSpaceComponentProperty) -> % +--R mesh : (%,List(List(Point(R))),List(SubSpaceComponentProperty),SubSpaceComponentProperty) -> % +--R modifyPointData : (%,NonNegativeInteger,Point(R)) -> % --R numberOfComponents : % -> NonNegativeInteger --R numberOfComposites : % -> NonNegativeInteger --R objects : % -> Record(points: NonNegativeInteger,curves: NonNegativeInteger,polygons: NonNegativeInteger,constructs: NonNegativeInteger) --R point : (%,NonNegativeInteger) -> % +--R polygon : (%,List(Point(R))) -> % --R --E 1 @@ -10954,26 +10993,27 @@ digraph pic { --S 1 of 1 )show AffineSpaceCategory ---R AffineSpaceCategory K: Field is a category constructor +--R +--R AffineSpaceCategory(K: Field) is a category constructor --R Abbreviation for AffineSpaceCategory is AFSPCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for AFSPCAT --R --R------------------------------- Operations -------------------------------- ---R ?=? : (%,%) -> Boolean affinePoint : List K -> % ---R coerce : List K -> % coerce : % -> List K +--R ?=? : (%,%) -> Boolean affinePoint : List(K) -> % +--R coerce : List(K) -> % coerce : % -> List(K) --R coerce : % -> OutputForm conjugate : % -> % --R definingField : % -> K degree : % -> PositiveInteger --R ?.? : (%,Integer) -> K hash : % -> SingleInteger ---R latex : % -> String list : % -> List K ---R orbit : % -> List % origin : () -> % ---R pointValue : % -> List K rational? : % -> Boolean +--R latex : % -> String list : % -> List(K) +--R orbit : % -> List(%) origin : () -> % +--R pointValue : % -> List(K) rational? : % -> Boolean --R setelt : (%,Integer,K) -> K ?~=? : (%,%) -> Boolean --R conjugate : (%,NonNegativeInteger) -> % ---R orbit : (%,NonNegativeInteger) -> List % +--R orbit : (%,NonNegativeInteger) -> List(%) --R rational? : (%,NonNegativeInteger) -> Boolean ---R removeConjugate : List % -> List % ---R removeConjugate : (List %,NonNegativeInteger) -> List % +--R removeConjugate : List(%) -> List(%) +--R removeConjugate : (List(%),NonNegativeInteger) -> List(%) --R --E 1 @@ -11182,13 +11222,14 @@ digraph pic { --S 1 of 1 )show BagAggregate ---R BagAggregate S: Type is a category constructor +--R +--R BagAggregate(S: Type) is a category constructor --R Abbreviation for BagAggregate is BGAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for BGAGG --R --R------------------------------- Operations -------------------------------- ---R bag : List S -> % copy : % -> % +--R bag : List(S) -> % copy : % -> % --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean extract! : % -> S --R insert! : (S,%) -> % inspect : % -> S @@ -11199,19 +11240,19 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if S has SETCAT --R latex : % -> String if S has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean --R ?~=? : (%,%) -> Boolean if S has SETCAT --R @@ -11560,13 +11601,14 @@ digraph pic { --S 1 of 1 )show Collection ---R Collection S: Type is a category constructor +--R +--R Collection(S: Type) is a category constructor --R Abbreviation for Collection is CLAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for CLAGG --R --R------------------------------- Operations -------------------------------- ---R construct : List S -> % copy : % -> % +--R construct : List(S) -> % copy : % -> % --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean map : ((S -> S),%) -> % --R sample : () -> % @@ -11574,13 +11616,13 @@ digraph pic { --R ?=? : (%,%) -> Boolean if S has SETCAT --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if S has SETCAT ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R find : ((S -> Boolean),%) -> Union(S,"failed") --R hash : % -> SingleInteger if S has SETCAT @@ -11588,9 +11630,9 @@ digraph pic { --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S,S) -> S if S has SETCAT and $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%) -> S if $ has finiteAggregate @@ -11888,7 +11930,8 @@ digraph pic { --S 1 of 1 )show DifferentialVariableCategory ---R DifferentialVariableCategory S: OrderedSet is a category constructor +--R +--R DifferentialVariableCategory(S: OrderedSet) is a category constructor --R Abbreviation for DifferentialVariableCategory is DVARCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for DVARCAT @@ -12168,6 +12211,7 @@ digraph pic { --S 1 of 1 )show ExpressionSpace +--R --R ExpressionSpace is a category constructor --R Abbreviation for ExpressionSpace is ES --R This constructor is exposed in this frame. @@ -12177,45 +12221,47 @@ digraph pic { --R ? Boolean ?<=? : (%,%) -> Boolean --R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean --R ?>=? : (%,%) -> Boolean belong? : BasicOperator -> Boolean ---R box : List % -> % box : % -> % ---R coerce : Kernel % -> % coerce : % -> OutputForm +--R box : List(%) -> % box : % -> % +--R coerce : Kernel(%) -> % coerce : % -> OutputForm --R distribute : (%,%) -> % distribute : % -> % --R elt : (BasicOperator,%,%) -> % elt : (BasicOperator,%) -> % ---R eval : (%,List %,List %) -> % eval : (%,%,%) -> % ---R eval : (%,Equation %) -> % eval : (%,List Equation %) -> % ---R eval : (%,Kernel %,%) -> % freeOf? : (%,Symbol) -> Boolean +--R eval : (%,%,%) -> % eval : (%,Equation(%)) -> % +--R eval : (%,Kernel(%),%) -> % freeOf? : (%,Symbol) -> Boolean --R freeOf? : (%,%) -> Boolean hash : % -> SingleInteger --R height : % -> NonNegativeInteger is? : (%,Symbol) -> Boolean ---R kernel : (BasicOperator,%) -> % kernels : % -> List Kernel % ---R latex : % -> String map : ((% -> %),Kernel %) -> % ---R max : (%,%) -> % min : (%,%) -> % ---R paren : List % -> % paren : % -> % ---R retract : % -> Kernel % subst : (%,Equation %) -> % ---R tower : % -> List Kernel % ?~=? : (%,%) -> Boolean +--R kernel : (BasicOperator,%) -> % kernels : % -> List(Kernel(%)) +--R latex : % -> String max : (%,%) -> % +--R min : (%,%) -> % paren : List(%) -> % +--R paren : % -> % retract : % -> Kernel(%) +--R subst : (%,Equation(%)) -> % tower : % -> List(Kernel(%)) +--R ?~=? : (%,%) -> Boolean --R definingPolynomial : % -> % if $ has RING ---R elt : (BasicOperator,List %) -> % +--R elt : (BasicOperator,List(%)) -> % --R elt : (BasicOperator,%,%,%,%) -> % --R elt : (BasicOperator,%,%,%) -> % --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 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 is? : (%,BasicOperator) -> Boolean ---R kernel : (BasicOperator,List %) -> % ---R mainKernel : % -> Union(Kernel %,"failed") ---R minPoly : Kernel % -> SparseUnivariatePolynomial % if $ has RING ---R odd? : % -> Boolean if $ has RETRACT INT +--R kernel : (BasicOperator,List(%)) -> % +--R mainKernel : % -> Union(Kernel(%),"failed") +--R map : ((% -> %),Kernel(%)) -> % +--R minPoly : Kernel(%) -> SparseUnivariatePolynomial(%) if $ has RING +--R odd? : % -> Boolean if $ has RETRACT(INT) --R operator : BasicOperator -> BasicOperator ---R operators : % -> List BasicOperator ---R retractIfCan : % -> Union(Kernel %,"failed") ---R subst : (%,List Kernel %,List %) -> % ---R subst : (%,List Equation %) -> % +--R operators : % -> List(BasicOperator) +--R retractIfCan : % -> Union(Kernel(%),"failed") +--R subst : (%,List(Kernel(%)),List(%)) -> % +--R subst : (%,List(Equation(%))) -> % --R --E 1 @@ -12967,6 +13013,7 @@ digraph pic { --S 1 of 1 )show IndexedAggregate +--R --R IndexedAggregate(Index: SetCategory,Entry: Type) is a category constructor --R Abbreviation for IndexedAggregate is IXAGG --R This constructor is exposed in this frame. @@ -12975,9 +13022,9 @@ digraph pic { --R------------------------------- Operations -------------------------------- --R copy : % -> % ?.? : (%,Index) -> Entry --R elt : (%,Index,Entry) -> Entry empty : () -> % ---R empty? : % -> Boolean entries : % -> List Entry +--R empty? : % -> Boolean entries : % -> List(Entry) --R eq? : (%,%) -> Boolean index? : (Index,%) -> Boolean ---R indices : % -> List Index map : ((Entry -> Entry),%) -> % +--R indices : % -> List(Index) map : ((Entry -> Entry),%) -> % --R qelt : (%,Index) -> Entry sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?=? : (%,%) -> Boolean if Entry has SETCAT @@ -12986,10 +13033,10 @@ digraph pic { --R count : (Entry,%) -> NonNegativeInteger if Entry has SETCAT and $ has finiteAggregate --R count : ((Entry -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R entry? : (Entry,%) -> Boolean if $ has finiteAggregate and Entry has SETCAT ---R eval : (%,List Entry,List Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT ---R eval : (%,Entry,Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT ---R eval : (%,Equation Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT ---R eval : (%,List Equation Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT +--R eval : (%,List(Entry),List(Entry)) -> % if Entry has EVALAB(Entry) and Entry has SETCAT +--R eval : (%,Entry,Entry) -> % if Entry has EVALAB(Entry) and Entry has SETCAT +--R eval : (%,Equation(Entry)) -> % if Entry has EVALAB(Entry) and Entry has SETCAT +--R eval : (%,List(Equation(Entry))) -> % if Entry has EVALAB(Entry) and Entry has SETCAT --R every? : ((Entry -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,Entry) -> % if $ has shallowlyMutable --R first : % -> Entry if Index has ORDSET @@ -12999,10 +13046,10 @@ digraph pic { --R map! : ((Entry -> Entry),%) -> % if $ has shallowlyMutable --R maxIndex : % -> Index if Index has ORDSET --R member? : (Entry,%) -> Boolean if Entry has SETCAT and $ has finiteAggregate ---R members : % -> List Entry if $ has finiteAggregate +--R members : % -> List(Entry) if $ has finiteAggregate --R minIndex : % -> Index if Index has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List Entry if $ has finiteAggregate +--R parts : % -> List(Entry) if $ has finiteAggregate --R qsetelt! : (%,Index,Entry) -> Entry if $ has shallowlyMutable --R setelt : (%,Index,Entry) -> Entry if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean @@ -13890,28 +13937,29 @@ digraph pic { --S 1 of 1 )show PlacesCategory ---R PlacesCategory(K: Field,PCS: LocalPowerSeriesCategory t#1) is a category constructor +--R +--R PlacesCategory(K: Field,PCS: LocalPowerSeriesCategory(t#1)) is a category constructor --R Abbreviation for PlacesCategory is PLACESC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PLACESC --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Integer,%) -> Divisor % ?+? : (%,%) -> Divisor % ---R -? : % -> Divisor % ?-? : (%,%) -> Divisor % +--R ?*? : (Integer,%) -> Divisor(%) ?+? : (%,%) -> Divisor(%) +--R -? : % -> Divisor(%) ?-? : (%,%) -> Divisor(%) --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm ---R create : Symbol -> % create : List K -> % +--R create : Symbol -> % create : List(K) -> % --R degree : % -> PositiveInteger ?.? : (%,Integer) -> K ---R foundPlaces : () -> List % hash : % -> SingleInteger +--R foundPlaces : () -> List(%) hash : % -> SingleInteger --R itsALeaf! : % -> Void latex : % -> String ---R leaf? : % -> Boolean localParam : % -> List PCS ---R reduce : List % -> Divisor % setParam! : (%,List PCS) -> Void +--R leaf? : % -> Boolean localParam : % -> List(PCS) +--R reduce : List(%) -> Divisor(%) setParam! : (%,List(PCS)) -> Void --R ?~=? : (%,%) -> Boolean ---R ?+? : (%,Divisor %) -> Divisor % ---R ?+? : (Divisor %,%) -> Divisor % ---R ?-? : (%,Divisor %) -> Divisor % ---R ?-? : (Divisor %,%) -> Divisor % +--R ?+? : (%,Divisor(%)) -> Divisor(%) +--R ?+? : (Divisor(%),%) -> Divisor(%) +--R ?-? : (%,Divisor(%)) -> Divisor(%) +--R ?-? : (Divisor(%),%) -> Divisor(%) --R setDegree! : (%,PositiveInteger) -> Void ---R setFoundPlacesToEmpty : () -> List % +--R setFoundPlacesToEmpty : () -> List(%) --R --E 1 @@ -14109,28 +14157,29 @@ digraph pic { --S 1 of 1 )show ProjectiveSpaceCategory ---R ProjectiveSpaceCategory K: Field is a category constructor +--R +--R ProjectiveSpaceCategory(K: Field) is a category constructor --R Abbreviation for ProjectiveSpaceCategory is PRSPCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PRSPCAT --R --R------------------------------- Operations -------------------------------- ---R ?=? : (%,%) -> Boolean coerce : List K -> % ---R coerce : % -> List K coerce : % -> OutputForm +--R ?=? : (%,%) -> Boolean coerce : List(K) -> % +--R coerce : % -> List(K) coerce : % -> OutputForm --R conjugate : % -> % definingField : % -> K --R degree : % -> PositiveInteger ?.? : (%,Integer) -> K --R hash : % -> SingleInteger homogenize : % -> % --R homogenize : (%,Integer) -> % lastNonNul : % -> Integer --R lastNonNull : % -> Integer latex : % -> String ---R list : % -> List K orbit : % -> List % ---R pointValue : % -> List K projectivePoint : List K -> % +--R list : % -> List(K) orbit : % -> List(%) +--R pointValue : % -> List(K) projectivePoint : List(K) -> % --R rational? : % -> Boolean setelt : (%,Integer,K) -> K --R ?~=? : (%,%) -> Boolean --R conjugate : (%,NonNegativeInteger) -> % ---R orbit : (%,NonNegativeInteger) -> List % +--R orbit : (%,NonNegativeInteger) -> List(%) --R rational? : (%,NonNegativeInteger) -> Boolean ---R removeConjugate : List % -> List % ---R removeConjugate : (List %,NonNegativeInteger) -> List % +--R removeConjugate : List(%) -> List(%) +--R removeConjugate : (List(%),NonNegativeInteger) -> List(%) --R --E 1 @@ -14357,18 +14406,19 @@ digraph pic { --S 1 of 1 )show RecursiveAggregate ---R RecursiveAggregate S: Type is a category constructor +--R +--R RecursiveAggregate(S: Type) is a category constructor --R Abbreviation for RecursiveAggregate is RCAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for RCAGG --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % copy : % -> % +--R children : % -> List(%) copy : % -> % --R cyclic? : % -> Boolean distance : (%,%) -> Integer --R ?.value : (%,value) -> S empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean ---R leaf? : % -> Boolean leaves : % -> List S ---R map : ((S -> S),%) -> % nodes : % -> List % +--R leaf? : % -> Boolean leaves : % -> List(S) +--R map : ((S -> S),%) -> % nodes : % -> List(%) --R sample : () -> % value : % -> S --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?=? : (%,%) -> Boolean if S has SETCAT @@ -14377,21 +14427,21 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if S has SETCAT --R latex : % -> String if S has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean --R node? : (%,%) -> Boolean if S has SETCAT ---R parts : % -> List S if $ has finiteAggregate ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R parts : % -> List(S) if $ has finiteAggregate +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,value,S) -> S if $ has shallowlyMutable --R setvalue! : (%,S) -> S if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean @@ -14654,7 +14704,8 @@ first column in an array and vice versa. --S 1 of 1 )show TwoDimensionalArrayCategory ---R TwoDimensionalArrayCategory(R: Type,Row: FiniteLinearAggregate t#1,Col: FiniteLinearAggregate t#1) is a category constructor +--R +--R TwoDimensionalArrayCategory(R: Type,Row: FiniteLinearAggregate(t#1),Col: FiniteLinearAggregate(t#1)) is a category constructor --R Abbreviation for TwoDimensionalArrayCategory is ARR2CAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for ARR2CAT @@ -14669,7 +14720,7 @@ first column in an array and vice versa. --R maxColIndex : % -> Integer maxRowIndex : % -> Integer --R minColIndex : % -> Integer minRowIndex : % -> Integer --R ncols : % -> NonNegativeInteger nrows : % -> NonNegativeInteger ---R parts : % -> List R qelt : (%,Integer,Integer) -> R +--R parts : % -> List(R) qelt : (%,Integer,Integer) -> R --R row : (%,Integer) -> Row sample : () -> % --R setRow! : (%,Integer,Row) -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate @@ -14678,16 +14729,16 @@ first column in an array and vice versa. --R coerce : % -> OutputForm if R has SETCAT --R count : (R,%) -> NonNegativeInteger if R has SETCAT and $ has finiteAggregate --R count : ((R -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List R,List R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,R,R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,Equation R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,List Equation R) -> % if R has EVALAB R and R has SETCAT +--R eval : (%,List(R),List(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,R,R) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,Equation(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,List(Equation(R))) -> % if R has EVALAB(R) and R has SETCAT --R every? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if R has SETCAT --R latex : % -> String if R has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R member? : (R,%) -> Boolean if R has SETCAT and $ has finiteAggregate ---R members : % -> List R if $ has finiteAggregate +--R members : % -> List(R) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean --R new : (NonNegativeInteger,NonNegativeInteger,R) -> % --R qsetelt! : (%,Integer,Integer,R) -> R @@ -15264,20 +15315,21 @@ digraph pic { --S 1 of 1 )show BinaryRecursiveAggregate ---R BinaryRecursiveAggregate S: Type is a category constructor +--R +--R BinaryRecursiveAggregate(S: Type) is a category constructor --R Abbreviation for BinaryRecursiveAggregate is BRAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for BRAGG --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % copy : % -> % +--R children : % -> List(%) copy : % -> % --R cyclic? : % -> Boolean distance : (%,%) -> Integer --R ?.right : (%,right) -> % ?.left : (%,left) -> % --R ?.value : (%,value) -> S empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean ---R leaf? : % -> Boolean leaves : % -> List S +--R leaf? : % -> Boolean leaves : % -> List(S) --R left : % -> % map : ((S -> S),%) -> % ---R nodes : % -> List % right : % -> % +--R nodes : % -> List(%) right : % -> % --R sample : () -> % value : % -> S --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?=? : (%,%) -> Boolean if S has SETCAT @@ -15286,21 +15338,21 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if S has SETCAT --R latex : % -> String if S has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean --R node? : (%,%) -> Boolean if S has SETCAT ---R parts : % -> List S if $ has finiteAggregate ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R parts : % -> List(S) if $ has finiteAggregate +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,right,%) -> % if $ has shallowlyMutable --R setelt : (%,left,%) -> % if $ has shallowlyMutable --R setelt : (%,value,S) -> S if $ has shallowlyMutable @@ -15792,14 +15844,15 @@ digraph pic { --S 1 of 1 )show DictionaryOperations ---R DictionaryOperations S: SetCategory is a category constructor +--R +--R DictionaryOperations(S: SetCategory) is a category constructor --R Abbreviation for DictionaryOperations is DIOPS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for DIOPS --R --R------------------------------- Operations -------------------------------- ---R bag : List S -> % construct : List S -> % ---R copy : % -> % dictionary : List S -> % +--R bag : List(S) -> % construct : List(S) -> % +--R copy : % -> % dictionary : List(S) -> % --R dictionary : () -> % empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean --R extract! : % -> S insert! : (S,%) -> % @@ -15809,13 +15862,13 @@ digraph pic { --R ?=? : (%,%) -> Boolean if S has SETCAT --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if S has SETCAT ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R find : ((S -> Boolean),%) -> Union(S,"failed") --R hash : % -> SingleInteger if S has SETCAT @@ -15823,9 +15876,9 @@ digraph pic { --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R reduce : (((S,S) -> S),%) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S,S) -> S if S has SETCAT and $ has finiteAggregate @@ -16101,20 +16154,21 @@ digraph pic { --S 1 of 1 )show DoublyLinkedAggregate ---R DoublyLinkedAggregate S: Type is a category constructor +--R +--R DoublyLinkedAggregate(S: Type) is a category constructor --R Abbreviation for DoublyLinkedAggregate is DLAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for DLAGG --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % copy : % -> % +--R children : % -> List(%) copy : % -> % --R cyclic? : % -> Boolean distance : (%,%) -> Integer --R ?.value : (%,value) -> S empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean --R head : % -> % last : % -> S ---R leaf? : % -> Boolean leaves : % -> List S +--R leaf? : % -> Boolean leaves : % -> List(S) --R map : ((S -> S),%) -> % next : % -> % ---R nodes : % -> List % previous : % -> % +--R nodes : % -> List(%) previous : % -> % --R sample : () -> % tail : % -> % --R value : % -> S --R #? : % -> NonNegativeInteger if $ has finiteAggregate @@ -16125,21 +16179,21 @@ digraph pic { --R concat! : (%,%) -> % if $ has shallowlyMutable --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if S has SETCAT --R latex : % -> String if S has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean --R node? : (%,%) -> Boolean if S has SETCAT ---R parts : % -> List S if $ has finiteAggregate ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R parts : % -> List(S) if $ has finiteAggregate +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,value,S) -> S if $ has shallowlyMutable --R setnext! : (%,%) -> % if $ has shallowlyMutable --R setprevious! : (%,%) -> % if $ has shallowlyMutable @@ -16610,20 +16664,21 @@ digraph pic { --S 1 of 1 )show LinearAggregate ---R LinearAggregate S: Type is a category constructor +--R +--R LinearAggregate(S: Type) is a category constructor --R Abbreviation for LinearAggregate is LNAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for LNAGG --R --R------------------------------- Operations -------------------------------- ---R concat : List % -> % concat : (%,%) -> % +--R concat : List(%) -> % concat : (%,%) -> % --R concat : (S,%) -> % concat : (%,S) -> % ---R construct : List S -> % copy : % -> % +--R construct : List(S) -> % copy : % -> % --R delete : (%,Integer) -> % ?.? : (%,Integer) -> S --R elt : (%,Integer,S) -> S empty : () -> % ---R empty? : % -> Boolean entries : % -> List S +--R empty? : % -> Boolean entries : % -> List(S) --R eq? : (%,%) -> Boolean index? : (Integer,%) -> Boolean ---R indices : % -> List Integer insert : (%,%,Integer) -> % +--R indices : % -> List(Integer) insert : (%,%,Integer) -> % --R insert : (S,%,Integer) -> % map : (((S,S) -> S),%,%) -> % --R map : ((S -> S),%) -> % new : (NonNegativeInteger,S) -> % --R qelt : (%,Integer) -> S sample : () -> % @@ -16631,16 +16686,16 @@ digraph pic { --R ?=? : (%,%) -> Boolean if S has SETCAT --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if S has SETCAT ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R delete : (%,UniversalSegment Integer) -> % ---R ?.? : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R entry? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,S) -> % if $ has shallowlyMutable --R find : ((S -> Boolean),%) -> Union(S,"failed") @@ -16651,10 +16706,10 @@ digraph pic { --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R qsetelt! : (%,Integer,S) -> S if $ has shallowlyMutable --R reduce : (((S,S) -> S),%) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate @@ -16663,7 +16718,7 @@ digraph pic { --R remove : (S,%) -> % if S has SETCAT and $ has finiteAggregate --R removeDuplicates : % -> % if S has SETCAT and $ has finiteAggregate --R select : ((S -> Boolean),%) -> % if $ has finiteAggregate ---R setelt : (%,UniversalSegment Integer,S) -> S if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),S) -> S if $ has shallowlyMutable --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean --R swap! : (%,Integer,Integer) -> Void if $ has shallowlyMutable @@ -17039,7 +17094,7 @@ z:Matrix(INT):=zero(3,3) --R (5) |0 0 0| --R | | --R +0 0 0+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 5 --S 6 of 59 @@ -17053,7 +17108,7 @@ matrix [[1,2,3],[4,5,6],[7,8,9],[1,1,1]] --R |7 8 9| --R | | --R +1 1 1+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 6 --S 7 of 59 @@ -17065,7 +17120,7 @@ z:Matrix(INT):=scalarMatrix(3,5) --R (7) |0 5 0| --R | | --R +0 0 5+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 7 --S 8 of 59 @@ -17077,7 +17132,7 @@ diagonalMatrix [1,2,3] --R (8) |0 2 0| --R | | --R +0 0 3+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 8 --S 9 of 59 @@ -17091,7 +17146,7 @@ diagonalMatrix [matrix [[1,2],[3,4]], matrix [[4,5],[6,7]]] --R |0 0 4 5| --R | | --R +0 0 6 7+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 9 --S 10 of 59 @@ -17103,7 +17158,7 @@ coerce([1,2,3])@Matrix(INT) --R (10) |2| --R | | --R +3+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 10 --S 11 of 59 @@ -17111,7 +17166,7 @@ transpose([1,2,3])@Matrix(INT) --R --R --R (11) [1 2 3] ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 11 --S 12 of 59 @@ -17127,7 +17182,7 @@ transpose matrix [[j**i for i in 0..4] for j in 1..5] --R |1 8 27 64 125| --R | | --R +1 16 81 256 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 12 --S 13 of 59 @@ -17139,7 +17194,7 @@ squareTop matrix [[j**i for i in 0..2] for j in 1..5] --R (13) |1 2 4| --R | | --R +1 3 9+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 13 --S 14 of 59 @@ -17155,7 +17210,7 @@ t1:=matrix [[j**i for i in 0..4] for j in 1..5] --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 14 --S 15 of 59 @@ -17171,7 +17226,7 @@ horizConcat(t1,t1) --R |1 4 16 64 256 1 4 16 64 256| --R | | --R +1 5 25 125 625 1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 15 --S 16 of 59 @@ -17187,7 +17242,7 @@ t2:=matrix [[j**i for i in 0..4] for j in 1..5] --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 16 --S 17 of 59 @@ -17213,7 +17268,7 @@ vertConcat(t2,t2) --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 17 --S 18 of 59 @@ -17229,7 +17284,7 @@ t3:=matrix [[j**i for i in 0..4] for j in 1..5] --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 18 --S 19 of 59 @@ -17238,7 +17293,7 @@ listOfLists t3 --R --R (19) --R [[1,1,1,1,1],[1,2,4,8,16],[1,3,9,27,81],[1,4,16,64,256],[1,5,25,125,625]] ---R Type: List List Integer +--R Type: List(List(Integer)) --E 19 --S 20 of 59 @@ -17254,7 +17309,7 @@ t4:=matrix [[j**i for i in 0..4] for j in 1..5] --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 20 --S 21 of 59 @@ -17278,7 +17333,7 @@ t5:=matrix [[j**i for i in 0..4] for j in 1..5] --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 22 --S 23 of 59 @@ -17302,7 +17357,7 @@ t6:=matrix [[j**i for i in 0..4] for j in 1..5] --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 24 --S 25 of 59 @@ -17318,7 +17373,7 @@ swapRows!(t6,2,4) --R |1 2 4 8 16 | --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 25 --S 26 of 59 @@ -17334,7 +17389,7 @@ t7:=matrix [[j**i for i in 0..4] for j in 1..5] --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 26 --S 27 of 59 @@ -17350,7 +17405,7 @@ swapColumns!(t7,2,4) --R |1 64 16 4 256| --R | | --R +1 125 25 5 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 27 --S 28 of 59 @@ -17366,7 +17421,7 @@ t8:=matrix [[j**i for i in 0..4] for j in 1..5] --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 28 --S 29 of 59 @@ -17378,7 +17433,7 @@ subMatrix(t8,1,3,2,4) --R (29) |2 4 8 | --R | | --R +3 9 27+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 29 --S 30 of 59 @@ -17394,7 +17449,7 @@ t9:=matrix [[j**i for i in 0..4] for j in 1..5] --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 30 --S 31 of 59 @@ -17410,7 +17465,7 @@ setsubMatrix!(t9,2,2,matrix [[3,3],[3,3]]) --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 31 --S 32 of 59 @@ -17426,7 +17481,7 @@ t0:=matrix [[j**i for i in 0..4] for j in 1..5] --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 32 --S 33 of 59 @@ -17442,7 +17497,7 @@ t0+t0 --R |2 8 32 128 512 | --R | | --R +2 10 50 250 1250+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 33 --S 34 of 59 @@ -17458,7 +17513,7 @@ t0-t0 --R |0 0 0 0 0| --R | | --R +0 0 0 0 0+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 34 --S 35 of 59 @@ -17474,7 +17529,7 @@ t0-t0 --R |- 1 - 4 - 16 - 64 - 256| --R | | --R +- 1 - 5 - 25 - 125 - 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 35 --S 36 of 59 @@ -17490,7 +17545,7 @@ t0*t0 --R |341 1593 7585 36561 177745| --R | | --R +781 3711 17871 86841 424731+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 36 --S 37 of 59 @@ -17516,7 +17571,7 @@ t0*t0 --R |1 5 25 125 625| --R |- - -- --- ---| --R +3 3 3 3 3 + ---R Type: Matrix Fraction Integer +--R Type: Matrix(Fraction(Integer)) --E 37 --S 38 of 59 @@ -17532,7 +17587,7 @@ m:=matrix [[j**i for i in 0..4] for j in 1..5] --R |1 4 16 64 256| --R | | --R +1 5 25 125 625+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 38 --S 39 of 59 @@ -17558,7 +17613,7 @@ t0*1/3 --R |1 5 25 125 625| --R |- - -- --- ---| --R +3 3 3 3 3 + ---R Type: Matrix Fraction Integer +--R Type: Matrix(Fraction(Integer)) --E 39 --S 40 of 59 @@ -17574,7 +17629,7 @@ t0*1/3 --R |3 12 48 192 768 | --R | | --R +3 15 75 375 1875+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 40 --S 41 of 59 @@ -17590,7 +17645,7 @@ c:=coerce([1,2,3,4,5])@Matrix(INT) --R |4| --R | | --R +5+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 41 --S 42 of 59 @@ -17606,7 +17661,7 @@ t0*c --R |1593| --R | | --R +3711+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 42 --S 43 of 59 @@ -17614,7 +17669,7 @@ r:=transpose([1,2,3,4,5])@Matrix(INT) --R --R --R (43) [1 2 3 4 5] ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 43 --S 44 of 59 @@ -17622,7 +17677,7 @@ r*t0 --R --R --R (44) [15 55 225 979 4425] ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 44 --S 45 of 59 @@ -17638,7 +17693,7 @@ t0**3 --R |223825 1061251 5103579 24775909 121090455| --R | | --R +533935 2532835 12184195 59162185 289195879+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 45 --S 46 of 59 @@ -17654,7 +17709,7 @@ t10:=matrix [[2**i for i in 2..4] for j in 1..5] --R |4 8 16| --R | | --R +4 8 16+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 46 --S 47 of 59 @@ -17670,7 +17725,7 @@ exquo(t10,2) --R |2 4 8| --R | | --R +2 4 8+ ---R Type: Union(Matrix Integer,...) +--R Type: Union(Matrix(Integer),...) --E 47 --S 48 of 59 @@ -17686,7 +17741,7 @@ t10/4 --R |1 2 4| --R | | --R +1 2 4+ ---R Type: Matrix Fraction Integer +--R Type: Matrix(Fraction(Integer)) --E 48 --S 49 of 59 @@ -17702,7 +17757,7 @@ rowEchelon matrix [[j**i for i in 0..4] for j in 1..5] --R |0 0 0 6 12| --R | | --R +0 0 0 0 24+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 49 --S 50 of 59 @@ -17710,7 +17765,7 @@ columnSpace matrix [[1,2,3],[4,5,6],[7,8,9],[1,1,1]] --R --R --R (50) [[1,4,7,1],[2,5,8,1]] ---R Type: List Vector Integer +--R Type: List(Vector(Integer)) --E 50 --S 51 of 59 @@ -17734,7 +17789,7 @@ nullSpace matrix [[1,2,3],[4,5,6],[7,8,9]] --R --R --R (53) [[1,- 2,1]] ---R Type: List Vector Integer +--R Type: List(Vector(Integer)) --E 53 --S 54 of 59 @@ -17782,7 +17837,7 @@ inverse matrix [[j**i for i in 0..4] for j in 1..5] --R | 1 1 1 1 1 | --R | -- - - - - - -- | --R + 24 6 4 6 24 + ---R Type: Union(Matrix Fraction Integer,...) +--R Type: Union(Matrix(Fraction(Integer)),...) --E 57 --S 58 of 59 @@ -17798,13 +17853,13 @@ inverse matrix [[j**i for i in 0..4] for j in 1..5] --R |341 1593 7585 36561 177745| --R | | --R +781 3711 17871 86841 424731+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 58 --S 59 of 59 )show MatrixCategory --R ---R MatrixCategory(R: Ring,Row: FiniteLinearAggregate t#1,Col: FiniteLinearAggregate t#1) is a category constructor +--R MatrixCategory(R: Ring,Row: FiniteLinearAggregate(t#1),Col: FiniteLinearAggregate(t#1)) is a category constructor --R Abbreviation for MatrixCategory is MATCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for MATCAT @@ -17817,17 +17872,17 @@ inverse matrix [[j**i for i in 0..4] for j in 1..5] --R ?-? : (%,%) -> % antisymmetric? : % -> Boolean --R coerce : Col -> % column : (%,Integer) -> Col --R copy : % -> % diagonal? : % -> Boolean ---R diagonalMatrix : List % -> % diagonalMatrix : List R -> % +--R diagonalMatrix : List(%) -> % diagonalMatrix : List(R) -> % --R elt : (%,Integer,Integer,R) -> R elt : (%,Integer,Integer) -> R --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean fill! : (%,R) -> % ---R horizConcat : (%,%) -> % listOfLists : % -> List List R +--R horizConcat : (%,%) -> % listOfLists : % -> List(List(R)) --R map : (((R,R) -> R),%,%,R) -> % map : (((R,R) -> R),%,%) -> % --R map : ((R -> R),%) -> % map! : ((R -> R),%) -> % ---R matrix : List List R -> % maxColIndex : % -> Integer +--R matrix : List(List(R)) -> % maxColIndex : % -> Integer --R maxRowIndex : % -> Integer minColIndex : % -> Integer --R minRowIndex : % -> Integer ncols : % -> NonNegativeInteger ---R nrows : % -> NonNegativeInteger parts : % -> List R +--R nrows : % -> NonNegativeInteger parts : % -> List(R) --R qelt : (%,Integer,Integer) -> R row : (%,Integer) -> Row --R sample : () -> % setRow! : (%,Integer,Row) -> % --R square? : % -> Boolean squareTop : % -> % @@ -17840,15 +17895,15 @@ inverse matrix [[j**i for i in 0..4] for j in 1..5] --R ?=? : (%,%) -> Boolean if R has SETCAT --R any? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if R has SETCAT ---R columnSpace : % -> List Col if R has EUCDOM +--R columnSpace : % -> List(Col) if R has EUCDOM --R count : (R,%) -> NonNegativeInteger if R has SETCAT and $ has finiteAggregate --R count : ((R -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R determinant : % -> R if R has commutative * ---R elt : (%,List Integer,List Integer) -> % ---R eval : (%,List R,List R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,R,R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,Equation R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,List Equation R) -> % if R has EVALAB R and R has SETCAT +--R determinant : % -> R if R has commutative(*) +--R elt : (%,List(Integer),List(Integer)) -> % +--R eval : (%,List(R),List(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,R,R) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,Equation(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,List(Equation(R))) -> % if R has EVALAB(R) and R has SETCAT --R every? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R exquo : (%,R) -> Union(%,"failed") if R has INTDOM --R hash : % -> SingleInteger if R has SETCAT @@ -17856,11 +17911,11 @@ inverse matrix [[j**i for i in 0..4] for j in 1..5] --R latex : % -> String if R has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --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 * +--R members : % -> List(R) if $ has finiteAggregate +--R minordet : % -> R if R has commutative(*) --R more? : (%,NonNegativeInteger) -> Boolean --R new : (NonNegativeInteger,NonNegativeInteger,R) -> % ---R nullSpace : % -> List Col if R has INTDOM +--R nullSpace : % -> List(Col) if R has INTDOM --R nullity : % -> NonNegativeInteger if R has INTDOM --R pfaffian : % -> R if R has COMRING --R qsetelt! : (%,Integer,Integer,R) -> R @@ -17868,7 +17923,7 @@ inverse matrix [[j**i for i in 0..4] for j in 1..5] --R rowEchelon : % -> % if R has EUCDOM --R scalarMatrix : (NonNegativeInteger,R) -> % --R setColumn! : (%,Integer,Col) -> % ---R setelt : (%,List Integer,List Integer,%) -> % +--R setelt : (%,List(Integer),List(Integer),%) -> % --R setelt : (%,Integer,Integer,R) -> R --R setsubMatrix! : (%,Integer,Integer,%) -> % --R size? : (%,NonNegativeInteger) -> Boolean @@ -19574,32 +19629,33 @@ digraph pic { --S 1 of 1 )show PolynomialSetCategory +--R --R PolynomialSetCategory(R: Ring,E: OrderedAbelianMonoidSup,VarSet: OrderedSet,P: RecursivePolynomialCategory(t#1,t#2,t#3)) is a category constructor --R Abbreviation for PolynomialSetCategory is PSETCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PSETCAT --R --R------------------------------- Operations -------------------------------- ---R ?=? : (%,%) -> Boolean coerce : % -> List P +--R ?=? : (%,%) -> Boolean coerce : % -> List(P) --R coerce : % -> OutputForm collect : (%,VarSet) -> % --R collectUnder : (%,VarSet) -> % collectUpper : (%,VarSet) -> % ---R construct : List P -> % copy : % -> % +--R construct : List(P) -> % copy : % -> % --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean hash : % -> SingleInteger ---R latex : % -> String mainVariables : % -> List VarSet +--R latex : % -> String mainVariables : % -> List(VarSet) --R map : ((P -> P),%) -> % mvar : % -> VarSet ---R retract : List P -> % sample : () -> % ---R trivialIdeal? : % -> Boolean variables : % -> List VarSet +--R retract : List(P) -> % sample : () -> % +--R trivialIdeal? : % -> Boolean variables : % -> List(VarSet) --R ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R any? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate ---R convert : % -> InputForm if P has KONVERT INFORM +--R convert : % -> InputForm if P has KONVERT(INFORM) --R count : ((P -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (P,%) -> NonNegativeInteger if P has SETCAT and $ has finiteAggregate ---R eval : (%,List Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,P,P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,List P,List P) -> % if P has EVALAB P and P has SETCAT +--R eval : (%,List(Equation(P))) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,Equation(P)) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,P,P) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,List(P),List(P)) -> % if P has EVALAB(P) and P has SETCAT --R every? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate --R find : ((P -> Boolean),%) -> Union(P,"failed") --R headRemainder : (P,%) -> Record(num: P,den: R) if R has INTDOM @@ -19607,9 +19663,9 @@ digraph pic { --R mainVariable? : (VarSet,%) -> Boolean --R map! : ((P -> P),%) -> % if $ has shallowlyMutable --R member? : (P,%) -> Boolean if P has SETCAT and $ has finiteAggregate ---R members : % -> List P if $ has finiteAggregate +--R members : % -> List(P) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List P if $ has finiteAggregate +--R parts : % -> List(P) if $ has finiteAggregate --R reduce : (((P,P) -> P),%) -> P if $ has finiteAggregate --R reduce : (((P,P) -> P),%,P) -> P if $ has finiteAggregate --R reduce : (((P,P) -> P),%,P,P) -> P if P has SETCAT and $ has finiteAggregate @@ -19617,9 +19673,9 @@ digraph pic { --R remove : ((P -> Boolean),%) -> % if $ has finiteAggregate --R remove : (P,%) -> % if P has SETCAT and $ has finiteAggregate --R removeDuplicates : % -> % if P has SETCAT and $ has finiteAggregate ---R retractIfCan : List P -> Union(%,"failed") ---R rewriteIdealWithHeadRemainder : (List P,%) -> List P if R has INTDOM ---R rewriteIdealWithRemainder : (List P,%) -> List P if R has INTDOM +--R retractIfCan : List(P) -> Union(%,"failed") +--R rewriteIdealWithHeadRemainder : (List(P),%) -> List(P) if R has INTDOM +--R rewriteIdealWithRemainder : (List(P),%) -> List(P) if R has INTDOM --R roughBase? : % -> Boolean if R has INTDOM --R roughEqualIdeals? : (%,%) -> Boolean if R has INTDOM --R roughSubIdeal? : (%,%) -> Boolean if R has INTDOM @@ -20257,13 +20313,14 @@ digraph pic { --S 1 of 1 )show PriorityQueueAggregate ---R PriorityQueueAggregate S: OrderedSet is a category constructor +--R +--R PriorityQueueAggregate(S: OrderedSet) is a category constructor --R Abbreviation for PriorityQueueAggregate is PRQAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PRQAGG --R --R------------------------------- Operations -------------------------------- ---R bag : List S -> % copy : % -> % +--R bag : List(S) -> % copy : % -> % --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean extract! : % -> S --R insert! : (S,%) -> % inspect : % -> S @@ -20276,19 +20333,19 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if S has SETCAT --R latex : % -> String if S has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean --R ?~=? : (%,%) -> Boolean if S has SETCAT --R @@ -20493,13 +20550,14 @@ digraph pic { --S 1 of 1 )show QueueAggregate ---R QueueAggregate S: Type is a category constructor +--R +--R QueueAggregate(S: Type) is a category constructor --R Abbreviation for QueueAggregate is QUAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for QUAGG --R --R------------------------------- Operations -------------------------------- ---R back : % -> S bag : List S -> % +--R back : % -> S bag : List(S) -> % --R copy : % -> % dequeue! : % -> S --R empty : () -> % empty? : % -> Boolean --R enqueue! : (S,%) -> S eq? : (%,%) -> Boolean @@ -20513,19 +20571,19 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if S has SETCAT --R latex : % -> String if S has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean --R ?~=? : (%,%) -> Boolean if S has SETCAT --R @@ -20743,41 +20801,42 @@ digraph pic { --S 1 of 1 )show SetAggregate ---R SetAggregate S: SetCategory is a category constructor +--R +--R SetAggregate(S: SetCategory) is a category constructor --R Abbreviation for SetAggregate is SETAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for SETAGG --R --R------------------------------- Operations -------------------------------- --R ? Boolean ?=? : (%,%) -> Boolean ---R brace : List S -> % brace : () -> % ---R coerce : % -> OutputForm construct : List S -> % +--R brace : List(S) -> % brace : () -> % +--R coerce : % -> OutputForm construct : List(S) -> % --R copy : % -> % difference : (%,S) -> % --R difference : (%,%) -> % empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean --R hash : % -> SingleInteger intersect : (%,%) -> % --R latex : % -> String map : ((S -> S),%) -> % ---R sample : () -> % set : List S -> % +--R sample : () -> % set : List(S) -> % --R set : () -> % subset? : (%,%) -> Boolean --R union : (S,%) -> % union : (%,S) -> % --R union : (%,%) -> % ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R find : ((S -> Boolean),%) -> Union(S,"failed") --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R reduce : (((S,S) -> S),%) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S,S) -> S if S has SETCAT and $ has finiteAggregate @@ -21102,13 +21161,14 @@ digraph pic { --S 1 of 1 )show StackAggregate ---R StackAggregate S: Type is a category constructor +--R +--R StackAggregate(S: Type) is a category constructor --R Abbreviation for StackAggregate is SKAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for SKAGG --R --R------------------------------- Operations -------------------------------- ---R bag : List S -> % copy : % -> % +--R bag : List(S) -> % copy : % -> % --R depth : % -> NonNegativeInteger empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean --R extract! : % -> S insert! : (S,%) -> % @@ -21121,19 +21181,19 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if S has SETCAT --R latex : % -> String if S has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean --R ?~=? : (%,%) -> Boolean if S has SETCAT --R @@ -21354,13 +21414,14 @@ digraph pic { --S 1 of 1 )show UnaryRecursiveAggregate ---R UnaryRecursiveAggregate S: Type is a category constructor +--R +--R UnaryRecursiveAggregate(S: Type) is a category constructor --R Abbreviation for UnaryRecursiveAggregate is URAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for URAGG --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % concat : (S,%) -> % +--R children : % -> List(%) concat : (S,%) -> % --R concat : (%,%) -> % copy : % -> % --R cycleEntry : % -> % cycleTail : % -> % --R cyclic? : % -> Boolean distance : (%,%) -> Integer @@ -21369,8 +21430,8 @@ digraph pic { --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean first : % -> S --R last : % -> S leaf? : % -> Boolean ---R leaves : % -> List S map : ((S -> S),%) -> % ---R nodes : % -> List % rest : % -> % +--R leaves : % -> List(S) map : ((S -> S),%) -> % +--R nodes : % -> List(%) rest : % -> % --R sample : () -> % second : % -> S --R tail : % -> % third : % -> S --R value : % -> S @@ -21385,10 +21446,10 @@ digraph pic { --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R cycleLength : % -> NonNegativeInteger --R cycleSplit! : % -> % if $ has shallowlyMutable ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R first : (%,NonNegativeInteger) -> % --R hash : % -> SingleInteger if S has SETCAT @@ -21397,12 +21458,12 @@ digraph pic { --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean --R node? : (%,%) -> Boolean if S has SETCAT ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R rest : (%,NonNegativeInteger) -> % ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,last,S) -> S if $ has shallowlyMutable --R setelt : (%,rest,%) -> % if $ has shallowlyMutable --R setelt : (%,first,S) -> S if $ has shallowlyMutable @@ -22101,20 +22162,21 @@ digraph pic { --S 1 of 1 )show BinaryTreeCategory ---R BinaryTreeCategory S: SetCategory is a category constructor +--R +--R BinaryTreeCategory(S: SetCategory) is a category constructor --R Abbreviation for BinaryTreeCategory is BTCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for BTCAT --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % copy : % -> % +--R children : % -> List(%) copy : % -> % --R cyclic? : % -> Boolean distance : (%,%) -> Integer --R ?.right : (%,right) -> % ?.left : (%,left) -> % --R ?.value : (%,value) -> S empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean ---R leaf? : % -> Boolean leaves : % -> List S +--R leaf? : % -> Boolean leaves : % -> List(S) --R left : % -> % map : ((S -> S),%) -> % ---R node : (%,S,%) -> % nodes : % -> List % +--R node : (%,S,%) -> % nodes : % -> List(%) --R right : % -> % sample : () -> % --R value : % -> S --R #? : % -> NonNegativeInteger if $ has finiteAggregate @@ -22124,21 +22186,21 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if S has SETCAT --R latex : % -> String if S has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean --R node? : (%,%) -> Boolean if S has SETCAT ---R parts : % -> List S if $ has finiteAggregate ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R parts : % -> List(S) if $ has finiteAggregate +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,right,%) -> % if $ has shallowlyMutable --R setelt : (%,left,%) -> % if $ has shallowlyMutable --R setelt : (%,value,S) -> S if $ has shallowlyMutable @@ -22401,14 +22463,15 @@ digraph pic { --S 1 of 1 )show Dictionary ---R Dictionary S: SetCategory is a category constructor +--R +--R Dictionary(S: SetCategory) is a category constructor --R Abbreviation for Dictionary is DIAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for DIAGG --R --R------------------------------- Operations -------------------------------- ---R bag : List S -> % construct : List S -> % ---R copy : % -> % dictionary : List S -> % +--R bag : List(S) -> % construct : List(S) -> % +--R copy : % -> % dictionary : List(S) -> % --R dictionary : () -> % empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean --R extract! : % -> S insert! : (S,%) -> % @@ -22418,13 +22481,13 @@ digraph pic { --R ?=? : (%,%) -> Boolean if S has SETCAT --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if S has SETCAT ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R find : ((S -> Boolean),%) -> Union(S,"failed") --R hash : % -> SingleInteger if S has SETCAT @@ -22432,9 +22495,9 @@ digraph pic { --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R reduce : (((S,S) -> S),%) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S,S) -> S if S has SETCAT and $ has finiteAggregate @@ -22702,15 +22765,16 @@ digraph pic { --S 1 of 1 )show DequeueAggregate ---R DequeueAggregate S: Type is a category constructor +--R +--R DequeueAggregate(S: Type) is a category constructor --R Abbreviation for DequeueAggregate is DQAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for DQAGG --R --R------------------------------- Operations -------------------------------- ---R back : % -> S bag : List S -> % +--R back : % -> S bag : List(S) -> % --R bottom! : % -> S copy : % -> % ---R depth : % -> NonNegativeInteger dequeue : List S -> % +--R depth : % -> NonNegativeInteger dequeue : List(S) -> % --R dequeue : () -> % dequeue! : % -> S --R empty : () -> % empty? : % -> Boolean --R enqueue! : (S,%) -> S eq? : (%,%) -> Boolean @@ -22729,19 +22793,19 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R hash : % -> SingleInteger if S has SETCAT --R latex : % -> String if S has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean --R ?~=? : (%,%) -> Boolean if S has SETCAT --R @@ -23005,21 +23069,22 @@ digraph pic { --S 1 of 1 )show ExtensibleLinearAggregate ---R ExtensibleLinearAggregate S: Type is a category constructor +--R +--R ExtensibleLinearAggregate(S: Type) is a category constructor --R Abbreviation for ExtensibleLinearAggregate is ELAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for ELAGG --R --R------------------------------- Operations -------------------------------- ---R concat : List % -> % concat : (%,%) -> % +--R concat : List(%) -> % concat : (%,%) -> % --R concat : (S,%) -> % concat : (%,S) -> % --R concat! : (%,%) -> % concat! : (%,S) -> % ---R construct : List S -> % copy : % -> % +--R construct : List(S) -> % copy : % -> % --R delete : (%,Integer) -> % delete! : (%,Integer) -> % --R ?.? : (%,Integer) -> S elt : (%,Integer,S) -> S --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List S eq? : (%,%) -> Boolean ---R index? : (Integer,%) -> Boolean indices : % -> List Integer +--R entries : % -> List(S) eq? : (%,%) -> Boolean +--R index? : (Integer,%) -> Boolean indices : % -> List(Integer) --R insert : (%,%,Integer) -> % insert : (S,%,Integer) -> % --R insert! : (%,%,Integer) -> % insert! : (S,%,Integer) -> % --R map : (((S,S) -> S),%,%) -> % map : ((S -> S),%) -> % @@ -23029,17 +23094,17 @@ digraph pic { --R ?=? : (%,%) -> Boolean if S has SETCAT --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if S has SETCAT ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R delete : (%,UniversalSegment Integer) -> % ---R delete! : (%,UniversalSegment Integer) -> % ---R ?.? : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % +--R delete! : (%,UniversalSegment(Integer)) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R entry? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,S) -> % if $ has shallowlyMutable --R find : ((S -> Boolean),%) -> Union(S,"failed") @@ -23050,12 +23115,12 @@ digraph pic { --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R merge! : (%,%) -> % if S has ORDSET --R merge! : (((S,S) -> Boolean),%,%) -> % --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R qsetelt! : (%,Integer,S) -> S if $ has shallowlyMutable --R reduce : (((S,S) -> S),%) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate @@ -23068,7 +23133,7 @@ digraph pic { --R removeDuplicates! : % -> % if S has SETCAT --R select : ((S -> Boolean),%) -> % if $ has finiteAggregate --R select! : ((S -> Boolean),%) -> % ---R setelt : (%,UniversalSegment Integer,S) -> S if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),S) -> S if $ has shallowlyMutable --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean --R swap! : (%,Integer,Integer) -> Void if $ has shallowlyMutable @@ -23396,20 +23461,21 @@ digraph pic { --S 1 of 1 )show FiniteLinearAggregate ---R FiniteLinearAggregate S: Type is a category constructor +--R +--R FiniteLinearAggregate(S: Type) is a category constructor --R Abbreviation for FiniteLinearAggregate is FLAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FLAGG --R --R------------------------------- Operations -------------------------------- ---R concat : List % -> % concat : (%,%) -> % +--R concat : List(%) -> % concat : (%,%) -> % --R concat : (S,%) -> % concat : (%,S) -> % ---R construct : List S -> % copy : % -> % +--R construct : List(S) -> % copy : % -> % --R delete : (%,Integer) -> % ?.? : (%,Integer) -> S --R elt : (%,Integer,S) -> S empty : () -> % ---R empty? : % -> Boolean entries : % -> List S +--R empty? : % -> Boolean entries : % -> List(S) --R eq? : (%,%) -> Boolean index? : (Integer,%) -> Boolean ---R indices : % -> List Integer insert : (%,%,Integer) -> % +--R indices : % -> List(Integer) insert : (%,%,Integer) -> % --R insert : (S,%,Integer) -> % map : (((S,S) -> S),%,%) -> % --R map : ((S -> S),%) -> % new : (NonNegativeInteger,S) -> % --R qelt : (%,Integer) -> S reverse : % -> % @@ -23422,17 +23488,17 @@ digraph pic { --R ?>=? : (%,%) -> Boolean if S has ORDSET --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if S has SETCAT ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R delete : (%,UniversalSegment Integer) -> % ---R ?.? : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R entry? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,S) -> % if $ has shallowlyMutable --R find : ((S -> Boolean),%) -> Union(S,"failed") @@ -23444,13 +23510,13 @@ digraph pic { --R max : (%,%) -> % if S has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R merge : (%,%) -> % if S has ORDSET --R merge : (((S,S) -> Boolean),%,%) -> % --R min : (%,%) -> % if S has ORDSET --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R position : (S,%,Integer) -> Integer if S has SETCAT --R position : (S,%) -> Integer if S has SETCAT --R position : ((S -> Boolean),%) -> Integer @@ -23463,7 +23529,7 @@ digraph pic { --R removeDuplicates : % -> % if S has SETCAT and $ has finiteAggregate --R reverse! : % -> % if $ has shallowlyMutable --R select : ((S -> Boolean),%) -> % if $ has finiteAggregate ---R setelt : (%,UniversalSegment Integer,S) -> S if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),S) -> S if $ has shallowlyMutable --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean --R sort : % -> % if S has ORDSET @@ -23848,6 +23914,7 @@ digraph pic { --S 1 of 1 )show FreeAbelianMonoidCategory +--R --R FreeAbelianMonoidCategory(S: SetCategory,E: CancellationAbelianMonoid) is a category constructor --R Abbreviation for FreeAbelianMonoidCategory is FAMONC --R This constructor is exposed in this frame. @@ -23868,7 +23935,7 @@ digraph pic { --R highCommonTerms : (%,%) -> % if E has OAMON --R retractIfCan : % -> Union(S,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") ---R terms : % -> List Record(gen: S,exp: E) +--R terms : % -> List(Record(gen: S,exp: E)) --R --E 1 @@ -24081,14 +24148,15 @@ digraph pic { --S 1 of 1 )show MultiDictionary ---R MultiDictionary S: SetCategory is a category constructor +--R +--R MultiDictionary(S: SetCategory) is a category constructor --R Abbreviation for MultiDictionary is MDAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for MDAGG --R --R------------------------------- Operations -------------------------------- ---R bag : List S -> % construct : List S -> % ---R copy : % -> % dictionary : List S -> % +--R bag : List(S) -> % construct : List(S) -> % +--R copy : % -> % dictionary : List(S) -> % --R dictionary : () -> % empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean --R extract! : % -> S insert! : (S,%) -> % @@ -24098,14 +24166,14 @@ digraph pic { --R ?=? : (%,%) -> Boolean if S has SETCAT --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if S has SETCAT ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R duplicates : % -> List Record(entry: S,count: NonNegativeInteger) ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R duplicates : % -> List(Record(entry: S,count: NonNegativeInteger)) +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R find : ((S -> Boolean),%) -> Union(S,"failed") --R hash : % -> SingleInteger if S has SETCAT @@ -24114,9 +24182,9 @@ digraph pic { --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R reduce : (((S,S) -> S),%) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S,S) -> S if S has SETCAT and $ has finiteAggregate @@ -24514,7 +24582,8 @@ digraph pic { --S 1 of 1 )show PermutationCategory ---R PermutationCategory S: SetCategory is a category constructor +--R +--R PermutationCategory(S: SetCategory) is a category constructor --R Abbreviation for PermutationCategory is PERMCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PERMCAT @@ -24526,11 +24595,11 @@ digraph pic { --R 1 : () -> % ?^? : (%,Integer) -> % --R ?^? : (%,PositiveInteger) -> % coerce : % -> OutputForm --R commutator : (%,%) -> % conjugate : (%,%) -> % ---R cycle : List S -> % cycles : List List S -> % +--R cycle : List(S) -> % cycles : List(List(S)) -> % --R ?.? : (%,S) -> S eval : (%,S) -> S --R hash : % -> SingleInteger inv : % -> % --R latex : % -> String one? : % -> Boolean ---R orbit : (%,S) -> Set S recip : % -> Union(%,"failed") +--R orbit : (%,S) -> Set(S) recip : % -> Union(%,"failed") --R sample : () -> % ?~=? : (%,%) -> Boolean --R ?**? : (%,NonNegativeInteger) -> % --R ?<=? : (%,%) -> Boolean if S has ORDSET or S has FINITE @@ -24762,15 +24831,16 @@ digraph pic { --S 1 of 1 )show StreamAggregate ---R StreamAggregate S: Type is a category constructor +--R +--R StreamAggregate(S: Type) is a category constructor --R Abbreviation for StreamAggregate is STAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for STAGG --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % concat : (%,S) -> % ---R concat : List % -> % concat : (S,%) -> % ---R concat : (%,%) -> % construct : List S -> % +--R children : % -> List(%) concat : (%,S) -> % +--R concat : List(%) -> % concat : (S,%) -> % +--R concat : (%,%) -> % construct : List(S) -> % --R copy : % -> % cycleEntry : % -> % --R cycleTail : % -> % cyclic? : % -> Boolean --R delete : (%,Integer) -> % distance : (%,%) -> Integer @@ -24778,14 +24848,14 @@ digraph pic { --R ?.last : (%,last) -> S ?.rest : (%,rest) -> % --R ?.first : (%,first) -> S ?.value : (%,value) -> S --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List S eq? : (%,%) -> Boolean +--R entries : % -> List(S) eq? : (%,%) -> Boolean --R explicitlyFinite? : % -> Boolean first : % -> S ---R index? : (Integer,%) -> Boolean indices : % -> List Integer +--R index? : (Integer,%) -> Boolean indices : % -> List(Integer) --R insert : (S,%,Integer) -> % insert : (%,%,Integer) -> % --R last : % -> S leaf? : % -> Boolean ---R leaves : % -> List S map : (((S,S) -> S),%,%) -> % +--R leaves : % -> List(S) map : (((S,S) -> S),%,%) -> % --R map : ((S -> S),%) -> % new : (NonNegativeInteger,S) -> % ---R nodes : % -> List % possiblyInfinite? : % -> Boolean +--R nodes : % -> List(%) possiblyInfinite? : % -> Boolean --R qelt : (%,Integer) -> S rest : % -> % --R sample : () -> % second : % -> S --R tail : % -> % third : % -> S @@ -24797,18 +24867,18 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R concat! : (%,S) -> % if $ has shallowlyMutable --R concat! : (%,%) -> % if $ has shallowlyMutable ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R cycleLength : % -> NonNegativeInteger --R cycleSplit! : % -> % if $ has shallowlyMutable ---R delete : (%,UniversalSegment Integer) -> % ---R ?.? : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R entry? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,S) -> % if $ has shallowlyMutable --R find : ((S -> Boolean),%) -> Union(S,"failed") @@ -24820,11 +24890,11 @@ digraph pic { --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R node? : (%,%) -> Boolean if S has SETCAT ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R qsetelt! : (%,Integer,S) -> S if $ has shallowlyMutable --R reduce : (((S,S) -> S),%,S,S) -> S if S has SETCAT and $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate @@ -24834,9 +24904,9 @@ digraph pic { --R removeDuplicates : % -> % if S has SETCAT and $ has finiteAggregate --R rest : (%,NonNegativeInteger) -> % --R select : ((S -> Boolean),%) -> % if $ has finiteAggregate ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable ---R setelt : (%,UniversalSegment Integer,S) -> S if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),S) -> S if $ has shallowlyMutable --R setelt : (%,last,S) -> S if $ has shallowlyMutable --R setelt : (%,rest,%) -> % if $ has shallowlyMutable --R setelt : (%,first,S) -> S if $ has shallowlyMutable @@ -25272,6 +25342,7 @@ digraph pic { --S 1 of 1 )show TriangularSetCategory +--R --R TriangularSetCategory(R: IntegralDomain,E: OrderedAbelianMonoidSup,V: OrderedSet,P: RecursivePolynomialCategory(t#1,t#2,t#3)) is a category constructor --R Abbreviation for TriangularSetCategory is TSETCAT --R This constructor is exposed in this frame. @@ -25279,10 +25350,10 @@ digraph pic { --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean algebraic? : (V,%) -> Boolean ---R algebraicVariables : % -> List V coerce : % -> List P +--R algebraicVariables : % -> List(V) coerce : % -> List(P) --R coerce : % -> OutputForm collect : (%,V) -> % --R collectQuasiMonic : % -> % collectUnder : (%,V) -> % ---R collectUpper : (%,V) -> % construct : List P -> % +--R collectUpper : (%,V) -> % construct : List(P) -> % --R copy : % -> % degree : % -> NonNegativeInteger --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean extend : (%,P) -> % @@ -25290,29 +25361,29 @@ digraph pic { --R headReduce : (P,%) -> P headReduced? : % -> Boolean --R headReduced? : (P,%) -> Boolean infRittWu? : (%,%) -> Boolean --R initiallyReduce : (P,%) -> P initiallyReduced? : % -> Boolean ---R initials : % -> List P last : % -> Union(P,"failed") +--R initials : % -> List(P) last : % -> Union(P,"failed") --R latex : % -> String mainVariable? : (V,%) -> Boolean ---R mainVariables : % -> List V map : ((P -> P),%) -> % +--R mainVariables : % -> List(V) map : ((P -> P),%) -> % --R mvar : % -> V normalized? : % -> Boolean --R normalized? : (P,%) -> Boolean reduceByQuasiMonic : (P,%) -> P --R removeZero : (P,%) -> P rest : % -> Union(%,"failed") ---R retract : List P -> % sample : () -> % +--R retract : List(P) -> % sample : () -> % --R stronglyReduce : (P,%) -> P stronglyReduced? : % -> Boolean ---R trivialIdeal? : % -> Boolean variables : % -> List V ---R zeroSetSplit : List P -> List % ?~=? : (%,%) -> Boolean +--R trivialIdeal? : % -> Boolean variables : % -> List(V) +--R zeroSetSplit : List(P) -> List(%) ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R any? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate ---R autoReduced? : (%,((P,List P) -> Boolean)) -> Boolean ---R basicSet : (List P,(P -> Boolean),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List P),"failed") ---R basicSet : (List P,((P,P) -> Boolean)) -> Union(Record(bas: %,top: List P),"failed") +--R autoReduced? : (%,((P,List(P)) -> Boolean)) -> Boolean +--R basicSet : (List(P),(P -> Boolean),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List(P)),"failed") +--R basicSet : (List(P),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List(P)),"failed") --R coHeight : % -> NonNegativeInteger if V has FINITE ---R convert : % -> InputForm if P has KONVERT INFORM +--R convert : % -> InputForm if P has KONVERT(INFORM) --R count : ((P -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (P,%) -> NonNegativeInteger if P has SETCAT and $ has finiteAggregate ---R eval : (%,List Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,P,P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,List P,List P) -> % if P has EVALAB P and P has SETCAT +--R eval : (%,List(Equation(P))) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,Equation(P)) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,P,P) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,List(P),List(P)) -> % if P has EVALAB(P) and P has SETCAT --R every? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate --R extendIfCan : (%,P) -> Union(%,"failed") --R find : ((P -> Boolean),%) -> Union(P,"failed") @@ -25321,10 +25392,10 @@ digraph pic { --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((P -> P),%) -> % if $ has shallowlyMutable --R member? : (P,%) -> Boolean if P has SETCAT and $ has finiteAggregate ---R members : % -> List P if $ has finiteAggregate +--R members : % -> List(P) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List P if $ has finiteAggregate ---R quasiComponent : % -> Record(close: List P,open: List P) +--R parts : % -> List(P) if $ has finiteAggregate +--R quasiComponent : % -> Record(close: List(P),open: List(P)) --R reduce : (P,%,((P,P) -> P),((P,P) -> Boolean)) -> P --R reduce : (((P,P) -> P),%) -> P if $ has finiteAggregate --R reduce : (((P,P) -> P),%,P) -> P if $ has finiteAggregate @@ -25334,10 +25405,10 @@ digraph pic { --R remove : ((P -> Boolean),%) -> % if $ has finiteAggregate --R remove : (P,%) -> % if P has SETCAT and $ has finiteAggregate --R removeDuplicates : % -> % if P has SETCAT and $ has finiteAggregate ---R retractIfCan : List P -> Union(%,"failed") ---R rewriteIdealWithHeadRemainder : (List P,%) -> List P if R has INTDOM ---R rewriteIdealWithRemainder : (List P,%) -> List P if R has INTDOM ---R rewriteSetWithReduction : (List P,%,((P,P) -> P),((P,P) -> Boolean)) -> List P +--R retractIfCan : List(P) -> Union(%,"failed") +--R rewriteIdealWithHeadRemainder : (List(P),%) -> List(P) if R has INTDOM +--R rewriteIdealWithRemainder : (List(P),%) -> List(P) if R has INTDOM +--R rewriteSetWithReduction : (List(P),%,((P,P) -> P),((P,P) -> Boolean)) -> List(P) --R roughBase? : % -> Boolean if R has INTDOM --R roughEqualIdeals? : (%,%) -> Boolean if R has INTDOM --R roughSubIdeal? : (%,%) -> Boolean if R has INTDOM @@ -25348,7 +25419,7 @@ digraph pic { --R sort : (%,V) -> Record(under: %,floor: %,upper: %) --R stronglyReduced? : (P,%) -> Boolean --R triangular? : % -> Boolean if R has INTDOM ---R zeroSetSplitIntoTriangularSystems : List P -> List Record(close: %,open: List P) +--R zeroSetSplitIntoTriangularSystems : List(P) -> List(Record(close: %,open: List(P))) --R --E 1 @@ -26188,7 +26259,8 @@ digraph pic { --S 1 of 1 )show FiniteDivisorCategory ---R FiniteDivisorCategory(F: Field,UP: UnivariatePolynomialCategory t#1,UPUP: UnivariatePolynomialCategory Fraction t#2,R: FunctionFieldCategory(t#1,t#2,t#3)) is a category constructor +--R +--R FiniteDivisorCategory(F: Field,UP: UnivariatePolynomialCategory(t#1),UPUP: UnivariatePolynomialCategory(Fraction(t#2)),R: FunctionFieldCategory(t#1,t#2,t#3)) is a category constructor --R Abbreviation for FiniteDivisorCategory is FDIVCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FDIVCAT @@ -26205,10 +26277,10 @@ digraph pic { --R sample : () -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % ---R decompose : % -> Record(id: FractionalIdeal(UP,Fraction UP,UPUP,R),principalPart: R) ---R divisor : FractionalIdeal(UP,Fraction UP,UPUP,R) -> % +--R decompose : % -> Record(id: FractionalIdeal(UP,Fraction(UP),UPUP,R),principalPart: R) +--R divisor : FractionalIdeal(UP,Fraction(UP),UPUP,R) -> % --R generator : % -> Union(R,"failed") ---R ideal : % -> FractionalIdeal(UP,Fraction UP,UPUP,R) +--R ideal : % -> FractionalIdeal(UP,Fraction(UP),UPUP,R) --R subtractIfCan : (%,%) -> Union(%,"failed") --R --E 1 @@ -26410,17 +26482,18 @@ digraph pic { --S 1 of 1 )show FiniteSetAggregate ---R FiniteSetAggregate S: SetCategory is a category constructor +--R +--R FiniteSetAggregate(S: SetCategory) is a category constructor --R Abbreviation for FiniteSetAggregate is FSAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FSAGG --R --R------------------------------- Operations -------------------------------- --R ? Boolean ?=? : (%,%) -> Boolean ---R bag : List S -> % brace : () -> % ---R brace : List S -> % coerce : % -> OutputForm ---R construct : List S -> % copy : % -> % ---R dictionary : List S -> % dictionary : () -> % +--R bag : List(S) -> % brace : () -> % +--R brace : List(S) -> % coerce : % -> OutputForm +--R construct : List(S) -> % copy : % -> % +--R dictionary : List(S) -> % dictionary : () -> % --R difference : (%,%) -> % difference : (%,S) -> % --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean extract! : % -> S @@ -26429,20 +26502,20 @@ digraph pic { --R latex : % -> String map : ((S -> S),%) -> % --R max : % -> S if S has ORDSET min : % -> S if S has ORDSET --R sample : () -> % set : () -> % ---R set : List S -> % subset? : (%,%) -> Boolean +--R set : List(S) -> % subset? : (%,%) -> Boolean --R union : (%,%) -> % union : (%,S) -> % --R union : (S,%) -> % ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R cardinality : % -> NonNegativeInteger --R complement : % -> % if S has FINITE ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R find : ((S -> Boolean),%) -> Union(S,"failed") --R index : PositiveInteger -> % if S has FINITE @@ -26450,9 +26523,9 @@ digraph pic { --R lookup : % -> PositiveInteger if S has FINITE --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R random : () -> % if S has FINITE --R reduce : (((S,S) -> S),%) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate @@ -26822,6 +26895,7 @@ digraph pic { --S 1 of 1 )show KeyedDictionary +--R --R KeyedDictionary(Key: SetCategory,Entry: SetCategory) is a category constructor --R Abbreviation for KeyedDictionary is KDAGG --R This constructor is exposed in this frame. @@ -26831,21 +26905,21 @@ digraph pic { --R copy : % -> % dictionary : () -> % --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean key? : (Key,%) -> Boolean ---R keys : % -> List Key sample : () -> % +--R keys : % -> List(Key) sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?=? : (%,%) -> Boolean if Record(key: Key,entry: Entry) has SETCAT --R any? : ((Record(key: Key,entry: Entry) -> Boolean),%) -> Boolean if $ has finiteAggregate ---R bag : List Record(key: Key,entry: Entry) -> % +--R bag : List(Record(key: Key,entry: Entry)) -> % --R coerce : % -> OutputForm if Record(key: Key,entry: Entry) has SETCAT ---R construct : List Record(key: Key,entry: Entry) -> % ---R convert : % -> InputForm if Record(key: Key,entry: Entry) has KONVERT INFORM +--R construct : List(Record(key: Key,entry: Entry)) -> % +--R convert : % -> InputForm if Record(key: Key,entry: Entry) has KONVERT(INFORM) --R count : (Record(key: Key,entry: Entry),%) -> NonNegativeInteger if Record(key: Key,entry: Entry) has SETCAT and $ has finiteAggregate --R count : ((Record(key: Key,entry: Entry) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R dictionary : List Record(key: Key,entry: Entry) -> % ---R eval : (%,List Record(key: Key,entry: Entry),List Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,Equation Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,List Equation Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT +--R dictionary : List(Record(key: Key,entry: Entry)) -> % +--R eval : (%,List(Record(key: Key,entry: Entry)),List(Record(key: Key,entry: Entry))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,Equation(Record(key: Key,entry: Entry))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,List(Equation(Record(key: Key,entry: Entry)))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT --R every? : ((Record(key: Key,entry: Entry) -> Boolean),%) -> Boolean if $ has finiteAggregate --R extract! : % -> Record(key: Key,entry: Entry) --R find : ((Record(key: Key,entry: Entry) -> Boolean),%) -> Union(Record(key: Key,entry: Entry),"failed") @@ -26857,9 +26931,9 @@ digraph pic { --R map : ((Record(key: Key,entry: Entry) -> Record(key: Key,entry: Entry)),%) -> % --R map! : ((Record(key: Key,entry: Entry) -> Record(key: Key,entry: Entry)),%) -> % if $ has shallowlyMutable --R member? : (Record(key: Key,entry: Entry),%) -> Boolean if Record(key: Key,entry: Entry) has SETCAT and $ has finiteAggregate ---R members : % -> List Record(key: Key,entry: Entry) if $ has finiteAggregate +--R members : % -> List(Record(key: Key,entry: Entry)) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List Record(key: Key,entry: Entry) if $ has finiteAggregate +--R parts : % -> List(Record(key: Key,entry: Entry)) if $ has finiteAggregate --R reduce : (((Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry)),%) -> Record(key: Key,entry: Entry) if $ has finiteAggregate --R reduce : (((Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry)),%,Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) if $ has finiteAggregate --R reduce : (((Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry)),%,Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) if Record(key: Key,entry: Entry) has SETCAT and $ has finiteAggregate @@ -27143,33 +27217,34 @@ digraph pic { --S 1 of 1 )show LazyStreamAggregate ---R LazyStreamAggregate S: Type is a category constructor +--R +--R LazyStreamAggregate(S: Type) is a category constructor --R Abbreviation for LazyStreamAggregate is LZSTAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for LZSTAGG --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % complete : % -> % ---R concat : (%,S) -> % concat : List % -> % +--R children : % -> List(%) complete : % -> % +--R concat : (%,S) -> % concat : List(%) -> % --R concat : (S,%) -> % concat : (%,%) -> % ---R construct : List S -> % copy : % -> % +--R construct : List(S) -> % copy : % -> % --R cycleEntry : % -> % cycleTail : % -> % --R cyclic? : % -> Boolean delete : (%,Integer) -> % --R distance : (%,%) -> Integer elt : (%,Integer,S) -> S --R ?.? : (%,Integer) -> S ?.last : (%,last) -> S --R ?.rest : (%,rest) -> % ?.first : (%,first) -> S --R ?.value : (%,value) -> S empty : () -> % ---R empty? : % -> Boolean entries : % -> List S +--R empty? : % -> Boolean entries : % -> List(S) --R eq? : (%,%) -> Boolean explicitEntries? : % -> Boolean --R explicitlyEmpty? : % -> Boolean explicitlyFinite? : % -> Boolean --R extend : (%,Integer) -> % first : % -> S --R frst : % -> S index? : (Integer,%) -> Boolean ---R indices : % -> List Integer insert : (S,%,Integer) -> % +--R indices : % -> List(Integer) insert : (S,%,Integer) -> % --R insert : (%,%,Integer) -> % last : % -> S --R lazy? : % -> Boolean lazyEvaluate : % -> % ---R leaf? : % -> Boolean leaves : % -> List S +--R leaf? : % -> Boolean leaves : % -> List(S) --R map : (((S,S) -> S),%,%) -> % map : ((S -> S),%) -> % ---R new : (NonNegativeInteger,S) -> % nodes : % -> List % +--R new : (NonNegativeInteger,S) -> % nodes : % -> List(%) --R possiblyInfinite? : % -> Boolean qelt : (%,Integer) -> S --R remove : ((S -> Boolean),%) -> % rest : % -> % --R rst : % -> % sample : () -> % @@ -27183,18 +27258,18 @@ digraph pic { --R coerce : % -> OutputForm if S has SETCAT --R concat! : (%,S) -> % if $ has shallowlyMutable --R concat! : (%,%) -> % if $ has shallowlyMutable ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R cycleLength : % -> NonNegativeInteger --R cycleSplit! : % -> % if $ has shallowlyMutable ---R delete : (%,UniversalSegment Integer) -> % ---R ?.? : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R entry? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,S) -> % if $ has shallowlyMutable --R find : ((S -> Boolean),%) -> Union(S,"failed") @@ -27206,12 +27281,12 @@ digraph pic { --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R node? : (%,%) -> Boolean if S has SETCAT --R numberOfComputedEntries : % -> NonNegativeInteger ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R qsetelt! : (%,Integer,S) -> S if $ has shallowlyMutable --R reduce : (((S,S) -> S),%,S,S) -> S if S has SETCAT and $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate @@ -27219,9 +27294,9 @@ digraph pic { --R remove : (S,%) -> % if S has SETCAT and $ has finiteAggregate --R removeDuplicates : % -> % if S has SETCAT and $ has finiteAggregate --R rest : (%,NonNegativeInteger) -> % ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable ---R setelt : (%,UniversalSegment Integer,S) -> S if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),S) -> S if $ has shallowlyMutable --R setelt : (%,last,S) -> S if $ has shallowlyMutable --R setelt : (%,rest,%) -> % if $ has shallowlyMutable --R setelt : (%,first,S) -> S if $ has shallowlyMutable @@ -28081,7 +28156,8 @@ digraph pic { --S 1 of 1 )show LeftModule ---R LeftModule R: Rng is a category constructor +--R +--R LeftModule(R: Rng) is a category constructor --R Abbreviation for LeftModule is LMODULE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for LMODULE @@ -28245,16 +28321,17 @@ digraph pic { --S 1 of 1 )show ListAggregate ---R ListAggregate S: Type is a category constructor +--R +--R ListAggregate(S: Type) is a category constructor --R Abbreviation for ListAggregate is LSAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for LSAGG --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % concat : (%,S) -> % ---R concat : List % -> % concat : (S,%) -> % +--R children : % -> List(%) concat : (%,S) -> % +--R concat : List(%) -> % concat : (S,%) -> % --R concat : (%,%) -> % concat! : (%,S) -> % ---R concat! : (%,%) -> % construct : List S -> % +--R concat! : (%,%) -> % construct : List(S) -> % --R copy : % -> % cycleEntry : % -> % --R cycleTail : % -> % cyclic? : % -> Boolean --R delete : (%,Integer) -> % delete! : (%,Integer) -> % @@ -28262,16 +28339,16 @@ digraph pic { --R ?.? : (%,Integer) -> S ?.last : (%,last) -> S --R ?.rest : (%,rest) -> % ?.first : (%,first) -> S --R ?.value : (%,value) -> S empty : () -> % ---R empty? : % -> Boolean entries : % -> List S +--R empty? : % -> Boolean entries : % -> List(S) --R eq? : (%,%) -> Boolean explicitlyFinite? : % -> Boolean --R first : % -> S index? : (Integer,%) -> Boolean ---R indices : % -> List Integer insert : (S,%,Integer) -> % +--R indices : % -> List(Integer) insert : (S,%,Integer) -> % --R insert : (%,%,Integer) -> % insert! : (S,%,Integer) -> % --R insert! : (%,%,Integer) -> % last : % -> S ---R leaf? : % -> Boolean leaves : % -> List S +--R leaf? : % -> Boolean leaves : % -> List(S) --R list : S -> % map : (((S,S) -> S),%,%) -> % --R map : ((S -> S),%) -> % new : (NonNegativeInteger,S) -> % ---R nodes : % -> List % possiblyInfinite? : % -> Boolean +--R nodes : % -> List(%) possiblyInfinite? : % -> Boolean --R qelt : (%,Integer) -> S rest : % -> % --R reverse : % -> % sample : () -> % --R second : % -> S tail : % -> % @@ -28285,20 +28362,20 @@ digraph pic { --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R child? : (%,%) -> Boolean if S has SETCAT --R coerce : % -> OutputForm if S has SETCAT ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R cycleLength : % -> NonNegativeInteger --R cycleSplit! : % -> % if $ has shallowlyMutable ---R delete : (%,UniversalSegment Integer) -> % ---R delete! : (%,UniversalSegment Integer) -> % ---R ?.? : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % +--R delete! : (%,UniversalSegment(Integer)) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R entry? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,S) -> % if $ has shallowlyMutable --R find : ((S -> Boolean),%) -> Union(S,"failed") @@ -28311,7 +28388,7 @@ digraph pic { --R max : (%,%) -> % if S has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R merge : (((S,S) -> Boolean),%,%) -> % --R merge : (%,%) -> % if S has ORDSET --R merge! : (((S,S) -> Boolean),%,%) -> % @@ -28320,7 +28397,7 @@ digraph pic { --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R node? : (%,%) -> Boolean if S has SETCAT ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R position : ((S -> Boolean),%) -> Integer --R position : (S,%) -> Integer if S has SETCAT --R position : (S,%,Integer) -> Integer if S has SETCAT @@ -28338,9 +28415,9 @@ digraph pic { --R reverse! : % -> % if $ has shallowlyMutable --R select : ((S -> Boolean),%) -> % if $ has finiteAggregate --R select! : ((S -> Boolean),%) -> % ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable ---R setelt : (%,UniversalSegment Integer,S) -> S if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),S) -> S if $ has shallowlyMutable --R setelt : (%,last,S) -> S if $ has shallowlyMutable --R setelt : (%,rest,%) -> % if $ has shallowlyMutable --R setelt : (%,first,S) -> S if $ has shallowlyMutable @@ -28961,17 +29038,18 @@ digraph pic { --S 1 of 1 )show MultisetAggregate ---R MultisetAggregate S: SetCategory is a category constructor +--R +--R MultisetAggregate(S: SetCategory) is a category constructor --R Abbreviation for MultisetAggregate is MSETAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for MSETAGG --R --R------------------------------- Operations -------------------------------- --R ? Boolean ?=? : (%,%) -> Boolean ---R bag : List S -> % brace : () -> % ---R brace : List S -> % coerce : % -> OutputForm ---R construct : List S -> % copy : % -> % ---R dictionary : List S -> % dictionary : () -> % +--R bag : List(S) -> % brace : () -> % +--R brace : List(S) -> % coerce : % -> OutputForm +--R construct : List(S) -> % copy : % -> % +--R dictionary : List(S) -> % dictionary : () -> % --R difference : (%,%) -> % difference : (%,S) -> % --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean extract! : % -> S @@ -28979,29 +29057,29 @@ digraph pic { --R inspect : % -> S intersect : (%,%) -> % --R latex : % -> String map : ((S -> S),%) -> % --R removeDuplicates! : % -> % sample : () -> % ---R set : () -> % set : List S -> % +--R set : () -> % set : List(S) -> % --R subset? : (%,%) -> Boolean union : (%,%) -> % --R union : (%,S) -> % union : (S,%) -> % --R ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R duplicates : % -> List Record(entry: S,count: NonNegativeInteger) ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R duplicates : % -> List(Record(entry: S,count: NonNegativeInteger)) +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R find : ((S -> Boolean),%) -> Union(S,"failed") --R insert! : (S,%,NonNegativeInteger) -> % --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R reduce : (((S,S) -> S),%) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S,S) -> S if S has SETCAT and $ has finiteAggregate @@ -29452,20 +29530,21 @@ digraph pic { --S 1 of 1 )show OneDimensionalArrayAggregate ---R OneDimensionalArrayAggregate S: Type is a category constructor +--R +--R OneDimensionalArrayAggregate(S: Type) is a category constructor --R Abbreviation for OneDimensionalArrayAggregate is A1AGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for A1AGG --R --R------------------------------- Operations -------------------------------- ---R concat : List % -> % concat : (%,%) -> % +--R concat : List(%) -> % concat : (%,%) -> % --R concat : (S,%) -> % concat : (%,S) -> % ---R construct : List S -> % copy : % -> % +--R construct : List(S) -> % copy : % -> % --R delete : (%,Integer) -> % ?.? : (%,Integer) -> S --R elt : (%,Integer,S) -> S empty : () -> % ---R empty? : % -> Boolean entries : % -> List S +--R empty? : % -> Boolean entries : % -> List(S) --R eq? : (%,%) -> Boolean index? : (Integer,%) -> Boolean ---R indices : % -> List Integer insert : (%,%,Integer) -> % +--R indices : % -> List(Integer) insert : (%,%,Integer) -> % --R insert : (S,%,Integer) -> % map : (((S,S) -> S),%,%) -> % --R map : ((S -> S),%) -> % new : (NonNegativeInteger,S) -> % --R qelt : (%,Integer) -> S reverse : % -> % @@ -29478,17 +29557,17 @@ digraph pic { --R ?>=? : (%,%) -> Boolean if S has ORDSET --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if S has SETCAT ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R delete : (%,UniversalSegment Integer) -> % ---R ?.? : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R entry? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,S) -> % if $ has shallowlyMutable --R find : ((S -> Boolean),%) -> Union(S,"failed") @@ -29500,13 +29579,13 @@ digraph pic { --R max : (%,%) -> % if S has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R merge : (%,%) -> % if S has ORDSET --R merge : (((S,S) -> Boolean),%,%) -> % --R min : (%,%) -> % if S has ORDSET --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R position : (S,%,Integer) -> Integer if S has SETCAT --R position : (S,%) -> Integer if S has SETCAT --R position : ((S -> Boolean),%) -> Integer @@ -29519,7 +29598,7 @@ digraph pic { --R removeDuplicates : % -> % if S has SETCAT and $ has finiteAggregate --R reverse! : % -> % if $ has shallowlyMutable --R select : ((S -> Boolean),%) -> % if $ has finiteAggregate ---R setelt : (%,UniversalSegment Integer,S) -> S if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),S) -> S if $ has shallowlyMutable --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean --R sort : % -> % if S has ORDSET @@ -30218,6 +30297,7 @@ digraph pic { --S 1 of 1 )show RegularTriangularSetCategory +--R --R RegularTriangularSetCategory(R: GcdDomain,E: OrderedAbelianMonoidSup,V: OrderedSet,P: RecursivePolynomialCategory(t#1,t#2,t#3)) is a category constructor --R Abbreviation for RegularTriangularSetCategory is RSETCAT --R This constructor is exposed in this frame. @@ -30225,71 +30305,72 @@ digraph pic { --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean algebraic? : (V,%) -> Boolean ---R algebraicVariables : % -> List V augment : (List P,%) -> List % ---R augment : (P,List %) -> List % augment : (P,%) -> List % ---R coerce : % -> List P coerce : % -> OutputForm +--R algebraicVariables : % -> List(V) augment : (List(P),%) -> List(%) +--R augment : (P,List(%)) -> List(%) augment : (P,%) -> List(%) +--R coerce : % -> List(P) coerce : % -> OutputForm --R collect : (%,V) -> % collectQuasiMonic : % -> % --R collectUnder : (%,V) -> % collectUpper : (%,V) -> % ---R construct : List P -> % copy : % -> % +--R construct : List(P) -> % copy : % -> % --R degree : % -> NonNegativeInteger empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean ---R extend : (List P,%) -> List % extend : (P,List %) -> List % ---R extend : (P,%) -> List % extend : (%,P) -> % +--R extend : (List(P),%) -> List(%) extend : (P,List(%)) -> List(%) +--R extend : (P,%) -> List(%) extend : (%,P) -> % --R first : % -> Union(P,"failed") hash : % -> SingleInteger --R headReduce : (P,%) -> P headReduced? : % -> Boolean --R headReduced? : (P,%) -> Boolean infRittWu? : (%,%) -> Boolean --R initiallyReduce : (P,%) -> P initiallyReduced? : % -> Boolean ---R initials : % -> List P internalAugment : (P,%) -> % ---R intersect : (P,List %) -> List % intersect : (List P,%) -> List % ---R intersect : (P,%) -> List % invertible? : (P,%) -> Boolean ---R invertibleSet : (P,%) -> List % last : % -> Union(P,"failed") +--R initials : % -> List(P) internalAugment : (P,%) -> % +--R intersect : (P,%) -> List(%) invertible? : (P,%) -> Boolean +--R invertibleSet : (P,%) -> List(%) last : % -> Union(P,"failed") --R latex : % -> String mainVariable? : (V,%) -> Boolean ---R mainVariables : % -> List V map : ((P -> P),%) -> % +--R mainVariables : % -> List(V) map : ((P -> P),%) -> % --R mvar : % -> V normalized? : % -> Boolean --R normalized? : (P,%) -> Boolean purelyAlgebraic? : % -> Boolean --R reduceByQuasiMonic : (P,%) -> P removeZero : (P,%) -> P ---R rest : % -> Union(%,"failed") retract : List P -> % +--R rest : % -> Union(%,"failed") retract : List(P) -> % --R sample : () -> % stronglyReduce : (P,%) -> P --R stronglyReduced? : % -> Boolean trivialIdeal? : % -> Boolean ---R variables : % -> List V zeroSetSplit : List P -> List % +--R variables : % -> List(V) zeroSetSplit : List(P) -> List(%) --R ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R algebraicCoefficients? : (P,%) -> Boolean --R any? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate ---R augment : (List P,List %) -> List % ---R autoReduced? : (%,((P,List P) -> Boolean)) -> Boolean ---R basicSet : (List P,(P -> Boolean),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List P),"failed") ---R basicSet : (List P,((P,P) -> Boolean)) -> Union(Record(bas: %,top: List P),"failed") +--R augment : (List(P),List(%)) -> List(%) +--R autoReduced? : (%,((P,List(P)) -> Boolean)) -> Boolean +--R basicSet : (List(P),(P -> Boolean),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List(P)),"failed") +--R basicSet : (List(P),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List(P)),"failed") --R coHeight : % -> NonNegativeInteger if V has FINITE ---R convert : % -> InputForm if P has KONVERT INFORM +--R convert : % -> InputForm if P has KONVERT(INFORM) --R count : ((P -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (P,%) -> NonNegativeInteger if P has SETCAT and $ has finiteAggregate ---R eval : (%,List Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,P,P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,List P,List P) -> % if P has EVALAB P and P has SETCAT +--R eval : (%,List(Equation(P))) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,Equation(P)) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,P,P) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,List(P),List(P)) -> % if P has EVALAB(P) and P has SETCAT --R every? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate ---R extend : (List P,List %) -> List % +--R extend : (List(P),List(%)) -> List(%) --R extendIfCan : (%,P) -> Union(%,"failed") --R find : ((P -> Boolean),%) -> Union(P,"failed") --R headRemainder : (P,%) -> Record(num: P,den: R) if R has INTDOM --R initiallyReduced? : (P,%) -> Boolean ---R internalAugment : (List P,%) -> % ---R intersect : (List P,List %) -> List % ---R invertible? : (P,%) -> List Record(val: Boolean,tower: %) ---R invertibleElseSplit? : (P,%) -> Union(Boolean,List %) ---R lastSubResultant : (P,P,%) -> List Record(val: P,tower: %) ---R lastSubResultantElseSplit : (P,P,%) -> Union(P,List %) +--R internalAugment : (List(P),%) -> % +--R intersect : (P,List(%)) -> List(%) +--R intersect : (List(P),List(%)) -> List(%) +--R intersect : (List(P),%) -> List(%) +--R invertible? : (P,%) -> List(Record(val: Boolean,tower: %)) +--R invertibleElseSplit? : (P,%) -> Union(Boolean,List(%)) +--R lastSubResultant : (P,P,%) -> List(Record(val: P,tower: %)) +--R lastSubResultantElseSplit : (P,P,%) -> Union(P,List(%)) --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((P -> P),%) -> % if $ has shallowlyMutable --R member? : (P,%) -> Boolean if P has SETCAT and $ has finiteAggregate ---R members : % -> List P if $ has finiteAggregate +--R members : % -> List(P) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List P if $ has finiteAggregate +--R parts : % -> List(P) if $ has finiteAggregate --R purelyAlgebraic? : (P,%) -> Boolean --R purelyAlgebraicLeadingMonomial? : (P,%) -> Boolean --R purelyTranscendental? : (P,%) -> Boolean ---R quasiComponent : % -> Record(close: List P,open: List P) +--R quasiComponent : % -> Record(close: List(P),open: List(P)) --R reduce : (P,%,((P,P) -> P),((P,P) -> Boolean)) -> P --R reduce : (((P,P) -> P),%) -> P if $ has finiteAggregate --R reduce : (((P,P) -> P),%,P) -> P if $ has finiteAggregate @@ -30299,10 +30380,10 @@ digraph pic { --R remove : ((P -> Boolean),%) -> % if $ has finiteAggregate --R remove : (P,%) -> % if P has SETCAT and $ has finiteAggregate --R removeDuplicates : % -> % if P has SETCAT and $ has finiteAggregate ---R retractIfCan : List P -> Union(%,"failed") ---R rewriteIdealWithHeadRemainder : (List P,%) -> List P if R has INTDOM ---R rewriteIdealWithRemainder : (List P,%) -> List P if R has INTDOM ---R rewriteSetWithReduction : (List P,%,((P,P) -> P),((P,P) -> Boolean)) -> List P +--R retractIfCan : List(P) -> Union(%,"failed") +--R rewriteIdealWithHeadRemainder : (List(P),%) -> List(P) if R has INTDOM +--R rewriteIdealWithRemainder : (List(P),%) -> List(P) if R has INTDOM +--R rewriteSetWithReduction : (List(P),%,((P,P) -> P),((P,P) -> Boolean)) -> List(P) --R roughBase? : % -> Boolean if R has INTDOM --R roughEqualIdeals? : (%,%) -> Boolean if R has INTDOM --R roughSubIdeal? : (%,%) -> Boolean if R has INTDOM @@ -30311,11 +30392,11 @@ digraph pic { --R select : ((P -> Boolean),%) -> % if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean --R sort : (%,V) -> Record(under: %,floor: %,upper: %) ---R squareFreePart : (P,%) -> List Record(val: P,tower: %) +--R squareFreePart : (P,%) -> List(Record(val: P,tower: %)) --R stronglyReduced? : (P,%) -> Boolean --R triangular? : % -> Boolean if R has INTDOM ---R zeroSetSplit : (List P,Boolean) -> List % ---R zeroSetSplitIntoTriangularSystems : List P -> List Record(close: %,open: List P) +--R zeroSetSplit : (List(P),Boolean) -> List(%) +--R zeroSetSplitIntoTriangularSystems : List(P) -> List(Record(close: %,open: List(P))) --R --E 1 @@ -31001,7 +31082,8 @@ digraph pic { --S 1 of 1 )show RightModule ---R RightModule R: Rng is a category constructor +--R +--R RightModule(R: Rng) is a category constructor --R Abbreviation for RightModule is RMODULE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for RMODULE @@ -31523,6 +31605,7 @@ digraph pic { --S 1 of 1 )show BitAggregate +--R --R BitAggregate is a category constructor --R Abbreviation for BitAggregate is BTAGG --R This constructor is exposed in this frame. @@ -31535,13 +31618,13 @@ digraph pic { --R ?\/? : (%,%) -> % ^? : % -> % --R ?and? : (%,%) -> % coerce : % -> OutputForm --R concat : (%,Boolean) -> % concat : (Boolean,%) -> % ---R concat : (%,%) -> % concat : List % -> % ---R construct : List Boolean -> % copy : % -> % +--R concat : (%,%) -> % concat : List(%) -> % +--R construct : List(Boolean) -> % copy : % -> % --R delete : (%,Integer) -> % ?.? : (%,Integer) -> Boolean --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List Boolean eq? : (%,%) -> Boolean +--R entries : % -> List(Boolean) eq? : (%,%) -> Boolean --R hash : % -> SingleInteger index? : (Integer,%) -> Boolean ---R indices : % -> List Integer insert : (%,%,Integer) -> % +--R indices : % -> List(Integer) insert : (%,%,Integer) -> % --R latex : % -> String max : (%,%) -> % --R min : (%,%) -> % nand : (%,%) -> % --R nor : (%,%) -> % not? : % -> % @@ -31551,18 +31634,18 @@ digraph pic { --R ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R any? : ((Boolean -> Boolean),%) -> Boolean if $ has finiteAggregate ---R convert : % -> InputForm if Boolean has KONVERT INFORM +--R convert : % -> InputForm if Boolean has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable --R count : ((Boolean -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (Boolean,%) -> NonNegativeInteger if Boolean has SETCAT and $ has finiteAggregate ---R delete : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % --R elt : (%,Integer,Boolean) -> Boolean ---R ?.? : (%,UniversalSegment Integer) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R entry? : (Boolean,%) -> Boolean if $ has finiteAggregate and Boolean has SETCAT ---R eval : (%,List Equation Boolean) -> % if Boolean has EVALAB BOOLEAN and Boolean has SETCAT ---R eval : (%,Equation Boolean) -> % if Boolean has EVALAB BOOLEAN and Boolean has SETCAT ---R eval : (%,Boolean,Boolean) -> % if Boolean has EVALAB BOOLEAN and Boolean has SETCAT ---R eval : (%,List Boolean,List Boolean) -> % if Boolean has EVALAB BOOLEAN and Boolean has SETCAT +--R eval : (%,List(Equation(Boolean))) -> % if Boolean has EVALAB(BOOLEAN) and Boolean has SETCAT +--R eval : (%,Equation(Boolean)) -> % if Boolean has EVALAB(BOOLEAN) and Boolean has SETCAT +--R eval : (%,Boolean,Boolean) -> % if Boolean has EVALAB(BOOLEAN) and Boolean has SETCAT +--R eval : (%,List(Boolean),List(Boolean)) -> % if Boolean has EVALAB(BOOLEAN) and Boolean has SETCAT --R every? : ((Boolean -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,Boolean) -> % if $ has shallowlyMutable --R find : ((Boolean -> Boolean),%) -> Union(Boolean,"failed") @@ -31574,13 +31657,13 @@ digraph pic { --R map! : ((Boolean -> Boolean),%) -> % if $ has shallowlyMutable --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (Boolean,%) -> Boolean if Boolean has SETCAT and $ has finiteAggregate ---R members : % -> List Boolean if $ has finiteAggregate +--R members : % -> List(Boolean) if $ has finiteAggregate --R merge : (((Boolean,Boolean) -> Boolean),%,%) -> % --R merge : (%,%) -> % if Boolean has ORDSET --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R new : (NonNegativeInteger,Boolean) -> % ---R parts : % -> List Boolean if $ has finiteAggregate +--R parts : % -> List(Boolean) if $ has finiteAggregate --R position : ((Boolean -> Boolean),%) -> Integer --R position : (Boolean,%) -> Integer if Boolean has SETCAT --R position : (Boolean,%,Integer) -> Integer if Boolean has SETCAT @@ -31594,7 +31677,7 @@ digraph pic { --R reverse! : % -> % if $ has shallowlyMutable --R select : ((Boolean -> Boolean),%) -> % if $ has finiteAggregate --R setelt : (%,Integer,Boolean) -> Boolean if $ has shallowlyMutable ---R setelt : (%,UniversalSegment Integer,Boolean) -> Boolean if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),Boolean) -> Boolean if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean --R sort : (((Boolean,Boolean) -> Boolean),%) -> % --R sort : % -> % if Boolean has ORDSET @@ -32207,6 +32290,7 @@ digraph pic { --S 1 of 1 )show NormalizedTriangularSetCategory +--R --R NormalizedTriangularSetCategory(R: GcdDomain,E: OrderedAbelianMonoidSup,V: OrderedSet,P: RecursivePolynomialCategory(t#1,t#2,t#3)) is a category constructor --R Abbreviation for NormalizedTriangularSetCategory is NTSCAT --R This constructor is exposed in this frame. @@ -32214,71 +32298,72 @@ digraph pic { --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean algebraic? : (V,%) -> Boolean ---R algebraicVariables : % -> List V augment : (List P,%) -> List % ---R augment : (P,List %) -> List % augment : (P,%) -> List % ---R coerce : % -> List P coerce : % -> OutputForm +--R algebraicVariables : % -> List(V) augment : (List(P),%) -> List(%) +--R augment : (P,List(%)) -> List(%) augment : (P,%) -> List(%) +--R coerce : % -> List(P) coerce : % -> OutputForm --R collect : (%,V) -> % collectQuasiMonic : % -> % --R collectUnder : (%,V) -> % collectUpper : (%,V) -> % ---R construct : List P -> % copy : % -> % +--R construct : List(P) -> % copy : % -> % --R degree : % -> NonNegativeInteger empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean ---R extend : (List P,%) -> List % extend : (P,List %) -> List % ---R extend : (P,%) -> List % extend : (%,P) -> % +--R extend : (List(P),%) -> List(%) extend : (P,List(%)) -> List(%) +--R extend : (P,%) -> List(%) extend : (%,P) -> % --R first : % -> Union(P,"failed") hash : % -> SingleInteger --R headReduce : (P,%) -> P headReduced? : % -> Boolean --R headReduced? : (P,%) -> Boolean infRittWu? : (%,%) -> Boolean --R initiallyReduce : (P,%) -> P initiallyReduced? : % -> Boolean ---R initials : % -> List P internalAugment : (P,%) -> % ---R intersect : (P,List %) -> List % intersect : (List P,%) -> List % ---R intersect : (P,%) -> List % invertible? : (P,%) -> Boolean ---R invertibleSet : (P,%) -> List % last : % -> Union(P,"failed") +--R initials : % -> List(P) internalAugment : (P,%) -> % +--R intersect : (P,%) -> List(%) invertible? : (P,%) -> Boolean +--R invertibleSet : (P,%) -> List(%) last : % -> Union(P,"failed") --R latex : % -> String mainVariable? : (V,%) -> Boolean ---R mainVariables : % -> List V map : ((P -> P),%) -> % +--R mainVariables : % -> List(V) map : ((P -> P),%) -> % --R mvar : % -> V normalized? : % -> Boolean --R normalized? : (P,%) -> Boolean purelyAlgebraic? : % -> Boolean --R reduceByQuasiMonic : (P,%) -> P removeZero : (P,%) -> P ---R rest : % -> Union(%,"failed") retract : List P -> % +--R rest : % -> Union(%,"failed") retract : List(P) -> % --R sample : () -> % stronglyReduce : (P,%) -> P --R stronglyReduced? : % -> Boolean trivialIdeal? : % -> Boolean ---R variables : % -> List V zeroSetSplit : List P -> List % +--R variables : % -> List(V) zeroSetSplit : List(P) -> List(%) --R ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R algebraicCoefficients? : (P,%) -> Boolean --R any? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate ---R augment : (List P,List %) -> List % ---R autoReduced? : (%,((P,List P) -> Boolean)) -> Boolean ---R basicSet : (List P,(P -> Boolean),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List P),"failed") ---R basicSet : (List P,((P,P) -> Boolean)) -> Union(Record(bas: %,top: List P),"failed") +--R augment : (List(P),List(%)) -> List(%) +--R autoReduced? : (%,((P,List(P)) -> Boolean)) -> Boolean +--R basicSet : (List(P),(P -> Boolean),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List(P)),"failed") +--R basicSet : (List(P),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List(P)),"failed") --R coHeight : % -> NonNegativeInteger if V has FINITE ---R convert : % -> InputForm if P has KONVERT INFORM +--R convert : % -> InputForm if P has KONVERT(INFORM) --R count : ((P -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (P,%) -> NonNegativeInteger if P has SETCAT and $ has finiteAggregate ---R eval : (%,List Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,P,P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,List P,List P) -> % if P has EVALAB P and P has SETCAT +--R eval : (%,List(Equation(P))) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,Equation(P)) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,P,P) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,List(P),List(P)) -> % if P has EVALAB(P) and P has SETCAT --R every? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate ---R extend : (List P,List %) -> List % +--R extend : (List(P),List(%)) -> List(%) --R extendIfCan : (%,P) -> Union(%,"failed") --R find : ((P -> Boolean),%) -> Union(P,"failed") --R headRemainder : (P,%) -> Record(num: P,den: R) if R has INTDOM --R initiallyReduced? : (P,%) -> Boolean ---R internalAugment : (List P,%) -> % ---R intersect : (List P,List %) -> List % ---R invertible? : (P,%) -> List Record(val: Boolean,tower: %) ---R invertibleElseSplit? : (P,%) -> Union(Boolean,List %) ---R lastSubResultant : (P,P,%) -> List Record(val: P,tower: %) ---R lastSubResultantElseSplit : (P,P,%) -> Union(P,List %) +--R internalAugment : (List(P),%) -> % +--R intersect : (P,List(%)) -> List(%) +--R intersect : (List(P),List(%)) -> List(%) +--R intersect : (List(P),%) -> List(%) +--R invertible? : (P,%) -> List(Record(val: Boolean,tower: %)) +--R invertibleElseSplit? : (P,%) -> Union(Boolean,List(%)) +--R lastSubResultant : (P,P,%) -> List(Record(val: P,tower: %)) +--R lastSubResultantElseSplit : (P,P,%) -> Union(P,List(%)) --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((P -> P),%) -> % if $ has shallowlyMutable --R member? : (P,%) -> Boolean if P has SETCAT and $ has finiteAggregate ---R members : % -> List P if $ has finiteAggregate +--R members : % -> List(P) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List P if $ has finiteAggregate +--R parts : % -> List(P) if $ has finiteAggregate --R purelyAlgebraic? : (P,%) -> Boolean --R purelyAlgebraicLeadingMonomial? : (P,%) -> Boolean --R purelyTranscendental? : (P,%) -> Boolean ---R quasiComponent : % -> Record(close: List P,open: List P) +--R quasiComponent : % -> Record(close: List(P),open: List(P)) --R reduce : (P,%,((P,P) -> P),((P,P) -> Boolean)) -> P --R reduce : (((P,P) -> P),%) -> P if $ has finiteAggregate --R reduce : (((P,P) -> P),%,P) -> P if $ has finiteAggregate @@ -32288,10 +32373,10 @@ digraph pic { --R remove : ((P -> Boolean),%) -> % if $ has finiteAggregate --R remove : (P,%) -> % if P has SETCAT and $ has finiteAggregate --R removeDuplicates : % -> % if P has SETCAT and $ has finiteAggregate ---R retractIfCan : List P -> Union(%,"failed") ---R rewriteIdealWithHeadRemainder : (List P,%) -> List P if R has INTDOM ---R rewriteIdealWithRemainder : (List P,%) -> List P if R has INTDOM ---R rewriteSetWithReduction : (List P,%,((P,P) -> P),((P,P) -> Boolean)) -> List P +--R retractIfCan : List(P) -> Union(%,"failed") +--R rewriteIdealWithHeadRemainder : (List(P),%) -> List(P) if R has INTDOM +--R rewriteIdealWithRemainder : (List(P),%) -> List(P) if R has INTDOM +--R rewriteSetWithReduction : (List(P),%,((P,P) -> P),((P,P) -> Boolean)) -> List(P) --R roughBase? : % -> Boolean if R has INTDOM --R roughEqualIdeals? : (%,%) -> Boolean if R has INTDOM --R roughSubIdeal? : (%,%) -> Boolean if R has INTDOM @@ -32300,11 +32385,11 @@ digraph pic { --R select : ((P -> Boolean),%) -> % if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean --R sort : (%,V) -> Record(under: %,floor: %,upper: %) ---R squareFreePart : (P,%) -> List Record(val: P,tower: %) +--R squareFreePart : (P,%) -> List(Record(val: P,tower: %)) --R stronglyReduced? : (P,%) -> Boolean --R triangular? : % -> Boolean if R has INTDOM ---R zeroSetSplit : (List P,Boolean) -> List % ---R zeroSetSplitIntoTriangularSystems : List P -> List Record(close: %,open: List P) +--R zeroSetSplit : (List(P),Boolean) -> List(%) +--R zeroSetSplitIntoTriangularSystems : List(P) -> List(Record(close: %,open: List(P))) --R --E 1 @@ -33023,17 +33108,18 @@ digraph pic { --S 1 of 1 )show OrderedMultisetAggregate ---R OrderedMultisetAggregate S: OrderedSet is a category constructor +--R +--R OrderedMultisetAggregate(S: OrderedSet) is a category constructor --R Abbreviation for OrderedMultisetAggregate is OMSAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for OMSAGG --R --R------------------------------- Operations -------------------------------- --R ? Boolean ?=? : (%,%) -> Boolean ---R bag : List S -> % brace : () -> % ---R brace : List S -> % coerce : % -> OutputForm ---R construct : List S -> % copy : % -> % ---R dictionary : List S -> % dictionary : () -> % +--R bag : List(S) -> % brace : () -> % +--R brace : List(S) -> % coerce : % -> OutputForm +--R construct : List(S) -> % copy : % -> % +--R dictionary : List(S) -> % dictionary : () -> % --R difference : (%,%) -> % difference : (%,S) -> % --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean extract! : % -> S @@ -33043,29 +33129,29 @@ digraph pic { --R max : % -> S merge : (%,%) -> % --R merge! : (%,%) -> % min : % -> S --R removeDuplicates! : % -> % sample : () -> % ---R set : () -> % set : List S -> % +--R set : () -> % set : List(S) -> % --R subset? : (%,%) -> Boolean union : (%,%) -> % --R union : (%,S) -> % union : (S,%) -> % --R ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate ---R convert : % -> InputForm if S has KONVERT INFORM +--R convert : % -> InputForm if S has KONVERT(INFORM) --R count : (S,%) -> NonNegativeInteger if S has SETCAT and $ has finiteAggregate --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R duplicates : % -> List Record(entry: S,count: NonNegativeInteger) ---R eval : (%,List S,List S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,S,S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,Equation S) -> % if S has EVALAB S and S has SETCAT ---R eval : (%,List Equation S) -> % if S has EVALAB S and S has SETCAT +--R duplicates : % -> List(Record(entry: S,count: NonNegativeInteger)) +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,S,S) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) and S has SETCAT +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) and S has SETCAT --R every? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R find : ((S -> Boolean),%) -> Union(S,"failed") --R insert! : (S,%,NonNegativeInteger) -> % --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if S has SETCAT and $ has finiteAggregate ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R reduce : (((S,S) -> S),%) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S) -> S if $ has finiteAggregate --R reduce : (((S,S) -> S),%,S,S) -> S if S has SETCAT and $ has finiteAggregate @@ -33593,6 +33679,7 @@ digraph pic { --S 1 of 1 )show SquareFreeRegularTriangularSetCategory +--R --R SquareFreeRegularTriangularSetCategory(R: GcdDomain,E: OrderedAbelianMonoidSup,V: OrderedSet,P: RecursivePolynomialCategory(t#1,t#2,t#3)) is a category constructor --R Abbreviation for SquareFreeRegularTriangularSetCategory is SFRTCAT --R This constructor is exposed in this frame. @@ -33600,71 +33687,72 @@ digraph pic { --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean algebraic? : (V,%) -> Boolean ---R algebraicVariables : % -> List V augment : (List P,%) -> List % ---R augment : (P,List %) -> List % augment : (P,%) -> List % ---R coerce : % -> List P coerce : % -> OutputForm +--R algebraicVariables : % -> List(V) augment : (List(P),%) -> List(%) +--R augment : (P,List(%)) -> List(%) augment : (P,%) -> List(%) +--R coerce : % -> List(P) coerce : % -> OutputForm --R collect : (%,V) -> % collectQuasiMonic : % -> % --R collectUnder : (%,V) -> % collectUpper : (%,V) -> % ---R construct : List P -> % copy : % -> % +--R construct : List(P) -> % copy : % -> % --R degree : % -> NonNegativeInteger empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean ---R extend : (List P,%) -> List % extend : (P,List %) -> List % ---R extend : (P,%) -> List % extend : (%,P) -> % +--R extend : (List(P),%) -> List(%) extend : (P,List(%)) -> List(%) +--R extend : (P,%) -> List(%) extend : (%,P) -> % --R first : % -> Union(P,"failed") hash : % -> SingleInteger --R headReduce : (P,%) -> P headReduced? : % -> Boolean --R headReduced? : (P,%) -> Boolean infRittWu? : (%,%) -> Boolean --R initiallyReduce : (P,%) -> P initiallyReduced? : % -> Boolean ---R initials : % -> List P internalAugment : (P,%) -> % ---R intersect : (P,List %) -> List % intersect : (List P,%) -> List % ---R intersect : (P,%) -> List % invertible? : (P,%) -> Boolean ---R invertibleSet : (P,%) -> List % last : % -> Union(P,"failed") +--R initials : % -> List(P) internalAugment : (P,%) -> % +--R intersect : (P,%) -> List(%) invertible? : (P,%) -> Boolean +--R invertibleSet : (P,%) -> List(%) last : % -> Union(P,"failed") --R latex : % -> String mainVariable? : (V,%) -> Boolean ---R mainVariables : % -> List V map : ((P -> P),%) -> % +--R mainVariables : % -> List(V) map : ((P -> P),%) -> % --R mvar : % -> V normalized? : % -> Boolean --R normalized? : (P,%) -> Boolean purelyAlgebraic? : % -> Boolean --R reduceByQuasiMonic : (P,%) -> P removeZero : (P,%) -> P ---R rest : % -> Union(%,"failed") retract : List P -> % +--R rest : % -> Union(%,"failed") retract : List(P) -> % --R sample : () -> % stronglyReduce : (P,%) -> P --R stronglyReduced? : % -> Boolean trivialIdeal? : % -> Boolean ---R variables : % -> List V zeroSetSplit : List P -> List % +--R variables : % -> List(V) zeroSetSplit : List(P) -> List(%) --R ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R algebraicCoefficients? : (P,%) -> Boolean --R any? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate ---R augment : (List P,List %) -> List % ---R autoReduced? : (%,((P,List P) -> Boolean)) -> Boolean ---R basicSet : (List P,(P -> Boolean),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List P),"failed") ---R basicSet : (List P,((P,P) -> Boolean)) -> Union(Record(bas: %,top: List P),"failed") +--R augment : (List(P),List(%)) -> List(%) +--R autoReduced? : (%,((P,List(P)) -> Boolean)) -> Boolean +--R basicSet : (List(P),(P -> Boolean),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List(P)),"failed") +--R basicSet : (List(P),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List(P)),"failed") --R coHeight : % -> NonNegativeInteger if V has FINITE ---R convert : % -> InputForm if P has KONVERT INFORM +--R convert : % -> InputForm if P has KONVERT(INFORM) --R count : ((P -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (P,%) -> NonNegativeInteger if P has SETCAT and $ has finiteAggregate ---R eval : (%,List Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,P,P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,List P,List P) -> % if P has EVALAB P and P has SETCAT +--R eval : (%,List(Equation(P))) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,Equation(P)) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,P,P) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,List(P),List(P)) -> % if P has EVALAB(P) and P has SETCAT --R every? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate ---R extend : (List P,List %) -> List % +--R extend : (List(P),List(%)) -> List(%) --R extendIfCan : (%,P) -> Union(%,"failed") --R find : ((P -> Boolean),%) -> Union(P,"failed") --R headRemainder : (P,%) -> Record(num: P,den: R) if R has INTDOM --R initiallyReduced? : (P,%) -> Boolean ---R internalAugment : (List P,%) -> % ---R intersect : (List P,List %) -> List % ---R invertible? : (P,%) -> List Record(val: Boolean,tower: %) ---R invertibleElseSplit? : (P,%) -> Union(Boolean,List %) ---R lastSubResultant : (P,P,%) -> List Record(val: P,tower: %) ---R lastSubResultantElseSplit : (P,P,%) -> Union(P,List %) +--R internalAugment : (List(P),%) -> % +--R intersect : (P,List(%)) -> List(%) +--R intersect : (List(P),List(%)) -> List(%) +--R intersect : (List(P),%) -> List(%) +--R invertible? : (P,%) -> List(Record(val: Boolean,tower: %)) +--R invertibleElseSplit? : (P,%) -> Union(Boolean,List(%)) +--R lastSubResultant : (P,P,%) -> List(Record(val: P,tower: %)) +--R lastSubResultantElseSplit : (P,P,%) -> Union(P,List(%)) --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((P -> P),%) -> % if $ has shallowlyMutable --R member? : (P,%) -> Boolean if P has SETCAT and $ has finiteAggregate ---R members : % -> List P if $ has finiteAggregate +--R members : % -> List(P) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List P if $ has finiteAggregate +--R parts : % -> List(P) if $ has finiteAggregate --R purelyAlgebraic? : (P,%) -> Boolean --R purelyAlgebraicLeadingMonomial? : (P,%) -> Boolean --R purelyTranscendental? : (P,%) -> Boolean ---R quasiComponent : % -> Record(close: List P,open: List P) +--R quasiComponent : % -> Record(close: List(P),open: List(P)) --R reduce : (P,%,((P,P) -> P),((P,P) -> Boolean)) -> P --R reduce : (((P,P) -> P),%) -> P if $ has finiteAggregate --R reduce : (((P,P) -> P),%,P) -> P if $ has finiteAggregate @@ -33674,10 +33762,10 @@ digraph pic { --R remove : ((P -> Boolean),%) -> % if $ has finiteAggregate --R remove : (P,%) -> % if P has SETCAT and $ has finiteAggregate --R removeDuplicates : % -> % if P has SETCAT and $ has finiteAggregate ---R retractIfCan : List P -> Union(%,"failed") ---R rewriteIdealWithHeadRemainder : (List P,%) -> List P if R has INTDOM ---R rewriteIdealWithRemainder : (List P,%) -> List P if R has INTDOM ---R rewriteSetWithReduction : (List P,%,((P,P) -> P),((P,P) -> Boolean)) -> List P +--R retractIfCan : List(P) -> Union(%,"failed") +--R rewriteIdealWithHeadRemainder : (List(P),%) -> List(P) if R has INTDOM +--R rewriteIdealWithRemainder : (List(P),%) -> List(P) if R has INTDOM +--R rewriteSetWithReduction : (List(P),%,((P,P) -> P),((P,P) -> Boolean)) -> List(P) --R roughBase? : % -> Boolean if R has INTDOM --R roughEqualIdeals? : (%,%) -> Boolean if R has INTDOM --R roughSubIdeal? : (%,%) -> Boolean if R has INTDOM @@ -33686,11 +33774,11 @@ digraph pic { --R select : ((P -> Boolean),%) -> % if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean --R sort : (%,V) -> Record(under: %,floor: %,upper: %) ---R squareFreePart : (P,%) -> List Record(val: P,tower: %) +--R squareFreePart : (P,%) -> List(Record(val: P,tower: %)) --R stronglyReduced? : (P,%) -> Boolean --R triangular? : % -> Boolean if R has INTDOM ---R zeroSetSplit : (List P,Boolean) -> List % ---R zeroSetSplitIntoTriangularSystems : List P -> List Record(close: %,open: List P) +--R zeroSetSplit : (List(P),Boolean) -> List(%) +--R zeroSetSplitIntoTriangularSystems : List(P) -> List(Record(close: %,open: List(P))) --R --E 1 @@ -34063,25 +34151,26 @@ digraph pic { --S 1 of 1 )show StringAggregate +--R --R StringAggregate is a category constructor --R Abbreviation for StringAggregate is SRAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for SRAGG --R --R------------------------------- Operations -------------------------------- ---R coerce : Character -> % concat : List % -> % +--R coerce : Character -> % concat : List(%) -> % --R concat : (%,%) -> % concat : (Character,%) -> % ---R concat : (%,Character) -> % construct : List Character -> % +--R concat : (%,Character) -> % construct : List(Character) -> % --R copy : % -> % delete : (%,Integer) -> % --R ?.? : (%,%) -> % ?.? : (%,Integer) -> Character --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List Character eq? : (%,%) -> Boolean ---R index? : (Integer,%) -> Boolean indices : % -> List Integer +--R entries : % -> List(Character) eq? : (%,%) -> Boolean +--R index? : (Integer,%) -> Boolean indices : % -> List(Integer) --R insert : (%,%,Integer) -> % leftTrim : (%,Character) -> % --R lowerCase : % -> % lowerCase! : % -> % --R prefix? : (%,%) -> Boolean qelt : (%,Integer) -> Character --R reverse : % -> % rightTrim : (%,Character) -> % ---R sample : () -> % split : (%,Character) -> List % +--R sample : () -> % split : (%,Character) -> List(%) --R suffix? : (%,%) -> Boolean trim : (%,CharacterClass) -> % --R trim : (%,Character) -> % upperCase : % -> % --R upperCase! : % -> % @@ -34093,18 +34182,18 @@ digraph pic { --R ?>=? : (%,%) -> Boolean if Character has ORDSET --R any? : ((Character -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if Character has SETCAT ---R convert : % -> InputForm if Character has KONVERT INFORM +--R convert : % -> InputForm if Character has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable --R count : (Character,%) -> NonNegativeInteger if Character has SETCAT and $ has finiteAggregate --R count : ((Character -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R delete : (%,UniversalSegment Integer) -> % ---R ?.? : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R elt : (%,Integer,Character) -> Character --R entry? : (Character,%) -> Boolean if $ has finiteAggregate and Character has SETCAT ---R eval : (%,List Character,List Character) -> % if Character has EVALAB CHAR and Character has SETCAT ---R eval : (%,Character,Character) -> % if Character has EVALAB CHAR and Character has SETCAT ---R eval : (%,Equation Character) -> % if Character has EVALAB CHAR and Character has SETCAT ---R eval : (%,List Equation Character) -> % if Character has EVALAB CHAR and Character has SETCAT +--R eval : (%,List(Character),List(Character)) -> % if Character has EVALAB(CHAR) and Character has SETCAT +--R eval : (%,Character,Character) -> % if Character has EVALAB(CHAR) and Character has SETCAT +--R eval : (%,Equation(Character)) -> % if Character has EVALAB(CHAR) and Character has SETCAT +--R eval : (%,List(Equation(Character))) -> % if Character has EVALAB(CHAR) and Character has SETCAT --R every? : ((Character -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,Character) -> % if $ has shallowlyMutable --R find : ((Character -> Boolean),%) -> Union(Character,"failed") @@ -34122,14 +34211,14 @@ digraph pic { --R max : (%,%) -> % if Character has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (Character,%) -> Boolean if Character has SETCAT and $ has finiteAggregate ---R members : % -> List Character if $ has finiteAggregate +--R members : % -> List(Character) if $ has finiteAggregate --R merge : (%,%) -> % if Character has ORDSET --R merge : (((Character,Character) -> Boolean),%,%) -> % --R min : (%,%) -> % if Character has ORDSET --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R new : (NonNegativeInteger,Character) -> % ---R parts : % -> List Character if $ has finiteAggregate +--R parts : % -> List(Character) if $ has finiteAggregate --R position : (CharacterClass,%,Integer) -> Integer --R position : (%,%,Integer) -> Integer --R position : (Character,%,Integer) -> Integer if Character has SETCAT @@ -34142,11 +34231,11 @@ digraph pic { --R remove : ((Character -> Boolean),%) -> % if $ has finiteAggregate --R remove : (Character,%) -> % if Character has SETCAT and $ has finiteAggregate --R removeDuplicates : % -> % if Character has SETCAT and $ has finiteAggregate ---R replace : (%,UniversalSegment Integer,%) -> % +--R replace : (%,UniversalSegment(Integer),%) -> % --R reverse! : % -> % if $ has shallowlyMutable --R rightTrim : (%,CharacterClass) -> % --R select : ((Character -> Boolean),%) -> % if $ has finiteAggregate ---R setelt : (%,UniversalSegment Integer,Character) -> Character if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),Character) -> Character if $ has shallowlyMutable --R setelt : (%,Integer,Character) -> Character if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean --R sort : % -> % if Character has ORDSET @@ -34155,7 +34244,7 @@ digraph pic { --R sort! : (((Character,Character) -> Boolean),%) -> % if $ has shallowlyMutable --R sorted? : % -> Boolean if Character has ORDSET --R sorted? : (((Character,Character) -> Boolean),%) -> Boolean ---R split : (%,CharacterClass) -> List % +--R split : (%,CharacterClass) -> List(%) --R substring? : (%,%,Integer) -> Boolean --R swap! : (%,Integer,Integer) -> Void if $ has shallowlyMutable --R ?~=? : (%,%) -> Boolean if Character has SETCAT @@ -34598,6 +34687,7 @@ digraph pic { --S 1 of 1 )show TableAggregate +--R --R TableAggregate(Key: SetCategory,Entry: SetCategory) is a category constructor --R Abbreviation for TableAggregate is TBAGG --R This constructor is exposed in this frame. @@ -34607,9 +34697,9 @@ digraph pic { --R copy : % -> % dictionary : () -> % --R elt : (%,Key,Entry) -> Entry ?.? : (%,Key) -> Entry --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List Entry eq? : (%,%) -> Boolean ---R index? : (Key,%) -> Boolean indices : % -> List Key ---R key? : (Key,%) -> Boolean keys : % -> List Key +--R entries : % -> List(Entry) eq? : (%,%) -> Boolean +--R index? : (Key,%) -> Boolean indices : % -> List(Key) +--R key? : (Key,%) -> Boolean keys : % -> List(Key) --R map : ((Entry -> Entry),%) -> % qelt : (%,Key) -> Entry --R sample : () -> % setelt : (%,Key,Entry) -> Entry --R table : () -> % @@ -34617,24 +34707,24 @@ digraph pic { --R ?=? : (%,%) -> Boolean if Entry has SETCAT or Record(key: Key,entry: Entry) has SETCAT --R any? : ((Entry -> Boolean),%) -> Boolean if $ has finiteAggregate --R any? : ((Record(key: Key,entry: Entry) -> Boolean),%) -> Boolean if $ has finiteAggregate ---R bag : List Record(key: Key,entry: Entry) -> % +--R bag : List(Record(key: Key,entry: Entry)) -> % --R coerce : % -> OutputForm if Entry has SETCAT or Record(key: Key,entry: Entry) has SETCAT ---R construct : List Record(key: Key,entry: Entry) -> % ---R convert : % -> InputForm if Record(key: Key,entry: Entry) has KONVERT INFORM +--R construct : List(Record(key: Key,entry: Entry)) -> % +--R convert : % -> InputForm if Record(key: Key,entry: Entry) has KONVERT(INFORM) --R count : ((Entry -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (Entry,%) -> NonNegativeInteger if Entry has SETCAT and $ has finiteAggregate --R count : (Record(key: Key,entry: Entry),%) -> NonNegativeInteger if Record(key: Key,entry: Entry) has SETCAT and $ has finiteAggregate --R count : ((Record(key: Key,entry: Entry) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R dictionary : List Record(key: Key,entry: Entry) -> % +--R dictionary : List(Record(key: Key,entry: Entry)) -> % --R entry? : (Entry,%) -> Boolean if $ has finiteAggregate and Entry has SETCAT ---R eval : (%,List Equation Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT ---R eval : (%,Equation Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT ---R eval : (%,Entry,Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT ---R eval : (%,List Entry,List Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT ---R eval : (%,List Record(key: Key,entry: Entry),List Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,Equation Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,List Equation Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,List(Equation(Entry))) -> % if Entry has EVALAB(Entry) and Entry has SETCAT +--R eval : (%,Equation(Entry)) -> % if Entry has EVALAB(Entry) and Entry has SETCAT +--R eval : (%,Entry,Entry) -> % if Entry has EVALAB(Entry) and Entry has SETCAT +--R eval : (%,List(Entry),List(Entry)) -> % if Entry has EVALAB(Entry) and Entry has SETCAT +--R eval : (%,List(Record(key: Key,entry: Entry)),List(Record(key: Key,entry: Entry))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,Equation(Record(key: Key,entry: Entry))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,List(Equation(Record(key: Key,entry: Entry)))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT --R every? : ((Entry -> Boolean),%) -> Boolean if $ has finiteAggregate --R every? : ((Record(key: Key,entry: Entry) -> Boolean),%) -> Boolean if $ has finiteAggregate --R extract! : % -> Record(key: Key,entry: Entry) @@ -34653,12 +34743,12 @@ digraph pic { --R maxIndex : % -> Key if Key has ORDSET --R member? : (Entry,%) -> Boolean if Entry has SETCAT and $ has finiteAggregate --R member? : (Record(key: Key,entry: Entry),%) -> Boolean if Record(key: Key,entry: Entry) has SETCAT and $ has finiteAggregate ---R members : % -> List Entry if $ has finiteAggregate ---R members : % -> List Record(key: Key,entry: Entry) if $ has finiteAggregate +--R members : % -> List(Entry) if $ has finiteAggregate +--R members : % -> List(Record(key: Key,entry: Entry)) if $ has finiteAggregate --R minIndex : % -> Key if Key has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List Entry if $ has finiteAggregate ---R parts : % -> List Record(key: Key,entry: Entry) if $ has finiteAggregate +--R parts : % -> List(Entry) if $ has finiteAggregate +--R parts : % -> List(Record(key: Key,entry: Entry)) if $ has finiteAggregate --R qsetelt! : (%,Key,Entry) -> Entry if $ has shallowlyMutable --R reduce : (((Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry)),%) -> Record(key: Key,entry: Entry) if $ has finiteAggregate --R reduce : (((Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry)),%,Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) if $ has finiteAggregate @@ -34674,7 +34764,7 @@ digraph pic { --R select! : ((Record(key: Key,entry: Entry) -> Boolean),%) -> % if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean --R swap! : (%,Key,Key) -> Void if $ has shallowlyMutable ---R table : List Record(key: Key,entry: Entry) -> % +--R table : List(Record(key: Key,entry: Entry)) -> % --R ?~=? : (%,%) -> Boolean if Entry has SETCAT or Record(key: Key,entry: Entry) has SETCAT --R --E 1 @@ -35150,20 +35240,21 @@ digraph pic { --S 1 of 1 )show VectorCategory ---R VectorCategory R: Type is a category constructor +--R +--R VectorCategory(R: Type) is a category constructor --R Abbreviation for VectorCategory is VECTCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for VECTCAT --R --R------------------------------- Operations -------------------------------- ---R -? : % -> % if R has ABELGRP concat : List % -> % +--R -? : % -> % if R has ABELGRP concat : List(%) -> % --R concat : (%,%) -> % concat : (R,%) -> % ---R concat : (%,R) -> % construct : List R -> % +--R concat : (%,R) -> % construct : List(R) -> % --R copy : % -> % delete : (%,Integer) -> % --R ?.? : (%,Integer) -> R elt : (%,Integer,R) -> R --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List R eq? : (%,%) -> Boolean ---R index? : (Integer,%) -> Boolean indices : % -> List Integer +--R entries : % -> List(R) eq? : (%,%) -> Boolean +--R index? : (Integer,%) -> Boolean indices : % -> List(Integer) --R insert : (%,%,Integer) -> % insert : (R,%,Integer) -> % --R map : (((R,R) -> R),%,%) -> % map : ((R -> R),%) -> % --R new : (NonNegativeInteger,R) -> % qelt : (%,Integer) -> R @@ -35181,19 +35272,19 @@ digraph pic { --R ?>=? : (%,%) -> Boolean if R has ORDSET --R any? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if R has SETCAT ---R convert : % -> InputForm if R has KONVERT INFORM +--R convert : % -> InputForm if R has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable --R count : (R,%) -> NonNegativeInteger if R has SETCAT and $ has finiteAggregate --R count : ((R -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R cross : (%,%) -> % if R has RING ---R delete : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % --R dot : (%,%) -> R if R has RING ---R ?.? : (%,UniversalSegment Integer) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R entry? : (R,%) -> Boolean if $ has finiteAggregate and R has SETCAT ---R eval : (%,List R,List R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,R,R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,Equation R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,List Equation R) -> % if R has EVALAB R and R has SETCAT +--R eval : (%,List(R),List(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,R,R) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,Equation(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,List(Equation(R))) -> % if R has EVALAB(R) and R has SETCAT --R every? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,R) -> % if $ has shallowlyMutable --R find : ((R -> Boolean),%) -> Union(R,"failed") @@ -35207,14 +35298,14 @@ digraph pic { --R max : (%,%) -> % if R has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (R,%) -> Boolean if R has SETCAT and $ has finiteAggregate ---R members : % -> List R if $ has finiteAggregate +--R members : % -> List(R) if $ has finiteAggregate --R merge : (%,%) -> % if R has ORDSET --R merge : (((R,R) -> Boolean),%,%) -> % --R min : (%,%) -> % if R has ORDSET --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean ---R outerProduct : (%,%) -> Matrix R if R has RING ---R parts : % -> List R if $ has finiteAggregate +--R outerProduct : (%,%) -> Matrix(R) if R has RING +--R parts : % -> List(R) if $ has finiteAggregate --R position : (R,%,Integer) -> Integer if R has SETCAT --R position : (R,%) -> Integer if R has SETCAT --R position : ((R -> Boolean),%) -> Integer @@ -35227,7 +35318,7 @@ digraph pic { --R removeDuplicates : % -> % if R has SETCAT and $ has finiteAggregate --R reverse! : % -> % if $ has shallowlyMutable --R select : ((R -> Boolean),%) -> % if $ has finiteAggregate ---R setelt : (%,UniversalSegment Integer,R) -> R if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),R) -> R if $ has shallowlyMutable --R setelt : (%,Integer,R) -> R if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean --R sort : % -> % if R has ORDSET @@ -35607,28 +35698,29 @@ digraph pic { --S 1 of 1 )show AssociationListAggregate +--R --R AssociationListAggregate(Key: SetCategory,Entry: SetCategory) is a category constructor --R Abbreviation for AssociationListAggregate is ALAGG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for ALAGG --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % concat : (%,%) -> % ---R concat : List % -> % concat! : (%,%) -> % +--R children : % -> List(%) concat : (%,%) -> % +--R concat : List(%) -> % concat! : (%,%) -> % --R copy : % -> % cycleEntry : % -> % --R cycleTail : % -> % cyclic? : % -> Boolean --R delete : (%,Integer) -> % delete! : (%,Integer) -> % --R dictionary : () -> % distance : (%,%) -> Integer --R ?.rest : (%,rest) -> % elt : (%,Key,Entry) -> Entry --R ?.? : (%,Key) -> Entry empty : () -> % ---R empty? : % -> Boolean entries : % -> List Entry +--R empty? : % -> Boolean entries : % -> List(Entry) --R eq? : (%,%) -> Boolean explicitlyFinite? : % -> Boolean --R index? : (Integer,%) -> Boolean index? : (Key,%) -> Boolean ---R indices : % -> List Integer indices : % -> List Key +--R indices : % -> List(Integer) indices : % -> List(Key) --R insert : (%,%,Integer) -> % insert! : (%,%,Integer) -> % ---R key? : (Key,%) -> Boolean keys : % -> List Key +--R key? : (Key,%) -> Boolean keys : % -> List(Key) --R leaf? : % -> Boolean map : ((Entry -> Entry),%) -> % ---R nodes : % -> List % possiblyInfinite? : % -> Boolean +--R nodes : % -> List(%) possiblyInfinite? : % -> Boolean --R qelt : (%,Key) -> Entry rest : % -> % --R reverse : % -> % sample : () -> % --R setelt : (%,Key,Entry) -> Entry table : () -> % @@ -35643,15 +35735,15 @@ digraph pic { --R any? : ((Entry -> Boolean),%) -> Boolean if $ has finiteAggregate --R any? : ((Record(key: Key,entry: Entry) -> Boolean),%) -> Boolean if $ has finiteAggregate --R assoc : (Key,%) -> Union(Record(key: Key,entry: Entry),"failed") ---R bag : List Record(key: Key,entry: Entry) -> % +--R bag : List(Record(key: Key,entry: Entry)) -> % --R child? : (%,%) -> Boolean if Record(key: Key,entry: Entry) has SETCAT --R coerce : % -> OutputForm if Record(key: Key,entry: Entry) has SETCAT or Entry has SETCAT or Record(key: Key,entry: Entry) has SETCAT --R concat : (Record(key: Key,entry: Entry),%) -> % --R concat : (%,Record(key: Key,entry: Entry)) -> % --R concat! : (%,Record(key: Key,entry: Entry)) -> % ---R construct : List Record(key: Key,entry: Entry) -> % ---R construct : List Record(key: Key,entry: Entry) -> % ---R convert : % -> InputForm if Record(key: Key,entry: Entry) has KONVERT INFORM or Record(key: Key,entry: Entry) has KONVERT INFORM +--R construct : List(Record(key: Key,entry: Entry)) -> % +--R construct : List(Record(key: Key,entry: Entry)) -> % +--R convert : % -> InputForm if Record(key: Key,entry: Entry) has KONVERT(INFORM) or Record(key: Key,entry: Entry) has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable --R count : ((Record(key: Key,entry: Entry) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (Record(key: Key,entry: Entry),%) -> NonNegativeInteger if Record(key: Key,entry: Entry) has SETCAT and $ has finiteAggregate @@ -35661,30 +35753,30 @@ digraph pic { --R count : ((Record(key: Key,entry: Entry) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R cycleLength : % -> NonNegativeInteger --R cycleSplit! : % -> % if $ has shallowlyMutable ---R delete : (%,UniversalSegment Integer) -> % ---R delete! : (%,UniversalSegment Integer) -> % ---R dictionary : List Record(key: Key,entry: Entry) -> % +--R delete : (%,UniversalSegment(Integer)) -> % +--R delete! : (%,UniversalSegment(Integer)) -> % +--R dictionary : List(Record(key: Key,entry: Entry)) -> % --R ?.value : (%,value) -> Record(key: Key,entry: Entry) --R ?.first : (%,first) -> Record(key: Key,entry: Entry) --R ?.last : (%,last) -> Record(key: Key,entry: Entry) ---R ?.? : (%,UniversalSegment Integer) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R ?.? : (%,Integer) -> Record(key: Key,entry: Entry) --R elt : (%,Integer,Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) ---R entries : % -> List Record(key: Key,entry: Entry) +--R entries : % -> List(Record(key: Key,entry: Entry)) --R entry? : (Record(key: Key,entry: Entry),%) -> Boolean if $ has finiteAggregate and Record(key: Key,entry: Entry) has SETCAT --R entry? : (Entry,%) -> Boolean if $ has finiteAggregate and Entry has SETCAT ---R eval : (%,List Equation Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,Equation Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,List Record(key: Key,entry: Entry),List Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,List Equation Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT ---R eval : (%,Equation Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT ---R eval : (%,Entry,Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT ---R eval : (%,List Entry,List Entry) -> % if Entry has EVALAB Entry and Entry has SETCAT ---R eval : (%,List Record(key: Key,entry: Entry),List Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,Equation Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT ---R eval : (%,List Equation Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB Record(key: Key,entry: Entry) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,List(Equation(Record(key: Key,entry: Entry)))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,Equation(Record(key: Key,entry: Entry))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,List(Record(key: Key,entry: Entry)),List(Record(key: Key,entry: Entry))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,List(Equation(Entry))) -> % if Entry has EVALAB(Entry) and Entry has SETCAT +--R eval : (%,Equation(Entry)) -> % if Entry has EVALAB(Entry) and Entry has SETCAT +--R eval : (%,Entry,Entry) -> % if Entry has EVALAB(Entry) and Entry has SETCAT +--R eval : (%,List(Entry),List(Entry)) -> % if Entry has EVALAB(Entry) and Entry has SETCAT +--R eval : (%,List(Record(key: Key,entry: Entry)),List(Record(key: Key,entry: Entry))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,Equation(Record(key: Key,entry: Entry))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT +--R eval : (%,List(Equation(Record(key: Key,entry: Entry)))) -> % if Record(key: Key,entry: Entry) has EVALAB(Record(key: Key,entry: Entry)) and Record(key: Key,entry: Entry) has SETCAT --R every? : ((Record(key: Key,entry: Entry) -> Boolean),%) -> Boolean if $ has finiteAggregate --R every? : ((Entry -> Boolean),%) -> Boolean if $ has finiteAggregate --R every? : ((Record(key: Key,entry: Entry) -> Boolean),%) -> Boolean if $ has finiteAggregate @@ -35704,7 +35796,7 @@ digraph pic { --R last : % -> Record(key: Key,entry: Entry) --R last : (%,NonNegativeInteger) -> % --R latex : % -> String if Record(key: Key,entry: Entry) has SETCAT or Entry has SETCAT or Record(key: Key,entry: Entry) has SETCAT ---R leaves : % -> List Record(key: Key,entry: Entry) +--R leaves : % -> List(Record(key: Key,entry: Entry)) --R less? : (%,NonNegativeInteger) -> Boolean --R list : Record(key: Key,entry: Entry) -> % --R map : ((Record(key: Key,entry: Entry) -> Record(key: Key,entry: Entry)),%) -> % @@ -35720,9 +35812,9 @@ digraph pic { --R member? : (Record(key: Key,entry: Entry),%) -> Boolean if Record(key: Key,entry: Entry) has SETCAT and $ has finiteAggregate --R member? : (Entry,%) -> Boolean if Entry has SETCAT and $ has finiteAggregate --R member? : (Record(key: Key,entry: Entry),%) -> Boolean if Record(key: Key,entry: Entry) has SETCAT and $ has finiteAggregate ---R members : % -> List Record(key: Key,entry: Entry) if $ has finiteAggregate ---R members : % -> List Entry if $ has finiteAggregate ---R members : % -> List Record(key: Key,entry: Entry) if $ has finiteAggregate +--R members : % -> List(Record(key: Key,entry: Entry)) if $ has finiteAggregate +--R members : % -> List(Entry) if $ has finiteAggregate +--R members : % -> List(Record(key: Key,entry: Entry)) if $ has finiteAggregate --R merge : (%,%) -> % if Record(key: Key,entry: Entry) has ORDSET --R merge : (((Record(key: Key,entry: Entry),Record(key: Key,entry: Entry)) -> Boolean),%,%) -> % --R merge! : (%,%) -> % if Record(key: Key,entry: Entry) has ORDSET @@ -35733,9 +35825,9 @@ digraph pic { --R more? : (%,NonNegativeInteger) -> Boolean --R new : (NonNegativeInteger,Record(key: Key,entry: Entry)) -> % --R node? : (%,%) -> Boolean if Record(key: Key,entry: Entry) has SETCAT ---R parts : % -> List Record(key: Key,entry: Entry) if $ has finiteAggregate ---R parts : % -> List Entry if $ has finiteAggregate ---R parts : % -> List Record(key: Key,entry: Entry) if $ has finiteAggregate +--R parts : % -> List(Record(key: Key,entry: Entry)) if $ has finiteAggregate +--R parts : % -> List(Entry) if $ has finiteAggregate +--R parts : % -> List(Record(key: Key,entry: Entry)) if $ has finiteAggregate --R position : (Record(key: Key,entry: Entry),%,Integer) -> Integer if Record(key: Key,entry: Entry) has SETCAT --R position : (Record(key: Key,entry: Entry),%) -> Integer if Record(key: Key,entry: Entry) has SETCAT --R position : ((Record(key: Key,entry: Entry) -> Boolean),%) -> Integer @@ -35767,12 +35859,12 @@ digraph pic { --R select : ((Record(key: Key,entry: Entry) -> Boolean),%) -> % if $ has finiteAggregate --R select! : ((Record(key: Key,entry: Entry) -> Boolean),%) -> % --R select! : ((Record(key: Key,entry: Entry) -> Boolean),%) -> % if $ has finiteAggregate ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,value,Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) if $ has shallowlyMutable --R setelt : (%,first,Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) if $ has shallowlyMutable --R setelt : (%,rest,%) -> % if $ has shallowlyMutable --R setelt : (%,last,Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) if $ has shallowlyMutable ---R setelt : (%,UniversalSegment Integer,Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) if $ has shallowlyMutable --R setelt : (%,Integer,Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) if $ has shallowlyMutable --R setfirst! : (%,Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) if $ has shallowlyMutable --R setlast! : (%,Record(key: Key,entry: Entry)) -> Record(key: Key,entry: Entry) if $ has shallowlyMutable @@ -35788,7 +35880,7 @@ digraph pic { --R split! : (%,Integer) -> % if $ has shallowlyMutable --R swap! : (%,Integer,Integer) -> Void if $ has shallowlyMutable --R swap! : (%,Key,Key) -> Void if $ has shallowlyMutable ---R table : List Record(key: Key,entry: Entry) -> % +--R table : List(Record(key: Key,entry: Entry)) -> % --R third : % -> Record(key: Key,entry: Entry) --R value : % -> Record(key: Key,entry: Entry) --R ?~=? : (%,%) -> Boolean if Record(key: Key,entry: Entry) has SETCAT or Entry has SETCAT or Record(key: Key,entry: Entry) has SETCAT @@ -37386,6 +37478,7 @@ digraph pic { --S 1 of 1 )show FreeModuleCat +--R --R FreeModuleCat(R: Ring,Basis: SetCategory) is a category constructor --R Abbreviation for FreeModuleCat is FMCAT --R This constructor is exposed in this frame. @@ -37397,18 +37490,18 @@ digraph pic { --R ?*? : (PositiveInteger,%) -> % ?+? : (%,%) -> % --R ?-? : (%,%) -> % -? : % -> % --R ?=? : (%,%) -> Boolean 0 : () -> % ---R coefficient : (%,Basis) -> R coefficients : % -> List R +--R coefficient : (%,Basis) -> R coefficients : % -> List(R) --R coerce : Basis -> % coerce : % -> OutputForm --R hash : % -> SingleInteger latex : % -> String --R leadingCoefficient : % -> R leadingMonomial : % -> Basis --R map : ((R -> R),%) -> % monom : (Basis,R) -> % ---R monomial? : % -> Boolean monomials : % -> List % +--R monomial? : % -> Boolean monomials : % -> List(%) --R reductum : % -> % retract : % -> Basis --R sample : () -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R leadingTerm : % -> Record(k: Basis,c: R) ---R listOfTerms : % -> List Record(k: Basis,c: R) +--R listOfTerms : % -> List(Record(k: Basis,c: R)) --R numberOfMonomials : % -> NonNegativeInteger --R retractIfCan : % -> Union(Basis,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -37655,7 +37748,8 @@ digraph pic { --S 1 of 1 )show LeftAlgebra ---R LeftAlgebra R: Ring is a category constructor +--R +--R LeftAlgebra(R: Ring) is a category constructor --R Abbreviation for LeftAlgebra is LALG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for LALG @@ -37844,7 +37938,8 @@ digraph pic { --S 1 of 1 )show LinearlyExplicitRingOver ---R LinearlyExplicitRingOver R: Ring is a category constructor +--R +--R LinearlyExplicitRingOver(R: Ring) is a category constructor --R Abbreviation for LinearlyExplicitRingOver is LINEXP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for LINEXP @@ -37864,8 +37959,8 @@ digraph pic { --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix R,vec: Vector R) ---R reducedSystem : Matrix % -> Matrix R +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(R),vec: Vector(R)) +--R reducedSystem : Matrix(%) -> Matrix(R) --R subtractIfCan : (%,%) -> Union(%,"failed") --R --E 1 @@ -38057,7 +38152,8 @@ digraph pic { --S 1 of 1 )show Module ---R Module R: CommutativeRing is a category constructor +--R +--R Module(R: CommutativeRing) is a category constructor --R Abbreviation for Module is MODULE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for MODULE @@ -38494,7 +38590,8 @@ digraph pic { --S 1 of 1 )show PartialDifferentialRing ---R PartialDifferentialRing S: SetCategory is a category constructor +--R +--R PartialDifferentialRing(S: SetCategory) is a category constructor --R Abbreviation for PartialDifferentialRing is PDRING --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PDRING @@ -38504,21 +38601,21 @@ digraph pic { --R ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> % --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean ---R D : (%,List S) -> % D : (%,S) -> % +--R D : (%,List(S)) -> % D : (%,S) -> % --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % coerce : Integer -> % ---R coerce : % -> OutputForm differentiate : (%,List S) -> % +--R coerce : % -> OutputForm differentiate : (%,List(S)) -> % --R differentiate : (%,S) -> % hash : % -> SingleInteger --R latex : % -> String one? : % -> Boolean --R recip : % -> Union(%,"failed") sample : () -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % ---R D : (%,List S,List NonNegativeInteger) -> % +--R D : (%,List(S),List(NonNegativeInteger)) -> % --R D : (%,S,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R differentiate : (%,List S,List NonNegativeInteger) -> % +--R differentiate : (%,List(S),List(NonNegativeInteger)) -> % --R differentiate : (%,S,NonNegativeInteger) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") --R @@ -38766,25 +38863,26 @@ digraph pic { --S 1 of 1 )show PointCategory ---R PointCategory R: Ring is a category constructor +--R +--R PointCategory(R: Ring) is a category constructor --R Abbreviation for PointCategory is PTCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PTCAT --R --R------------------------------- Operations -------------------------------- ---R -? : % -> % if R has ABELGRP concat : List % -> % +--R -? : % -> % if R has ABELGRP concat : List(%) -> % --R concat : (%,%) -> % concat : (R,%) -> % ---R concat : (%,R) -> % construct : List R -> % ---R convert : List R -> % copy : % -> % +--R concat : (%,R) -> % construct : List(R) -> % +--R convert : List(R) -> % copy : % -> % --R cross : (%,%) -> % delete : (%,Integer) -> % --R dimension : % -> PositiveInteger ?.? : (%,Integer) -> R --R elt : (%,Integer,R) -> R empty : () -> % ---R empty? : % -> Boolean entries : % -> List R ---R eq? : (%,%) -> Boolean extend : (%,List R) -> % ---R index? : (Integer,%) -> Boolean indices : % -> List Integer +--R empty? : % -> Boolean entries : % -> List(R) +--R eq? : (%,%) -> Boolean extend : (%,List(R)) -> % +--R index? : (Integer,%) -> Boolean indices : % -> List(Integer) --R insert : (%,%,Integer) -> % insert : (R,%,Integer) -> % --R map : (((R,R) -> R),%,%) -> % map : ((R -> R),%) -> % ---R new : (NonNegativeInteger,R) -> % point : List R -> % +--R new : (NonNegativeInteger,R) -> % point : List(R) -> % --R qelt : (%,Integer) -> R reverse : % -> % --R sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate @@ -38800,18 +38898,18 @@ digraph pic { --R ?>=? : (%,%) -> Boolean if R has ORDSET --R any? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if R has SETCAT ---R convert : % -> InputForm if R has KONVERT INFORM +--R convert : % -> InputForm if R has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable --R count : (R,%) -> NonNegativeInteger if R has SETCAT and $ has finiteAggregate --R count : ((R -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R delete : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % --R dot : (%,%) -> R if R has RING ---R ?.? : (%,UniversalSegment Integer) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R entry? : (R,%) -> Boolean if $ has finiteAggregate and R has SETCAT ---R eval : (%,List R,List R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,R,R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,Equation R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,List Equation R) -> % if R has EVALAB R and R has SETCAT +--R eval : (%,List(R),List(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,R,R) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,Equation(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,List(Equation(R))) -> % if R has EVALAB(R) and R has SETCAT --R every? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,R) -> % if $ has shallowlyMutable --R find : ((R -> Boolean),%) -> Union(R,"failed") @@ -38825,14 +38923,14 @@ digraph pic { --R max : (%,%) -> % if R has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (R,%) -> Boolean if R has SETCAT and $ has finiteAggregate ---R members : % -> List R if $ has finiteAggregate +--R members : % -> List(R) if $ has finiteAggregate --R merge : (%,%) -> % if R has ORDSET --R merge : (((R,R) -> Boolean),%,%) -> % --R min : (%,%) -> % if R has ORDSET --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean ---R outerProduct : (%,%) -> Matrix R if R has RING ---R parts : % -> List R if $ has finiteAggregate +--R outerProduct : (%,%) -> Matrix(R) if R has RING +--R parts : % -> List(R) if $ has finiteAggregate --R position : (R,%,Integer) -> Integer if R has SETCAT --R position : (R,%) -> Integer if R has SETCAT --R position : ((R -> Boolean),%) -> Integer @@ -38845,7 +38943,7 @@ digraph pic { --R removeDuplicates : % -> % if R has SETCAT and $ has finiteAggregate --R reverse! : % -> % if $ has shallowlyMutable --R select : ((R -> Boolean),%) -> % if $ has finiteAggregate ---R setelt : (%,UniversalSegment Integer,R) -> R if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),R) -> R if $ has shallowlyMutable --R setelt : (%,Integer,R) -> R if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean --R sort : % -> % if R has ORDSET @@ -39182,6 +39280,7 @@ The RectangularMatrix domain is matrices of fixed dimension. --S 1 of 1 )show RectangularMatrixCategory +--R --R RectangularMatrixCategory(m: NonNegativeInteger,n: NonNegativeInteger,R: Ring,Row: DirectProductCategory(t#2,t#3),Col: DirectProductCategory(t#1,t#3)) is a category constructor --R Abbreviation for RectangularMatrixCategory is RMATCAT --R This constructor is exposed in this frame. @@ -39198,9 +39297,9 @@ The RectangularMatrix domain is matrices of fixed dimension. --R elt : (%,Integer,Integer,R) -> R elt : (%,Integer,Integer) -> R --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean hash : % -> SingleInteger ---R latex : % -> String listOfLists : % -> List List R +--R latex : % -> String listOfLists : % -> List(List(R)) --R map : (((R,R) -> R),%,%) -> % map : ((R -> R),%) -> % ---R matrix : List List R -> % maxColIndex : % -> Integer +--R matrix : List(List(R)) -> % maxColIndex : % -> Integer --R maxRowIndex : % -> Integer minColIndex : % -> Integer --R minRowIndex : % -> Integer ncols : % -> NonNegativeInteger --R nrows : % -> NonNegativeInteger qelt : (%,Integer,Integer) -> R @@ -39213,20 +39312,20 @@ The RectangularMatrix domain is matrices of fixed dimension. --R any? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R count : ((R -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (R,%) -> NonNegativeInteger if R has SETCAT and $ has finiteAggregate ---R eval : (%,List Equation R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,Equation R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,R,R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,List R,List R) -> % if R has EVALAB R and R has SETCAT +--R eval : (%,List(Equation(R))) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,Equation(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,R,R) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,List(R),List(R)) -> % if R has EVALAB(R) and R has SETCAT --R every? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R exquo : (%,R) -> Union(%,"failed") if R has INTDOM --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((R -> R),%) -> % if $ has shallowlyMutable --R member? : (R,%) -> Boolean if R has SETCAT and $ has finiteAggregate ---R members : % -> List R if $ has finiteAggregate +--R members : % -> List(R) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R nullSpace : % -> List Col if R has INTDOM +--R nullSpace : % -> List(Col) if R has INTDOM --R nullity : % -> NonNegativeInteger if R has INTDOM ---R parts : % -> List R if $ has finiteAggregate +--R parts : % -> List(R) if $ has finiteAggregate --R rank : % -> NonNegativeInteger if R has INTDOM --R rowEchelon : % -> % if R has EUCDOM --R size? : (%,NonNegativeInteger) -> Boolean @@ -39629,6 +39728,7 @@ digraph pic { --S 1 of 1 )show SquareFreeNormalizedTriangularSetCategory +--R --R SquareFreeNormalizedTriangularSetCategory(R: GcdDomain,E: OrderedAbelianMonoidSup,V: OrderedSet,P: RecursivePolynomialCategory(t#1,t#2,t#3)) is a category constructor --R Abbreviation for SquareFreeNormalizedTriangularSetCategory is SNTSCAT --R This constructor is exposed in this frame. @@ -39636,71 +39736,72 @@ digraph pic { --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean algebraic? : (V,%) -> Boolean ---R algebraicVariables : % -> List V augment : (List P,%) -> List % ---R augment : (P,List %) -> List % augment : (P,%) -> List % ---R coerce : % -> List P coerce : % -> OutputForm +--R algebraicVariables : % -> List(V) augment : (List(P),%) -> List(%) +--R augment : (P,List(%)) -> List(%) augment : (P,%) -> List(%) +--R coerce : % -> List(P) coerce : % -> OutputForm --R collect : (%,V) -> % collectQuasiMonic : % -> % --R collectUnder : (%,V) -> % collectUpper : (%,V) -> % ---R construct : List P -> % copy : % -> % +--R construct : List(P) -> % copy : % -> % --R degree : % -> NonNegativeInteger empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean ---R extend : (List P,%) -> List % extend : (P,List %) -> List % ---R extend : (P,%) -> List % extend : (%,P) -> % +--R extend : (List(P),%) -> List(%) extend : (P,List(%)) -> List(%) +--R extend : (P,%) -> List(%) extend : (%,P) -> % --R first : % -> Union(P,"failed") hash : % -> SingleInteger --R headReduce : (P,%) -> P headReduced? : % -> Boolean --R headReduced? : (P,%) -> Boolean infRittWu? : (%,%) -> Boolean --R initiallyReduce : (P,%) -> P initiallyReduced? : % -> Boolean ---R initials : % -> List P internalAugment : (P,%) -> % ---R intersect : (P,List %) -> List % intersect : (List P,%) -> List % ---R intersect : (P,%) -> List % invertible? : (P,%) -> Boolean ---R invertibleSet : (P,%) -> List % last : % -> Union(P,"failed") +--R initials : % -> List(P) internalAugment : (P,%) -> % +--R intersect : (P,%) -> List(%) invertible? : (P,%) -> Boolean +--R invertibleSet : (P,%) -> List(%) last : % -> Union(P,"failed") --R latex : % -> String mainVariable? : (V,%) -> Boolean ---R mainVariables : % -> List V map : ((P -> P),%) -> % +--R mainVariables : % -> List(V) map : ((P -> P),%) -> % --R mvar : % -> V normalized? : % -> Boolean --R normalized? : (P,%) -> Boolean purelyAlgebraic? : % -> Boolean --R reduceByQuasiMonic : (P,%) -> P removeZero : (P,%) -> P ---R rest : % -> Union(%,"failed") retract : List P -> % +--R rest : % -> Union(%,"failed") retract : List(P) -> % --R sample : () -> % stronglyReduce : (P,%) -> P --R stronglyReduced? : % -> Boolean trivialIdeal? : % -> Boolean ---R variables : % -> List V zeroSetSplit : List P -> List % +--R variables : % -> List(V) zeroSetSplit : List(P) -> List(%) --R ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R algebraicCoefficients? : (P,%) -> Boolean --R any? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate ---R augment : (List P,List %) -> List % ---R autoReduced? : (%,((P,List P) -> Boolean)) -> Boolean ---R basicSet : (List P,(P -> Boolean),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List P),"failed") ---R basicSet : (List P,((P,P) -> Boolean)) -> Union(Record(bas: %,top: List P),"failed") +--R augment : (List(P),List(%)) -> List(%) +--R autoReduced? : (%,((P,List(P)) -> Boolean)) -> Boolean +--R basicSet : (List(P),(P -> Boolean),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List(P)),"failed") +--R basicSet : (List(P),((P,P) -> Boolean)) -> Union(Record(bas: %,top: List(P)),"failed") --R coHeight : % -> NonNegativeInteger if V has FINITE ---R convert : % -> InputForm if P has KONVERT INFORM +--R convert : % -> InputForm if P has KONVERT(INFORM) --R count : ((P -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (P,%) -> NonNegativeInteger if P has SETCAT and $ has finiteAggregate ---R eval : (%,List Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,Equation P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,P,P) -> % if P has EVALAB P and P has SETCAT ---R eval : (%,List P,List P) -> % if P has EVALAB P and P has SETCAT +--R eval : (%,List(Equation(P))) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,Equation(P)) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,P,P) -> % if P has EVALAB(P) and P has SETCAT +--R eval : (%,List(P),List(P)) -> % if P has EVALAB(P) and P has SETCAT --R every? : ((P -> Boolean),%) -> Boolean if $ has finiteAggregate ---R extend : (List P,List %) -> List % +--R extend : (List(P),List(%)) -> List(%) --R extendIfCan : (%,P) -> Union(%,"failed") --R find : ((P -> Boolean),%) -> Union(P,"failed") --R headRemainder : (P,%) -> Record(num: P,den: R) if R has INTDOM --R initiallyReduced? : (P,%) -> Boolean ---R internalAugment : (List P,%) -> % ---R intersect : (List P,List %) -> List % ---R invertible? : (P,%) -> List Record(val: Boolean,tower: %) ---R invertibleElseSplit? : (P,%) -> Union(Boolean,List %) ---R lastSubResultant : (P,P,%) -> List Record(val: P,tower: %) ---R lastSubResultantElseSplit : (P,P,%) -> Union(P,List %) +--R internalAugment : (List(P),%) -> % +--R intersect : (P,List(%)) -> List(%) +--R intersect : (List(P),List(%)) -> List(%) +--R intersect : (List(P),%) -> List(%) +--R invertible? : (P,%) -> List(Record(val: Boolean,tower: %)) +--R invertibleElseSplit? : (P,%) -> Union(Boolean,List(%)) +--R lastSubResultant : (P,P,%) -> List(Record(val: P,tower: %)) +--R lastSubResultantElseSplit : (P,P,%) -> Union(P,List(%)) --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((P -> P),%) -> % if $ has shallowlyMutable --R member? : (P,%) -> Boolean if P has SETCAT and $ has finiteAggregate ---R members : % -> List P if $ has finiteAggregate +--R members : % -> List(P) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List P if $ has finiteAggregate +--R parts : % -> List(P) if $ has finiteAggregate --R purelyAlgebraic? : (P,%) -> Boolean --R purelyAlgebraicLeadingMonomial? : (P,%) -> Boolean --R purelyTranscendental? : (P,%) -> Boolean ---R quasiComponent : % -> Record(close: List P,open: List P) +--R quasiComponent : % -> Record(close: List(P),open: List(P)) --R reduce : (P,%,((P,P) -> P),((P,P) -> Boolean)) -> P --R reduce : (((P,P) -> P),%) -> P if $ has finiteAggregate --R reduce : (((P,P) -> P),%,P) -> P if $ has finiteAggregate @@ -39710,10 +39811,10 @@ digraph pic { --R remove : ((P -> Boolean),%) -> % if $ has finiteAggregate --R remove : (P,%) -> % if P has SETCAT and $ has finiteAggregate --R removeDuplicates : % -> % if P has SETCAT and $ has finiteAggregate ---R retractIfCan : List P -> Union(%,"failed") ---R rewriteIdealWithHeadRemainder : (List P,%) -> List P if R has INTDOM ---R rewriteIdealWithRemainder : (List P,%) -> List P if R has INTDOM ---R rewriteSetWithReduction : (List P,%,((P,P) -> P),((P,P) -> Boolean)) -> List P +--R retractIfCan : List(P) -> Union(%,"failed") +--R rewriteIdealWithHeadRemainder : (List(P),%) -> List(P) if R has INTDOM +--R rewriteIdealWithRemainder : (List(P),%) -> List(P) if R has INTDOM +--R rewriteSetWithReduction : (List(P),%,((P,P) -> P),((P,P) -> Boolean)) -> List(P) --R roughBase? : % -> Boolean if R has INTDOM --R roughEqualIdeals? : (%,%) -> Boolean if R has INTDOM --R roughSubIdeal? : (%,%) -> Boolean if R has INTDOM @@ -39722,11 +39823,11 @@ digraph pic { --R select : ((P -> Boolean),%) -> % if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean --R sort : (%,V) -> Record(under: %,floor: %,upper: %) ---R squareFreePart : (P,%) -> List Record(val: P,tower: %) +--R squareFreePart : (P,%) -> List(Record(val: P,tower: %)) --R stronglyReduced? : (P,%) -> Boolean --R triangular? : % -> Boolean if R has INTDOM ---R zeroSetSplit : (List P,Boolean) -> List % ---R zeroSetSplitIntoTriangularSystems : List P -> List Record(close: %,open: List P) +--R zeroSetSplit : (List(P),Boolean) -> List(%) +--R zeroSetSplitIntoTriangularSystems : List(P) -> List(Record(close: %,open: List(P))) --R --E 1 @@ -40072,6 +40173,7 @@ digraph pic { --S 1 of 1 )show StringCategory +--R --R StringCategory is a category constructor --R Abbreviation for StringCategory is STRICAT --R This constructor is exposed in this frame. @@ -40080,20 +40182,20 @@ digraph pic { --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean OMwrite : (%,Boolean) -> String --R OMwrite : % -> String coerce : % -> OutputForm ---R coerce : Character -> % concat : List % -> % +--R coerce : Character -> % concat : List(%) -> % --R concat : (%,%) -> % concat : (Character,%) -> % ---R concat : (%,Character) -> % construct : List Character -> % +--R concat : (%,Character) -> % construct : List(Character) -> % --R copy : % -> % delete : (%,Integer) -> % --R ?.? : (%,%) -> % ?.? : (%,Integer) -> Character --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List Character eq? : (%,%) -> Boolean +--R entries : % -> List(Character) eq? : (%,%) -> Boolean --R hash : % -> SingleInteger index? : (Integer,%) -> Boolean ---R indices : % -> List Integer insert : (%,%,Integer) -> % +--R indices : % -> List(Integer) insert : (%,%,Integer) -> % --R latex : % -> String leftTrim : (%,Character) -> % --R lowerCase : % -> % lowerCase! : % -> % --R prefix? : (%,%) -> Boolean qelt : (%,Integer) -> Character --R reverse : % -> % rightTrim : (%,Character) -> % ---R sample : () -> % split : (%,Character) -> List % +--R sample : () -> % split : (%,Character) -> List(%) --R string : Integer -> % suffix? : (%,%) -> Boolean --R trim : (%,CharacterClass) -> % trim : (%,Character) -> % --R upperCase : % -> % upperCase! : % -> % @@ -40106,18 +40208,18 @@ digraph pic { --R OMwrite : (OpenMathDevice,%,Boolean) -> Void --R OMwrite : (OpenMathDevice,%) -> Void --R any? : ((Character -> Boolean),%) -> Boolean if $ has finiteAggregate ---R convert : % -> InputForm if Character has KONVERT INFORM +--R convert : % -> InputForm if Character has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable --R count : (Character,%) -> NonNegativeInteger if Character has SETCAT and $ has finiteAggregate --R count : ((Character -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R delete : (%,UniversalSegment Integer) -> % ---R ?.? : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R elt : (%,Integer,Character) -> Character --R entry? : (Character,%) -> Boolean if $ has finiteAggregate and Character has SETCAT ---R eval : (%,List Character,List Character) -> % if Character has EVALAB CHAR and Character has SETCAT ---R eval : (%,Character,Character) -> % if Character has EVALAB CHAR and Character has SETCAT ---R eval : (%,Equation Character) -> % if Character has EVALAB CHAR and Character has SETCAT ---R eval : (%,List Equation Character) -> % if Character has EVALAB CHAR and Character has SETCAT +--R eval : (%,List(Character),List(Character)) -> % if Character has EVALAB(CHAR) and Character has SETCAT +--R eval : (%,Character,Character) -> % if Character has EVALAB(CHAR) and Character has SETCAT +--R eval : (%,Equation(Character)) -> % if Character has EVALAB(CHAR) and Character has SETCAT +--R eval : (%,List(Equation(Character))) -> % if Character has EVALAB(CHAR) and Character has SETCAT --R every? : ((Character -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,Character) -> % if $ has shallowlyMutable --R find : ((Character -> Boolean),%) -> Union(Character,"failed") @@ -40133,14 +40235,14 @@ digraph pic { --R max : (%,%) -> % if Character has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (Character,%) -> Boolean if Character has SETCAT and $ has finiteAggregate ---R members : % -> List Character if $ has finiteAggregate +--R members : % -> List(Character) if $ has finiteAggregate --R merge : (%,%) -> % if Character has ORDSET --R merge : (((Character,Character) -> Boolean),%,%) -> % --R min : (%,%) -> % if Character has ORDSET --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R new : (NonNegativeInteger,Character) -> % ---R parts : % -> List Character if $ has finiteAggregate +--R parts : % -> List(Character) if $ has finiteAggregate --R position : (CharacterClass,%,Integer) -> Integer --R position : (%,%,Integer) -> Integer --R position : (Character,%,Integer) -> Integer if Character has SETCAT @@ -40153,11 +40255,11 @@ digraph pic { --R remove : ((Character -> Boolean),%) -> % if $ has finiteAggregate --R remove : (Character,%) -> % if Character has SETCAT and $ has finiteAggregate --R removeDuplicates : % -> % if Character has SETCAT and $ has finiteAggregate ---R replace : (%,UniversalSegment Integer,%) -> % +--R replace : (%,UniversalSegment(Integer),%) -> % --R reverse! : % -> % if $ has shallowlyMutable --R rightTrim : (%,CharacterClass) -> % --R select : ((Character -> Boolean),%) -> % if $ has finiteAggregate ---R setelt : (%,UniversalSegment Integer,Character) -> Character if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),Character) -> Character if $ has shallowlyMutable --R setelt : (%,Integer,Character) -> Character if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean --R sort : % -> % if Character has ORDSET @@ -40166,7 +40268,7 @@ digraph pic { --R sort! : (((Character,Character) -> Boolean),%) -> % if $ has shallowlyMutable --R sorted? : % -> Boolean if Character has ORDSET --R sorted? : (((Character,Character) -> Boolean),%) -> Boolean ---R split : (%,CharacterClass) -> List % +--R split : (%,CharacterClass) -> List(%) --R substring? : (%,%,Integer) -> Boolean --R swap! : (%,Integer,Integer) -> Void if $ has shallowlyMutable --R @@ -40537,7 +40639,8 @@ digraph pic { --S 1 of 1 )show UnivariateSkewPolynomialCategory ---R UnivariateSkewPolynomialCategory R: Ring is a category constructor +--R +--R UnivariateSkewPolynomialCategory(R: Ring) is a category constructor --R Abbreviation for UnivariateSkewPolynomialCategory is OREPCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for OREPCAT @@ -40550,7 +40653,7 @@ digraph pic { --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % apply : (%,R,R) -> R ---R coefficients : % -> List R coerce : R -> % +--R coefficients : % -> List(R) coerce : R -> % --R coerce : Integer -> % coerce : % -> OutputForm --R degree : % -> NonNegativeInteger hash : % -> SingleInteger --R latex : % -> String leadingCoefficient : % -> R @@ -40563,7 +40666,7 @@ digraph pic { --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R coefficient : (%,NonNegativeInteger) -> R ---R coerce : Fraction Integer -> % if R has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) --R content : % -> R if R has GCDDOM --R exquo : (%,R) -> Union(%,"failed") if R has INTDOM --R leftDivide : (%,%) -> Record(quotient: %,remainder: %) if R has FIELD @@ -40578,11 +40681,11 @@ digraph pic { --R monicRightDivide : (%,%) -> Record(quotient: %,remainder: %) if R has INTDOM --R monomial : (R,NonNegativeInteger) -> % --R primitivePart : % -> % if R has GCDDOM ---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 retract : % -> Integer if R has RETRACT(INT) --R retractIfCan : % -> Union(R,"failed") ---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(Integer,"failed") if R has RETRACT(INT) --R rightDivide : (%,%) -> Record(quotient: %,remainder: %) if R has FIELD --R rightExactQuotient : (%,%) -> Union(%,"failed") if R has FIELD --R rightExtendedGcd : (%,%) -> Record(coef1: %,coef2: %,generator: %) if R has FIELD @@ -41112,7 +41215,8 @@ digraph pic { --S 1 of 1 )show XAlgebra ---R XAlgebra R: Ring is a category constructor +--R +--R XAlgebra(R: Ring) is a category constructor --R Abbreviation for XAlgebra is XALG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for XALG @@ -41336,7 +41440,8 @@ digraph pic { --S 1 of 1 )show Algebra ---R Algebra R: CommutativeRing is a category constructor +--R +--R Algebra(R: CommutativeRing) is a category constructor --R Abbreviation for Algebra is ALGEBRA --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for ALGEBRA @@ -41596,7 +41701,8 @@ digraph pic { --S 1 of 1 )show DifferentialExtension ---R DifferentialExtension R: Ring is a category constructor +--R +--R DifferentialExtension(R: Ring) is a category constructor --R Abbreviation for DifferentialExtension is DIFEXT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for DIFEXT @@ -41616,19 +41722,19 @@ digraph pic { --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R D : (%,NonNegativeInteger) -> % if R has DIFRING ---R D : (%,Symbol) -> % if R has PDRING SYMBOL ---R D : (%,List Symbol) -> % if R has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL +--R D : (%,Symbol) -> % if R has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) --R D : (%,(R -> R),NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R differentiate : % -> % if R has DIFRING --R differentiate : (%,NonNegativeInteger) -> % if R has DIFRING ---R differentiate : (%,Symbol) -> % if R has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if R has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) --R differentiate : (%,(R -> R),NonNegativeInteger) -> % --R differentiate : (%,(R -> R)) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -41890,7 +41996,8 @@ digraph pic { --S 1 of 1 )show FullyLinearlyExplicitRingOver ---R FullyLinearlyExplicitRingOver R: Ring is a category constructor +--R +--R FullyLinearlyExplicitRingOver(R: Ring) is a category constructor --R Abbreviation for FullyLinearlyExplicitRingOver is FLINEXP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FLINEXP @@ -41910,10 +42017,10 @@ digraph pic { --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R reducedSystem : Matrix % -> Matrix Integer if R has LINEXP INT ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if R has LINEXP INT ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix R,vec: Vector R) ---R reducedSystem : Matrix % -> Matrix R +--R reducedSystem : Matrix(%) -> Matrix(Integer) if R has LINEXP(INT) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if R has LINEXP(INT) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(R),vec: Vector(R)) +--R reducedSystem : Matrix(%) -> Matrix(R) --R subtractIfCan : (%,%) -> Union(%,"failed") --R --E 1 @@ -42131,7 +42238,8 @@ digraph pic { --S 1 of 1 )show LieAlgebra ---R LieAlgebra R: CommutativeRing is a category constructor +--R +--R LieAlgebra(R: CommutativeRing) is a category constructor --R Abbreviation for LieAlgebra is LIECAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for LIECAT @@ -42322,7 +42430,8 @@ digraph pic { --S 1 of 1 )show LinearOrdinaryDifferentialOperatorCategory ---R LinearOrdinaryDifferentialOperatorCategory A: Ring is a category constructor +--R +--R LinearOrdinaryDifferentialOperatorCategory(A: Ring) is a category constructor --R Abbreviation for LinearOrdinaryDifferentialOperatorCategory is LODOCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for LODOCAT @@ -42336,7 +42445,7 @@ digraph pic { --R D : () -> % 1 : () -> % --R 0 : () -> % ?^? : (%,PositiveInteger) -> % --R adjoint : % -> % apply : (%,A,A) -> A ---R coefficients : % -> List A coerce : A -> % +--R coefficients : % -> List(A) coerce : A -> % --R coerce : Integer -> % coerce : % -> OutputForm --R degree : % -> NonNegativeInteger ?.? : (%,A) -> A --R hash : % -> SingleInteger latex : % -> String @@ -42349,7 +42458,7 @@ digraph pic { --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R coefficient : (%,NonNegativeInteger) -> A ---R coerce : Fraction Integer -> % if A has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if A has RETRACT(FRAC(INT)) --R content : % -> A if A has GCDDOM --R directSum : (%,%) -> % if A has FIELD --R exquo : (%,A) -> Union(%,"failed") if A has INTDOM @@ -42365,11 +42474,11 @@ digraph pic { --R monicRightDivide : (%,%) -> Record(quotient: %,remainder: %) if A has INTDOM --R monomial : (A,NonNegativeInteger) -> % --R primitivePart : % -> % if A has GCDDOM ---R retract : % -> Fraction Integer if A has RETRACT FRAC INT ---R retract : % -> Integer if A has RETRACT INT +--R retract : % -> Fraction(Integer) if A has RETRACT(FRAC(INT)) +--R retract : % -> Integer if A has RETRACT(INT) --R retractIfCan : % -> Union(A,"failed") ---R retractIfCan : % -> Union(Fraction Integer,"failed") if A has RETRACT FRAC INT ---R retractIfCan : % -> Union(Integer,"failed") if A has RETRACT INT +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if A has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(Integer,"failed") if A has RETRACT(INT) --R rightDivide : (%,%) -> Record(quotient: %,remainder: %) if A has FIELD --R rightExactQuotient : (%,%) -> Union(%,"failed") if A has FIELD --R rightExtendedGcd : (%,%) -> Record(coef1: %,coef2: %,generator: %) if A has FIELD @@ -42737,7 +42846,8 @@ digraph pic { --S 1 of 1 )show NonAssociativeAlgebra ---R NonAssociativeAlgebra R: CommutativeRing is a category constructor +--R +--R NonAssociativeAlgebra(R: CommutativeRing) is a category constructor --R Abbreviation for NonAssociativeAlgebra is NAALG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for NAALG @@ -42958,7 +43068,8 @@ digraph pic { --S 1 of 1 )show VectorSpace ---R VectorSpace S: Field is a category constructor +--R +--R VectorSpace(S: Field) is a category constructor --R Abbreviation for VectorSpace is VSPACE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for VSPACE @@ -43142,6 +43253,7 @@ digraph pic { --S 1 of 1 )show XFreeAlgebra +--R --R XFreeAlgebra(vl: OrderedSet,R: Ring) is a category constructor --R Abbreviation for XFreeAlgebra is XFALG --R This constructor is exposed in this frame. @@ -43165,21 +43277,21 @@ digraph pic { --R one? : % -> Boolean quasiRegular : % -> % --R quasiRegular? : % -> Boolean recip : % -> Union(%,"failed") --R rquo : (%,%) -> % rquo : (%,vl) -> % ---R sample : () -> % varList : % -> List vl +--R sample : () -> % varList : % -> List(vl) --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R coef : (%,OrderedFreeMonoid vl) -> R ---R coerce : OrderedFreeMonoid vl -> % ---R lquo : (%,OrderedFreeMonoid vl) -> % ---R mindeg : % -> OrderedFreeMonoid vl ---R mindegTerm : % -> Record(k: OrderedFreeMonoid vl,c: R) ---R monom : (OrderedFreeMonoid vl,R) -> % ---R retract : % -> OrderedFreeMonoid vl ---R retractIfCan : % -> Union(OrderedFreeMonoid vl,"failed") ---R rquo : (%,OrderedFreeMonoid vl) -> % +--R coef : (%,OrderedFreeMonoid(vl)) -> R +--R coerce : OrderedFreeMonoid(vl) -> % +--R lquo : (%,OrderedFreeMonoid(vl)) -> % +--R mindeg : % -> OrderedFreeMonoid(vl) +--R mindegTerm : % -> Record(k: OrderedFreeMonoid(vl),c: R) +--R monom : (OrderedFreeMonoid(vl),R) -> % +--R retract : % -> OrderedFreeMonoid(vl) +--R retractIfCan : % -> Union(OrderedFreeMonoid(vl),"failed") +--R rquo : (%,OrderedFreeMonoid(vl)) -> % --R sh : (%,NonNegativeInteger) -> % if R has COMRING --R sh : (%,%) -> % if R has COMRING --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -43529,6 +43641,7 @@ digraph pic { --S 1 of 1 )show DirectProductCategory +--R --R DirectProductCategory(dim: NonNegativeInteger,R: Type) is a category constructor --R Abbreviation for DirectProductCategory is DIRPCAT --R This constructor is exposed in this frame. @@ -43536,12 +43649,12 @@ digraph pic { --R --R------------------------------- Operations -------------------------------- --R -? : % -> % if R has RING 1 : () -> % if R has MONOID ---R 0 : () -> % if R has CABMON coerce : % -> Vector R ---R copy : % -> % directProduct : Vector R -> % +--R 0 : () -> % if R has CABMON coerce : % -> Vector(R) +--R copy : % -> % directProduct : Vector(R) -> % --R ?.? : (%,Integer) -> R elt : (%,Integer,R) -> R --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List R eq? : (%,%) -> Boolean ---R index? : (Integer,%) -> Boolean indices : % -> List Integer +--R entries : % -> List(R) eq? : (%,%) -> Boolean +--R index? : (Integer,%) -> Boolean indices : % -> List(Integer) --R map : ((R -> R),%) -> % qelt : (%,Integer) -> R --R sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate @@ -43563,10 +43676,10 @@ digraph pic { --R ?>=? : (%,%) -> Boolean if R has ORDRING or R has OAMONS --R D : (%,(R -> R)) -> % if R has RING --R D : (%,(R -> R),NonNegativeInteger) -> % if R has RING ---R D : (%,List Symbol,List NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Ring)) ---R D : (%,Symbol,NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Ring)) ---R D : (%,List Symbol) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Ring)) ---R D : (%,Symbol) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Ring)) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Ring)) +--R D : (%,Symbol,NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Ring)) +--R D : (%,List(Symbol)) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Ring)) +--R D : (%,Symbol) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Ring)) --R D : (%,NonNegativeInteger) -> % if and(has(R,DifferentialRing),has(R,Ring)) --R D : % -> % if and(has(R,DifferentialRing),has(R,Ring)) --R ?^? : (%,PositiveInteger) -> % if R has MONOID @@ -43575,26 +43688,26 @@ digraph pic { --R any? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R characteristic : () -> NonNegativeInteger if R has RING --R coerce : R -> % if R has SETCAT ---R coerce : Fraction Integer -> % if and(has(R,RetractableTo Fraction Integer),has(R,SetCategory)) ---R coerce : Integer -> % if and(has(R,RetractableTo Integer),has(R,SetCategory)) or R has RING +--R coerce : Fraction(Integer) -> % if and(has(R,RetractableTo(Fraction(Integer))),has(R,SetCategory)) +--R coerce : Integer -> % if and(has(R,RetractableTo(Integer)),has(R,SetCategory)) or R has RING --R coerce : % -> OutputForm if R has SETCAT --R count : (R,%) -> NonNegativeInteger if R has SETCAT and $ has finiteAggregate --R count : ((R -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R differentiate : (%,(R -> R)) -> % if R has RING --R differentiate : (%,(R -> R),NonNegativeInteger) -> % if R has RING ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Ring)) ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Ring)) ---R differentiate : (%,List Symbol) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Ring)) ---R differentiate : (%,Symbol) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Ring)) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Ring)) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Ring)) +--R differentiate : (%,List(Symbol)) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Ring)) +--R differentiate : (%,Symbol) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Ring)) --R differentiate : (%,NonNegativeInteger) -> % if and(has(R,DifferentialRing),has(R,Ring)) --R differentiate : % -> % if and(has(R,DifferentialRing),has(R,Ring)) --R dimension : () -> CardinalNumber if R has FIELD --R dot : (%,%) -> R if R has RING --R entry? : (R,%) -> Boolean if $ has finiteAggregate and R has SETCAT ---R eval : (%,List R,List R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,R,R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,Equation R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,List Equation R) -> % if R has EVALAB R and R has SETCAT +--R eval : (%,List(R),List(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,R,R) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,Equation(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,List(Equation(R))) -> % if R has EVALAB(R) and R has SETCAT --R every? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,R) -> % if $ has shallowlyMutable --R first : % -> R if Integer has ORDSET @@ -43607,27 +43720,27 @@ digraph pic { --R max : (%,%) -> % if R has ORDRING or R has OAMONS --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (R,%) -> Boolean if R has SETCAT and $ has finiteAggregate ---R members : % -> List R if $ has finiteAggregate +--R members : % -> List(R) if $ has finiteAggregate --R min : (%,%) -> % if R has ORDRING or R has OAMONS --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R negative? : % -> Boolean if R has ORDRING --R one? : % -> Boolean if R has MONOID ---R parts : % -> List R if $ has finiteAggregate +--R parts : % -> List(R) if $ has finiteAggregate --R positive? : % -> Boolean if R has ORDRING --R qsetelt! : (%,Integer,R) -> R if $ has shallowlyMutable --R random : () -> % if R has FINITE --R recip : % -> Union(%,"failed") if R has MONOID ---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 %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if and(has(R,LinearlyExplicitRingOver Integer),has(R,Ring)) ---R reducedSystem : Matrix % -> Matrix Integer if and(has(R,LinearlyExplicitRingOver Integer),has(R,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(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if and(has(R,LinearlyExplicitRingOver(Integer)),has(R,Ring)) +--R reducedSystem : Matrix(%) -> Matrix(Integer) if and(has(R,LinearlyExplicitRingOver(Integer)),has(R,Ring)) --R retract : % -> R if R has SETCAT ---R retract : % -> Fraction Integer if and(has(R,RetractableTo Fraction Integer),has(R,SetCategory)) ---R retract : % -> Integer if and(has(R,RetractableTo Integer),has(R,SetCategory)) +--R retract : % -> Fraction(Integer) if and(has(R,RetractableTo(Fraction(Integer))),has(R,SetCategory)) +--R retract : % -> Integer if and(has(R,RetractableTo(Integer)),has(R,SetCategory)) --R retractIfCan : % -> Union(R,"failed") if R has SETCAT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if and(has(R,RetractableTo Fraction Integer),has(R,SetCategory)) ---R retractIfCan : % -> Union(Integer,"failed") if and(has(R,RetractableTo Integer),has(R,SetCategory)) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if and(has(R,RetractableTo(Fraction(Integer))),has(R,SetCategory)) +--R retractIfCan : % -> Union(Integer,"failed") if and(has(R,RetractableTo(Integer)),has(R,SetCategory)) --R setelt : (%,Integer,R) -> R if $ has shallowlyMutable --R sign : % -> Integer if R has ORDRING --R size : () -> NonNegativeInteger if R has FINITE @@ -44145,20 +44258,21 @@ digraph pic { --S 1 of 1 )show DivisionRing +--R --R DivisionRing is a category constructor --R Abbreviation for DivisionRing is DIVRING --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for DIVRING --R --R------------------------------- Operations -------------------------------- ---R ?*? : (%,Fraction Integer) -> % ?*? : (Fraction Integer,%) -> % +--R ?*? : (%,Fraction(Integer)) -> % ?*? : (Fraction(Integer),%) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % --R ?-? : (%,%) -> % -? : % -> % --R ?=? : (%,%) -> Boolean 1 : () -> % --R 0 : () -> % ?^? : (%,Integer) -> % ---R ?^? : (%,PositiveInteger) -> % coerce : Fraction Integer -> % +--R ?^? : (%,PositiveInteger) -> % coerce : Fraction(Integer) -> % --R coerce : Integer -> % coerce : % -> OutputForm --R hash : % -> SingleInteger inv : % -> % --R latex : % -> String one? : % -> Boolean @@ -44393,7 +44507,8 @@ digraph pic { --S 1 of 1 )show FiniteRankNonAssociativeAlgebra ---R FiniteRankNonAssociativeAlgebra R: CommutativeRing is a category constructor +--R +--R FiniteRankNonAssociativeAlgebra(R: CommutativeRing) is a category constructor --R Abbreviation for FiniteRankNonAssociativeAlgebra is FINAALG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FINAALG @@ -44412,40 +44527,41 @@ digraph pic { --R flexible? : () -> Boolean hash : % -> SingleInteger --R jacobiIdentity? : () -> Boolean jordanAdmissible? : () -> Boolean --R jordanAlgebra? : () -> Boolean latex : % -> String ---R leftAlternative? : () -> Boolean leftDiscriminant : Vector % -> R +--R leftAlternative? : () -> Boolean leftDiscriminant : Vector(%) -> R --R leftNorm : % -> R leftTrace : % -> R --R lieAdmissible? : () -> Boolean lieAlgebra? : () -> Boolean --R powerAssociative? : () -> Boolean rank : () -> PositiveInteger ---R rightAlternative? : () -> Boolean rightDiscriminant : Vector % -> R ---R rightNorm : % -> R rightTrace : % -> R ---R sample : () -> % someBasis : () -> Vector % ---R zero? : % -> Boolean ?~=? : (%,%) -> Boolean +--R rightAlternative? : () -> Boolean rightNorm : % -> R +--R rightTrace : % -> R sample : () -> % +--R someBasis : () -> Vector(%) zero? : % -> Boolean +--R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % ---R associatorDependence : () -> List Vector R if R has INTDOM ---R conditionsForIdempotents : Vector % -> List Polynomial R ---R coordinates : (Vector %,Vector %) -> Matrix R ---R coordinates : (%,Vector %) -> Vector R ---R leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial R ---R leftMinimalPolynomial : % -> SparseUnivariatePolynomial R if R has INTDOM +--R associatorDependence : () -> List(Vector(R)) if R has INTDOM +--R conditionsForIdempotents : Vector(%) -> List(Polynomial(R)) +--R coordinates : (Vector(%),Vector(%)) -> Matrix(R) +--R coordinates : (%,Vector(%)) -> Vector(R) +--R leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R) +--R leftMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if R has INTDOM --R leftPower : (%,PositiveInteger) -> % --R leftRecip : % -> Union(%,"failed") if R has INTDOM ---R leftRegularRepresentation : (%,Vector %) -> Matrix R ---R leftTraceMatrix : Vector % -> Matrix R +--R leftRegularRepresentation : (%,Vector(%)) -> Matrix(R) +--R leftTraceMatrix : Vector(%) -> Matrix(R) --R leftUnit : () -> Union(%,"failed") if R has INTDOM ---R leftUnits : () -> Union(Record(particular: %,basis: List %),"failed") if R has INTDOM +--R leftUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") if R has INTDOM --R noncommutativeJordanAlgebra? : () -> Boolean --R plenaryPower : (%,PositiveInteger) -> % --R recip : % -> Union(%,"failed") if R has INTDOM ---R represents : (Vector R,Vector %) -> % ---R rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial R ---R rightMinimalPolynomial : % -> SparseUnivariatePolynomial R if R has INTDOM +--R represents : (Vector(R),Vector(%)) -> % +--R rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R) +--R rightDiscriminant : Vector(%) -> R +--R rightMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if R has INTDOM --R rightPower : (%,PositiveInteger) -> % --R rightRecip : % -> Union(%,"failed") if R has INTDOM ---R rightRegularRepresentation : (%,Vector %) -> Matrix R ---R rightTraceMatrix : Vector % -> Matrix R +--R rightRegularRepresentation : (%,Vector(%)) -> Matrix(R) +--R rightTraceMatrix : Vector(%) -> Matrix(R) --R rightUnit : () -> Union(%,"failed") if R has INTDOM ---R rightUnits : () -> Union(Record(particular: %,basis: List %),"failed") if R has INTDOM ---R structuralConstants : Vector % -> Vector Matrix R +--R rightUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") if R has INTDOM +--R structuralConstants : Vector(%) -> Vector(Matrix(R)) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unit : () -> Union(%,"failed") if R has INTDOM --R @@ -45375,6 +45491,7 @@ digraph pic { --S 1 of 1 )show FreeLieAlgebra +--R --R FreeLieAlgebra(VarSet: OrderedSet,R: CommutativeRing) is a category constructor --R Abbreviation for FreeLieAlgebra is FLALG --R This constructor is exposed in this frame. @@ -45385,19 +45502,19 @@ digraph pic { --R ?*? : (Integer,%) -> % ?*? : (PositiveInteger,%) -> % --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean ---R LiePoly : LyndonWord VarSet -> % 0 : () -> % +--R LiePoly : LyndonWord(VarSet) -> % 0 : () -> % --R coerce : VarSet -> % coerce : % -> OutputForm --R construct : (%,%) -> % degree : % -> NonNegativeInteger --R eval : (%,VarSet,%) -> % hash : % -> SingleInteger --R latex : % -> String mirror : % -> % ---R sample : () -> % varList : % -> List VarSet +--R sample : () -> % varList : % -> List(VarSet) --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?/? : (%,R) -> % if R has FIELD --R coef : (XRecursivePolynomial(VarSet,R),%) -> R --R coerce : % -> XRecursivePolynomial(VarSet,R) --R coerce : % -> XDistributedPolynomial(VarSet,R) ---R eval : (%,List VarSet,List %) -> % +--R eval : (%,List(VarSet),List(%)) -> % --R lquo : (XRecursivePolynomial(VarSet,R),%) -> XRecursivePolynomial(VarSet,R) --R rquo : (XRecursivePolynomial(VarSet,R),%) -> XRecursivePolynomial(VarSet,R) --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -45922,7 +46039,8 @@ digraph pic { --S 1 of 1 )show MonogenicLinearOperator ---R MonogenicLinearOperator R: Ring is a category constructor +--R +--R MonogenicLinearOperator(R: Ring) is a category constructor --R Abbreviation for MonogenicLinearOperator is MLO --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for MLO @@ -46210,7 +46328,8 @@ digraph pic { --S 1 of 1 )show OctonionCategory ---R OctonionCategory R: CommutativeRing is a category constructor +--R +--R OctonionCategory(R: CommutativeRing) is a category constructor --R Abbreviation for OctonionCategory is OC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for OC @@ -46244,28 +46363,28 @@ digraph pic { --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if R has CHARNZ ---R coerce : Fraction Integer -> % if R has RETRACT FRAC INT ---R convert : % -> InputForm if R has KONVERT INFORM +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) +--R convert : % -> InputForm if R has KONVERT(INFORM) --R ?.? : (%,R) -> % if R has ELTAB(R,R) --R eval : (%,Symbol,R) -> % if R has IEVALAB(SYMBOL,R) ---R eval : (%,List Symbol,List R) -> % if R has IEVALAB(SYMBOL,R) ---R eval : (%,List Equation R) -> % if R has EVALAB R ---R eval : (%,Equation R) -> % if R has EVALAB R ---R eval : (%,R,R) -> % if R has EVALAB R ---R eval : (%,List R,List R) -> % if R has EVALAB R +--R eval : (%,List(Symbol),List(R)) -> % if R has IEVALAB(SYMBOL,R) +--R eval : (%,List(Equation(R))) -> % if R has EVALAB(R) +--R eval : (%,Equation(R)) -> % if R has EVALAB(R) +--R eval : (%,R,R) -> % if R has EVALAB(R) +--R eval : (%,List(R),List(R)) -> % if R has EVALAB(R) --R index : PositiveInteger -> % if R has FINITE --R lookup : % -> PositiveInteger if R has FINITE --R max : (%,%) -> % if R has ORDSET --R min : (%,%) -> % if R has ORDSET --R random : () -> % if R has FINITE ---R rational : % -> Fraction Integer if R has INS +--R rational : % -> Fraction(Integer) if R has INS --R rational? : % -> Boolean if R has INS ---R rationalIfCan : % -> Union(Fraction Integer,"failed") if R has INS ---R retract : % -> Fraction Integer if R has RETRACT FRAC INT ---R retract : % -> Integer if R has RETRACT INT +--R rationalIfCan : % -> Union(Fraction(Integer),"failed") if R has INS +--R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT)) +--R retract : % -> Integer if R has RETRACT(INT) --R retractIfCan : % -> Union(R,"failed") ---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(Integer,"failed") if R has RETRACT(INT) --R size : () -> NonNegativeInteger if R has FINITE --R subtractIfCan : (%,%) -> Union(%,"failed") --R @@ -46781,7 +46900,8 @@ digraph pic { --S 1 of 1 )show QuaternionCategory ---R QuaternionCategory R: CommutativeRing is a category constructor +--R +--R QuaternionCategory(R: CommutativeRing) is a category constructor --R Abbreviation for QuaternionCategory is QUATCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for QUATCAT @@ -46805,8 +46925,8 @@ digraph pic { --R real : % -> R recip : % -> Union(%,"failed") --R retract : % -> R sample : () -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (Fraction Integer,%) -> % if R has FIELD ---R ?*? : (%,Fraction Integer) -> % if R has FIELD +--R ?*? : (Fraction(Integer),%) -> % if R has FIELD +--R ?*? : (%,Fraction(Integer)) -> % if R has FIELD --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,Integer) -> % if R has FIELD --R ?**? : (%,NonNegativeInteger) -> % @@ -46815,46 +46935,46 @@ digraph pic { --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 ?^? : (%,Integer) -> % if R has FIELD --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if R has CHARNZ ---R coerce : Fraction Integer -> % if R has FIELD or R has RETRACT FRAC INT ---R convert : % -> InputForm if R has KONVERT INFORM +--R coerce : Fraction(Integer) -> % if R has FIELD or R has RETRACT(FRAC(INT)) +--R convert : % -> InputForm if R has KONVERT(INFORM) --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 ?.? : (%,R) -> % if R has ELTAB(R,R) --R eval : (%,Symbol,R) -> % if R has IEVALAB(SYMBOL,R) ---R eval : (%,List Symbol,List R) -> % if R has IEVALAB(SYMBOL,R) ---R eval : (%,List Equation R) -> % if R has EVALAB R ---R eval : (%,Equation R) -> % if R has EVALAB R ---R eval : (%,R,R) -> % if R has EVALAB R ---R eval : (%,List R,List R) -> % if R has EVALAB R +--R eval : (%,List(Symbol),List(R)) -> % if R has IEVALAB(SYMBOL,R) +--R eval : (%,List(Equation(R))) -> % if R has EVALAB(R) +--R eval : (%,Equation(R)) -> % if R has EVALAB(R) +--R eval : (%,R,R) -> % if R has EVALAB(R) +--R eval : (%,List(R),List(R)) -> % if R has EVALAB(R) --R max : (%,%) -> % if R has ORDSET --R min : (%,%) -> % if R has ORDSET ---R rational : % -> Fraction Integer if R has INS +--R rational : % -> Fraction(Integer) if R has INS --R rational? : % -> Boolean if R has INS ---R rationalIfCan : % -> Union(Fraction Integer,"failed") if R has INS ---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 retract : % -> Fraction Integer if R has RETRACT FRAC INT ---R retract : % -> Integer if R has RETRACT INT +--R rationalIfCan : % -> Union(Fraction(Integer),"failed") if R has INS +--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 retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT)) +--R retract : % -> Integer if R has RETRACT(INT) --R retractIfCan : % -> Union(R,"failed") ---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(Integer,"failed") if R has RETRACT(INT) --R subtractIfCan : (%,%) -> Union(%,"failed") --R --E 1 @@ -47350,6 +47470,7 @@ The SquareMatrix domain is for square matrices of fixed dimension. --S 1 of 1 )show SquareMatrixCategory +--R --R SquareMatrixCategory(ndim: NonNegativeInteger,R: Ring,Row: DirectProductCategory(t#1,t#2),Col: DirectProductCategory(t#1,t#2)) is a category constructor --R Abbreviation for SquareMatrixCategory is SMATCAT --R This constructor is exposed in this frame. @@ -47368,13 +47489,13 @@ The SquareMatrix domain is for square matrices of fixed dimension. --R coerce : R -> % coerce : Integer -> % --R coerce : % -> OutputForm column : (%,Integer) -> Col --R copy : % -> % diagonal : % -> Row ---R diagonal? : % -> Boolean diagonalMatrix : List R -> % +--R diagonal? : % -> Boolean diagonalMatrix : List(R) -> % --R diagonalProduct : % -> R elt : (%,Integer,Integer) -> R --R elt : (%,Integer,Integer,R) -> R empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean --R hash : % -> SingleInteger latex : % -> String ---R listOfLists : % -> List List R map : ((R -> R),%) -> % ---R map : (((R,R) -> R),%,%) -> % matrix : List List R -> % +--R listOfLists : % -> List(List(R)) map : ((R -> R),%) -> % +--R map : (((R,R) -> R),%,%) -> % matrix : List(List(R)) -> % --R maxColIndex : % -> Integer maxRowIndex : % -> Integer --R minColIndex : % -> Integer minRowIndex : % -> Integer --R ncols : % -> NonNegativeInteger nrows : % -> NonNegativeInteger @@ -47390,52 +47511,52 @@ The SquareMatrix domain is for square matrices of fixed dimension. --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,R) -> % if R has FIELD --R D : (%,NonNegativeInteger) -> % if R has DIFRING ---R D : (%,Symbol) -> % if R has PDRING SYMBOL ---R D : (%,List Symbol) -> % if R has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL +--R D : (%,Symbol) -> % if R has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) --R D : (%,(R -> R),NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R any? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R characteristic : () -> NonNegativeInteger ---R coerce : Fraction Integer -> % if R has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) --R count : (R,%) -> NonNegativeInteger if R has SETCAT and $ has finiteAggregate --R count : ((R -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R determinant : % -> R if R has commutative * +--R determinant : % -> R if R has commutative(*) --R differentiate : % -> % if R has DIFRING --R differentiate : (%,NonNegativeInteger) -> % if R has DIFRING ---R differentiate : (%,Symbol) -> % if R has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if R has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) --R differentiate : (%,(R -> R),NonNegativeInteger) -> % --R differentiate : (%,(R -> R)) -> % ---R eval : (%,List R,List R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,R,R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,Equation R) -> % if R has EVALAB R and R has SETCAT ---R eval : (%,List Equation R) -> % if R has EVALAB R and R has SETCAT +--R eval : (%,List(R),List(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,R,R) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,Equation(R)) -> % if R has EVALAB(R) and R has SETCAT +--R eval : (%,List(Equation(R))) -> % if R has EVALAB(R) and R has SETCAT --R every? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R exquo : (%,R) -> Union(%,"failed") if R has INTDOM --R inverse : % -> Union(%,"failed") if R has FIELD --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((R -> R),%) -> % if $ has shallowlyMutable --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 * +--R members : % -> List(R) if $ has finiteAggregate +--R minordet : % -> R if R has commutative(*) --R more? : (%,NonNegativeInteger) -> Boolean ---R nullSpace : % -> List Col if R has INTDOM +--R nullSpace : % -> List(Col) if R has INTDOM --R nullity : % -> NonNegativeInteger if R has INTDOM ---R parts : % -> List R if $ has finiteAggregate +--R parts : % -> List(R) if $ has finiteAggregate --R rank : % -> NonNegativeInteger if R has INTDOM ---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 retract : % -> Fraction Integer if R has RETRACT FRAC INT ---R retract : % -> Integer if R has RETRACT 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 retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT)) +--R retract : % -> Integer if R has RETRACT(INT) --R retractIfCan : % -> Union(R,"failed") ---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(Integer,"failed") if R has RETRACT(INT) --R rowEchelon : % -> % if R has EUCDOM --R size? : (%,NonNegativeInteger) -> Boolean --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -47976,6 +48097,7 @@ digraph pic { --S 1 of 1 )show XPolynomialsCat +--R --R XPolynomialsCat(vl: OrderedSet,R: Ring) is a category constructor --R Abbreviation for XPolynomialsCat is XPOLYC --R This constructor is exposed in this frame. @@ -48000,22 +48122,22 @@ digraph pic { --R quasiRegular : % -> % quasiRegular? : % -> Boolean --R recip : % -> Union(%,"failed") rquo : (%,%) -> % --R rquo : (%,vl) -> % sample : () -> % ---R varList : % -> List vl zero? : % -> Boolean +--R varList : % -> List(vl) zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R coef : (%,OrderedFreeMonoid vl) -> R ---R coerce : OrderedFreeMonoid vl -> % ---R lquo : (%,OrderedFreeMonoid vl) -> % ---R maxdeg : % -> OrderedFreeMonoid vl ---R mindeg : % -> OrderedFreeMonoid vl ---R mindegTerm : % -> Record(k: OrderedFreeMonoid vl,c: R) ---R monom : (OrderedFreeMonoid vl,R) -> % ---R retract : % -> OrderedFreeMonoid vl ---R retractIfCan : % -> Union(OrderedFreeMonoid vl,"failed") ---R rquo : (%,OrderedFreeMonoid vl) -> % +--R coef : (%,OrderedFreeMonoid(vl)) -> R +--R coerce : OrderedFreeMonoid(vl) -> % +--R lquo : (%,OrderedFreeMonoid(vl)) -> % +--R maxdeg : % -> OrderedFreeMonoid(vl) +--R mindeg : % -> OrderedFreeMonoid(vl) +--R mindegTerm : % -> Record(k: OrderedFreeMonoid(vl),c: R) +--R monom : (OrderedFreeMonoid(vl),R) -> % +--R retract : % -> OrderedFreeMonoid(vl) +--R retractIfCan : % -> Union(OrderedFreeMonoid(vl),"failed") +--R rquo : (%,OrderedFreeMonoid(vl)) -> % --R sh : (%,NonNegativeInteger) -> % if R has COMRING --R sh : (%,%) -> % if R has COMRING --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -48301,6 +48423,7 @@ digraph pic { --S 1 of 1 )show AbelianMonoidRing +--R --R AbelianMonoidRing(R: Ring,E: OrderedAbelianMonoid) is a category constructor --R Abbreviation for AbelianMonoidRing is AMR --R This constructor is exposed in this frame. @@ -48322,8 +48445,8 @@ digraph pic { --R one? : % -> Boolean recip : % -> Union(%,"failed") --R reductum : % -> % sample : () -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if R has ALGEBRA FRAC INT ---R ?*? : (Fraction Integer,%) -> % if R has ALGEBRA FRAC INT +--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 @@ -48333,7 +48456,7 @@ digraph pic { --R charthRoot : % -> Union(%,"failed") if R has CHARNZ --R coerce : R -> % if R has COMRING --R coerce : % -> % if R has INTDOM ---R coerce : Fraction Integer -> % if R has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) --R exquo : (%,%) -> Union(%,"failed") if R has INTDOM --R subtractIfCan : (%,%) -> Union(%,"failed") --R unit? : % -> Boolean if R has INTDOM @@ -48933,7 +49056,8 @@ digraph pic { --S 1 of 1 )show FramedNonAssociativeAlgebra ---R FramedNonAssociativeAlgebra R: CommutativeRing is a category constructor +--R +--R FramedNonAssociativeAlgebra(R: CommutativeRing) is a category constructor --R Abbreviation for FramedNonAssociativeAlgebra is FRNAALG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FRNAALG @@ -48946,59 +49070,59 @@ digraph pic { --R -? : % -> % ?=? : (%,%) -> Boolean --R 0 : () -> % alternative? : () -> Boolean --R antiAssociative? : () -> Boolean antiCommutative? : () -> Boolean ---R antiCommutator : (%,%) -> % apply : (Matrix R,%) -> % +--R antiCommutator : (%,%) -> % apply : (Matrix(R),%) -> % --R associative? : () -> Boolean associator : (%,%,%) -> % ---R basis : () -> Vector % coerce : % -> OutputForm +--R basis : () -> Vector(%) coerce : % -> OutputForm --R commutative? : () -> Boolean commutator : (%,%) -> % ---R convert : Vector R -> % convert : % -> Vector R ---R coordinates : % -> Vector R ?.? : (%,Integer) -> R +--R convert : Vector(R) -> % convert : % -> Vector(R) +--R coordinates : % -> Vector(R) ?.? : (%,Integer) -> R --R flexible? : () -> Boolean hash : % -> SingleInteger --R jacobiIdentity? : () -> Boolean jordanAdmissible? : () -> Boolean --R jordanAlgebra? : () -> Boolean latex : % -> String --R leftAlternative? : () -> Boolean leftDiscriminant : () -> R ---R leftDiscriminant : Vector % -> R leftNorm : % -> R ---R leftTrace : % -> R leftTraceMatrix : () -> Matrix R +--R leftDiscriminant : Vector(%) -> R leftNorm : % -> R +--R leftTrace : % -> R leftTraceMatrix : () -> Matrix(R) --R lieAdmissible? : () -> Boolean lieAlgebra? : () -> Boolean --R powerAssociative? : () -> Boolean rank : () -> PositiveInteger ---R represents : Vector R -> % rightAlternative? : () -> Boolean ---R rightDiscriminant : () -> R rightDiscriminant : Vector % -> R ---R rightNorm : % -> R rightTrace : % -> R ---R rightTraceMatrix : () -> Matrix R sample : () -> % ---R someBasis : () -> Vector % zero? : % -> Boolean ---R ?~=? : (%,%) -> Boolean +--R represents : Vector(R) -> % rightAlternative? : () -> Boolean +--R rightDiscriminant : () -> R rightNorm : % -> R +--R rightTrace : % -> R rightTraceMatrix : () -> Matrix(R) +--R sample : () -> % someBasis : () -> Vector(%) +--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % ---R associatorDependence : () -> List Vector R if R has INTDOM ---R conditionsForIdempotents : () -> List Polynomial R ---R conditionsForIdempotents : Vector % -> List Polynomial R ---R coordinates : Vector % -> Matrix R ---R coordinates : (Vector %,Vector %) -> Matrix R ---R coordinates : (%,Vector %) -> Vector R ---R leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial R ---R leftMinimalPolynomial : % -> SparseUnivariatePolynomial R if R has INTDOM +--R associatorDependence : () -> List(Vector(R)) if R has INTDOM +--R conditionsForIdempotents : () -> List(Polynomial(R)) +--R conditionsForIdempotents : Vector(%) -> List(Polynomial(R)) +--R coordinates : Vector(%) -> Matrix(R) +--R coordinates : (Vector(%),Vector(%)) -> Matrix(R) +--R coordinates : (%,Vector(%)) -> Vector(R) +--R leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R) +--R leftMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if R has INTDOM --R leftPower : (%,PositiveInteger) -> % ---R leftRankPolynomial : () -> SparseUnivariatePolynomial Polynomial R if R has FIELD +--R leftRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(R)) if R has FIELD --R leftRecip : % -> Union(%,"failed") if R has INTDOM ---R leftRegularRepresentation : % -> Matrix R ---R leftRegularRepresentation : (%,Vector %) -> Matrix R ---R leftTraceMatrix : Vector % -> Matrix R +--R leftRegularRepresentation : % -> Matrix(R) +--R leftRegularRepresentation : (%,Vector(%)) -> Matrix(R) +--R leftTraceMatrix : Vector(%) -> Matrix(R) --R leftUnit : () -> Union(%,"failed") if R has INTDOM ---R leftUnits : () -> Union(Record(particular: %,basis: List %),"failed") if R has INTDOM +--R leftUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") if R has INTDOM --R noncommutativeJordanAlgebra? : () -> Boolean --R plenaryPower : (%,PositiveInteger) -> % --R recip : % -> Union(%,"failed") if R has INTDOM ---R represents : (Vector R,Vector %) -> % ---R rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial R ---R rightMinimalPolynomial : % -> SparseUnivariatePolynomial R if R has INTDOM +--R represents : (Vector(R),Vector(%)) -> % +--R rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R) +--R rightDiscriminant : Vector(%) -> R +--R rightMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if R has INTDOM --R rightPower : (%,PositiveInteger) -> % ---R rightRankPolynomial : () -> SparseUnivariatePolynomial Polynomial R if R has FIELD +--R rightRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(R)) if R has FIELD --R rightRecip : % -> Union(%,"failed") if R has INTDOM ---R rightRegularRepresentation : % -> Matrix R ---R rightRegularRepresentation : (%,Vector %) -> Matrix R ---R rightTraceMatrix : Vector % -> Matrix R +--R rightRegularRepresentation : % -> Matrix(R) +--R rightRegularRepresentation : (%,Vector(%)) -> Matrix(R) +--R rightTraceMatrix : Vector(%) -> Matrix(R) --R rightUnit : () -> Union(%,"failed") if R has INTDOM ---R rightUnits : () -> Union(Record(particular: %,basis: List %),"failed") if R has INTDOM ---R structuralConstants : () -> Vector Matrix R ---R structuralConstants : Vector % -> Vector Matrix R +--R rightUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") if R has INTDOM +--R structuralConstants : () -> Vector(Matrix(R)) +--R structuralConstants : Vector(%) -> Vector(Matrix(R)) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unit : () -> Union(%,"failed") if R has INTDOM --R @@ -49622,6 +49746,7 @@ digraph pic { --S 1 of 1 )show GcdDomain +--R --R GcdDomain is a category constructor --R Abbreviation for GcdDomain is GCDDOM --R This constructor is exposed in this frame. @@ -49635,9 +49760,9 @@ digraph pic { --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % associates? : (%,%) -> Boolean --R coerce : % -> % coerce : Integer -> % ---R coerce : % -> OutputForm gcd : List % -> % +--R coerce : % -> OutputForm gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger ---R latex : % -> String lcm : List % -> % +--R latex : % -> String lcm : List(%) -> % --R lcm : (%,%) -> % one? : % -> Boolean --R recip : % -> Union(%,"failed") sample : () -> % --R unit? : % -> Boolean unitCanonical : % -> % @@ -49647,7 +49772,7 @@ digraph pic { --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R exquo : (%,%) -> Union(%,"failed") ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -50155,6 +50280,7 @@ digraph pic { --S 1 of 1 )show FiniteAbelianMonoidRing +--R --R FiniteAbelianMonoidRing(R: Ring,E: OrderedAbelianMonoid) is a category constructor --R Abbreviation for FiniteAbelianMonoidRing is FAMR --R This constructor is exposed in this frame. @@ -50168,7 +50294,7 @@ digraph pic { --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % coefficient : (%,E) -> R ---R coefficients : % -> List R coerce : R -> % +--R coefficients : % -> List(R) coerce : R -> % --R coerce : Integer -> % coerce : % -> OutputForm --R degree : % -> E ground : % -> R --R ground? : % -> Boolean hash : % -> SingleInteger @@ -50180,8 +50306,8 @@ digraph pic { --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 ?*? : (%,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 @@ -50190,18 +50316,18 @@ digraph pic { --R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if R has CHARNZ ---R coerce : Fraction Integer -> % if R has RETRACT FRAC INT or R has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) or R has ALGEBRA(FRAC(INT)) --R coerce : % -> % if R has INTDOM --R content : % -> R if R has GCDDOM --R exquo : (%,R) -> Union(%,"failed") if R has INTDOM --R exquo : (%,%) -> Union(%,"failed") if R has INTDOM --R numberOfMonomials : % -> NonNegativeInteger --R primitivePart : % -> % if R has GCDDOM ---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 retract : % -> Integer if R has RETRACT(INT) --R retractIfCan : % -> Union(R,"failed") ---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(Integer,"failed") if R has RETRACT(INT) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unit? : % -> Boolean if R has INTDOM --R unitCanonical : % -> % if R has INTDOM @@ -50607,57 +50733,58 @@ digraph pic { --S 1 of 1 )show IntervalCategory ---R IntervalCategory R: Join(FloatingPointSystem,TranscendentalFunctionCategory) is a category constructor +--R +--R IntervalCategory(R: Join(FloatingPointSystem,TranscendentalFunctionCategory)) is a category constructor --R Abbreviation for IntervalCategory is INTCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for INTCAT --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: %) @@ -51037,6 +51164,7 @@ digraph pic { --S 1 of 1 )show PowerSeriesCategory +--R --R PowerSeriesCategory(Coef: Ring,Expon: OrderedAbelianMonoid,Var: OrderedSet) is a category constructor --R Abbreviation for PowerSeriesCategory is PSCAT --R This constructor is exposed in this frame. @@ -51058,10 +51186,10 @@ digraph pic { --R monomial : (Coef,Expon) -> % monomial? : % -> Boolean --R one? : % -> Boolean pole? : % -> Boolean --R recip : % -> Union(%,"failed") reductum : % -> % ---R sample : () -> % variables : % -> List Var +--R sample : () -> % variables : % -> List(Var) --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?*? : (Fraction Integer,%) -> % if Coef has ALGEBRA FRAC INT +--R ?*? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?*? : (Fraction(Integer),%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,Coef) -> % if Coef has FIELD @@ -51071,9 +51199,9 @@ digraph pic { --R charthRoot : % -> Union(%,"failed") if Coef has CHARNZ --R coerce : Coef -> % if Coef has COMRING --R coerce : % -> % if Coef has INTDOM ---R coerce : Fraction Integer -> % if Coef has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R exquo : (%,%) -> Union(%,"failed") if Coef has INTDOM ---R monomial : (%,List Var,List Expon) -> % +--R monomial : (%,List(Var),List(Expon)) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") --R unit? : % -> Boolean if Coef has INTDOM --R unitCanonical : % -> % if Coef has INTDOM @@ -51383,6 +51511,7 @@ digraph pic { --S 1 of 1 )show PrincipalIdealDomain +--R --R PrincipalIdealDomain is a category constructor --R Abbreviation for PrincipalIdealDomain is PID --R This constructor is exposed in this frame. @@ -51396,9 +51525,9 @@ digraph pic { --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % associates? : (%,%) -> Boolean --R coerce : % -> % coerce : Integer -> % ---R coerce : % -> OutputForm gcd : List % -> % +--R coerce : % -> OutputForm gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger ---R latex : % -> String lcm : List % -> % +--R latex : % -> String lcm : List(%) -> % --R lcm : (%,%) -> % one? : % -> Boolean --R recip : % -> Union(%,"failed") sample : () -> % --R unit? : % -> Boolean unitCanonical : % -> % @@ -51407,10 +51536,10 @@ digraph pic { --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -51635,6 +51764,7 @@ digraph pic { --S 1 of 1 )show UniqueFactorizationDomain +--R --R UniqueFactorizationDomain is a category constructor --R Abbreviation for UniqueFactorizationDomain is UFD --R This constructor is exposed in this frame. @@ -51648,13 +51778,13 @@ digraph pic { --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % associates? : (%,%) -> Boolean --R coerce : % -> % coerce : Integer -> % ---R coerce : % -> OutputForm factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R coerce : % -> OutputForm factor : % -> Factored(%) +--R gcd : List(%) -> % gcd : (%,%) -> % --R hash : % -> SingleInteger latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R one? : % -> Boolean prime? : % -> Boolean --R recip : % -> Union(%,"failed") sample : () -> % ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % @@ -51662,7 +51792,7 @@ digraph pic { --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R exquo : (%,%) -> Union(%,"failed") ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -51904,7 +52034,8 @@ digraph pic { --S 1 of 1 )show DivisorCategory ---R DivisorCategory S: SetCategory is a category constructor +--R +--R DivisorCategory(S: SetCategory) is a category constructor --R Abbreviation for DivisorCategory is DIVCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for DIVCAT @@ -51925,15 +52056,15 @@ digraph pic { --R mapGen : ((S -> S),%) -> % nthCoef : (%,Integer) -> Integer --R nthFactor : (%,Integer) -> S retract : % -> S --R sample : () -> % size : % -> NonNegativeInteger ---R split : % -> List % supp : % -> List S ---R suppOfPole : % -> List S suppOfZero : % -> List S +--R split : % -> List(%) supp : % -> List(S) +--R suppOfPole : % -> List(S) suppOfZero : % -> List(S) --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R highCommonTerms : (%,%) -> % if Integer has OAMON --R mapCoef : ((Integer -> Integer),%) -> % --R retractIfCan : % -> Union(S,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") ---R terms : % -> List Record(gen: S,exp: Integer) +--R terms : % -> List(Record(gen: S,exp: Integer)) --R --E 1 @@ -52159,6 +52290,7 @@ digraph pic { --S 1 of 1 )show EuclideanDomain +--R --R EuclideanDomain is a category constructor --R Abbreviation for EuclideanDomain is EUCDOM --R This constructor is exposed in this frame. @@ -52172,9 +52304,9 @@ digraph pic { --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % associates? : (%,%) -> Boolean --R coerce : % -> % coerce : Integer -> % ---R coerce : % -> OutputForm gcd : List % -> % +--R coerce : % -> OutputForm gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger ---R latex : % -> String lcm : List % -> % +--R latex : % -> String lcm : List(%) -> % --R lcm : (%,%) -> % one? : % -> Boolean --R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") --R ?rem? : (%,%) -> % sample : () -> % @@ -52187,13 +52319,13 @@ digraph pic { --R characteristic : () -> NonNegativeInteger --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -52558,6 +52690,7 @@ digraph pic { --S 1 of 1 )show MultivariateTaylorSeriesCategory +--R --R MultivariateTaylorSeriesCategory(Coef: Ring,Var: OrderedSet) is a category constructor --R Abbreviation for MultivariateTaylorSeriesCategory is MTSCAT --R This constructor is exposed in this frame. @@ -52569,86 +52702,87 @@ digraph pic { --R ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> % --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean ---R D : (%,List Var) -> % D : (%,Var) -> % +--R D : (%,List(Var)) -> % D : (%,Var) -> % --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % coerce : Integer -> % --R coerce : % -> OutputForm complete : % -> % ---R differentiate : (%,Var) -> % eval : (%,List %,List %) -> % ---R eval : (%,%,%) -> % eval : (%,Equation %) -> % ---R eval : (%,List Equation %) -> % eval : (%,List Var,List %) -> % ---R eval : (%,Var,%) -> % hash : % -> SingleInteger ---R latex : % -> String leadingCoefficient : % -> Coef ---R leadingMonomial : % -> % map : ((Coef -> Coef),%) -> % ---R monomial? : % -> Boolean one? : % -> Boolean ---R pole? : % -> Boolean recip : % -> Union(%,"failed") ---R reductum : % -> % sample : () -> % ---R variables : % -> List Var zero? : % -> Boolean ---R ?~=? : (%,%) -> Boolean ---R ?*? : (Fraction Integer,%) -> % if Coef has ALGEBRA FRAC INT ---R ?*? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT +--R differentiate : (%,Var) -> % eval : (%,%,%) -> % +--R eval : (%,Equation(%)) -> % eval : (%,Var,%) -> % +--R hash : % -> SingleInteger latex : % -> String +--R leadingCoefficient : % -> Coef leadingMonomial : % -> % +--R map : ((Coef -> Coef),%) -> % monomial? : % -> Boolean +--R one? : % -> Boolean pole? : % -> Boolean +--R recip : % -> Union(%,"failed") reductum : % -> % +--R sample : () -> % variables : % -> List(Var) +--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean +--R ?*? : (Fraction(Integer),%) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?*? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?*? : (NonNegativeInteger,%) -> % ---R ?**? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?**? : (%,%) -> % if Coef has ALGEBRA FRAC INT +--R ?**? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?**? : (%,%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,Coef) -> % if Coef has FIELD ---R D : (%,List Var,List NonNegativeInteger) -> % +--R D : (%,List(Var),List(NonNegativeInteger)) -> % --R D : (%,Var,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % ---R acos : % -> % if Coef has ALGEBRA FRAC INT ---R acosh : % -> % if Coef has ALGEBRA FRAC INT ---R acot : % -> % if Coef has ALGEBRA FRAC INT ---R acoth : % -> % if Coef has ALGEBRA FRAC INT ---R acsc : % -> % if Coef has ALGEBRA FRAC INT ---R acsch : % -> % if Coef has ALGEBRA FRAC INT ---R asec : % -> % if Coef has ALGEBRA FRAC INT ---R asech : % -> % if Coef has ALGEBRA FRAC INT ---R asin : % -> % if Coef has ALGEBRA FRAC INT ---R asinh : % -> % if Coef has ALGEBRA FRAC INT +--R acos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acoth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsch : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asinh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R associates? : (%,%) -> Boolean if Coef has INTDOM ---R atan : % -> % if Coef has ALGEBRA FRAC INT ---R atanh : % -> % if Coef has ALGEBRA FRAC INT +--R atan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R atanh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if Coef has CHARNZ ---R coefficient : (%,List Var,List NonNegativeInteger) -> % +--R coefficient : (%,List(Var),List(NonNegativeInteger)) -> % --R coefficient : (%,Var,NonNegativeInteger) -> % ---R coefficient : (%,IndexedExponents Var) -> Coef ---R coerce : Fraction Integer -> % if Coef has ALGEBRA FRAC INT +--R coefficient : (%,IndexedExponents(Var)) -> Coef +--R coerce : Fraction(Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R coerce : % -> % if Coef has INTDOM --R coerce : Coef -> % if Coef has COMRING ---R cos : % -> % if Coef has ALGEBRA FRAC INT ---R cosh : % -> % if Coef has ALGEBRA FRAC INT ---R cot : % -> % if Coef has ALGEBRA FRAC INT ---R coth : % -> % if Coef has ALGEBRA FRAC INT ---R csc : % -> % if Coef has ALGEBRA FRAC INT ---R csch : % -> % if Coef has ALGEBRA FRAC INT ---R degree : % -> IndexedExponents Var ---R differentiate : (%,List Var,List NonNegativeInteger) -> % +--R cos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R coth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csch : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R degree : % -> IndexedExponents(Var) +--R differentiate : (%,List(Var),List(NonNegativeInteger)) -> % --R differentiate : (%,Var,NonNegativeInteger) -> % ---R differentiate : (%,List Var) -> % ---R exp : % -> % if Coef has ALGEBRA FRAC INT +--R differentiate : (%,List(Var)) -> % +--R eval : (%,List(%),List(%)) -> % +--R eval : (%,List(Equation(%))) -> % +--R eval : (%,List(Var),List(%)) -> % +--R exp : % -> % if Coef has ALGEBRA(FRAC(INT)) --R exquo : (%,%) -> Union(%,"failed") if Coef has INTDOM --R extend : (%,NonNegativeInteger) -> % ---R integrate : (%,Var) -> % if Coef has ALGEBRA FRAC INT ---R log : % -> % if Coef has ALGEBRA FRAC INT ---R monomial : (%,List Var,List NonNegativeInteger) -> % +--R integrate : (%,Var) -> % if Coef has ALGEBRA(FRAC(INT)) +--R log : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R monomial : (%,List(Var),List(NonNegativeInteger)) -> % --R monomial : (%,Var,NonNegativeInteger) -> % ---R monomial : (Coef,IndexedExponents Var) -> % ---R monomial : (%,Var,IndexedExponents Var) -> % ---R monomial : (%,List Var,List IndexedExponents Var) -> % ---R nthRoot : (%,Integer) -> % if Coef has ALGEBRA FRAC INT +--R monomial : (Coef,IndexedExponents(Var)) -> % +--R monomial : (%,Var,IndexedExponents(Var)) -> % +--R monomial : (%,List(Var),List(IndexedExponents(Var))) -> % +--R nthRoot : (%,Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R order : (%,Var,NonNegativeInteger) -> NonNegativeInteger --R order : (%,Var) -> NonNegativeInteger ---R pi : () -> % if Coef has ALGEBRA FRAC INT ---R polynomial : (%,NonNegativeInteger,NonNegativeInteger) -> Polynomial Coef ---R polynomial : (%,NonNegativeInteger) -> Polynomial Coef ---R sec : % -> % if Coef has ALGEBRA FRAC INT ---R sech : % -> % if Coef has ALGEBRA FRAC INT ---R sin : % -> % if Coef has ALGEBRA FRAC INT ---R sinh : % -> % if Coef has ALGEBRA FRAC INT ---R sqrt : % -> % if Coef has ALGEBRA FRAC INT +--R pi : () -> % if Coef has ALGEBRA(FRAC(INT)) +--R polynomial : (%,NonNegativeInteger,NonNegativeInteger) -> Polynomial(Coef) +--R polynomial : (%,NonNegativeInteger) -> Polynomial(Coef) +--R sec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sinh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sqrt : % -> % if Coef has ALGEBRA(FRAC(INT)) --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tan : % -> % if Coef has ALGEBRA FRAC INT ---R tanh : % -> % if Coef has ALGEBRA FRAC INT +--R tan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R tanh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R unit? : % -> Boolean if Coef has INTDOM --R unitCanonical : % -> % if Coef has INTDOM --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if Coef has INTDOM @@ -53031,6 +53165,7 @@ digraph pic { --S 1 of 1 )show PolynomialFactorizationExplicit +--R --R PolynomialFactorizationExplicit is a category constructor --R Abbreviation for PolynomialFactorizationExplicit is PFECAT --R This constructor is exposed in this frame. @@ -53044,13 +53179,13 @@ digraph pic { --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % associates? : (%,%) -> Boolean --R coerce : % -> % coerce : Integer -> % ---R coerce : % -> OutputForm factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R coerce : % -> OutputForm factor : % -> Factored(%) +--R gcd : List(%) -> % gcd : (%,%) -> % --R hash : % -> SingleInteger latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R one? : % -> Boolean prime? : % -> Boolean --R recip : % -> Union(%,"failed") sample : () -> % ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % @@ -53058,13 +53193,13 @@ digraph pic { --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if $ has CHARNZ ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ --R exquo : (%,%) -> Union(%,"failed") ---R factorPolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") ---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -53367,6 +53502,7 @@ digraph pic { --S 1 of 1 )show UnivariatePowerSeriesCategory +--R --R UnivariatePowerSeriesCategory(Coef: Ring,Expon: OrderedAbelianMonoid) is a category constructor --R Abbreviation for UnivariatePowerSeriesCategory is UPSCAT --R This constructor is exposed in this frame. @@ -53393,17 +53529,17 @@ digraph pic { --R sample : () -> % truncate : (%,Expon,Expon) -> % --R truncate : (%,Expon) -> % variable : % -> Symbol --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?*? : (Fraction Integer,%) -> % if Coef has ALGEBRA FRAC INT +--R ?*? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?*? : (Fraction(Integer),%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,Coef) -> % if Coef has FIELD --R D : % -> % if Coef has *: (Expon,Coef) -> Coef --R D : (%,NonNegativeInteger) -> % if Coef has *: (Expon,Coef) -> Coef ---R D : (%,Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Expon,Coef) -> Coef ---R D : (%,List Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Expon,Coef) -> Coef ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Expon,Coef) -> Coef ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Expon,Coef) -> Coef +--R D : (%,Symbol) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Expon,Coef) -> Coef +--R D : (%,List(Symbol)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Expon,Coef) -> Coef +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Expon,Coef) -> Coef +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Expon,Coef) -> Coef --R ?^? : (%,NonNegativeInteger) -> % --R approximate : (%,Expon) -> Coef if Coef has **: (Coef,Expon) -> Coef and Coef has coerce: Symbol -> Coef --R associates? : (%,%) -> Boolean if Coef has INTDOM @@ -53411,25 +53547,25 @@ digraph pic { --R charthRoot : % -> Union(%,"failed") if Coef has CHARNZ --R coerce : Coef -> % if Coef has COMRING --R coerce : % -> % if Coef has INTDOM ---R coerce : Fraction Integer -> % if Coef has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R differentiate : % -> % if Coef has *: (Expon,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (Expon,Coef) -> Coef ---R differentiate : (%,Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Expon,Coef) -> Coef ---R differentiate : (%,List Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Expon,Coef) -> Coef ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Expon,Coef) -> Coef ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Expon,Coef) -> Coef +--R differentiate : (%,Symbol) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Expon,Coef) -> Coef +--R differentiate : (%,List(Symbol)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Expon,Coef) -> Coef +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Expon,Coef) -> Coef +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Expon,Coef) -> Coef --R ?.? : (%,%) -> % if Expon has SGROUP ---R eval : (%,Coef) -> Stream Coef if Coef has **: (Coef,Expon) -> Coef +--R eval : (%,Coef) -> Stream(Coef) if Coef has **: (Coef,Expon) -> Coef --R exquo : (%,%) -> Union(%,"failed") if Coef has INTDOM ---R monomial : (%,List SingletonAsOrderedSet,List Expon) -> % +--R monomial : (%,List(SingletonAsOrderedSet),List(Expon)) -> % --R monomial : (%,SingletonAsOrderedSet,Expon) -> % --R multiplyExponents : (%,PositiveInteger) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") ---R terms : % -> Stream Record(k: Expon,c: Coef) +--R terms : % -> Stream(Record(k: Expon,c: Coef)) --R unit? : % -> Boolean if Coef has INTDOM --R unitCanonical : % -> % if Coef has INTDOM --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if Coef has INTDOM ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -53864,13 +54000,14 @@ digraph pic { --S 1 of 1 )show Field +--R --R Field is a category constructor --R Abbreviation for Field is FIELD --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FIELD --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -53878,17 +54015,17 @@ digraph pic { --R ?/? : (%,%) -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % ---R associates? : (%,%) -> Boolean coerce : Fraction Integer -> % +--R associates? : (%,%) -> Boolean coerce : Fraction(Integer) -> % --R coerce : % -> % coerce : Integer -> % ---R coerce : % -> OutputForm factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R coerce : % -> OutputForm factor : % -> Factored(%) +--R gcd : List(%) -> % gcd : (%,%) -> % --R hash : % -> SingleInteger inv : % -> % ---R latex : % -> String lcm : List % -> % +--R latex : % -> String lcm : List(%) -> % --R lcm : (%,%) -> % one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % @@ -53897,13 +54034,13 @@ digraph pic { --R characteristic : () -> NonNegativeInteger --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -54189,6 +54326,7 @@ digraph pic { --S 1 of 1 )show IntegerNumberSystem +--R --R IntegerNumberSystem is a category constructor --R Abbreviation for IntegerNumberSystem is INS --R This constructor is exposed in this frame. @@ -54209,16 +54347,16 @@ digraph pic { --R bit? : (%,%) -> Boolean coerce : Integer -> % --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm convert : % -> DoubleFloat ---R convert : % -> Float convert : % -> Pattern Integer +--R convert : % -> Float convert : % -> Pattern(Integer) --R convert : % -> InputForm convert : % -> Integer --R copy : % -> % dec : % -> % --R differentiate : % -> % even? : % -> Boolean ---R factor : % -> Factored % factorial : % -> % ---R gcd : List % -> % gcd : (%,%) -> % +--R factor : % -> Factored(%) factorial : % -> % +--R gcd : List(%) -> % gcd : (%,%) -> % --R hash : % -> % hash : % -> SingleInteger --R inc : % -> % init : () -> % --R invmod : (%,%) -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R length : % -> % mask : % -> % --R max : (%,%) -> % min : (%,%) -> % --R mulmod : (%,%,%) -> % negative? : % -> Boolean @@ -54227,11 +54365,11 @@ digraph pic { --R positiveRemainder : (%,%) -> % powmod : (%,%,%) -> % --R prime? : % -> Boolean ?quo? : (%,%) -> % --R random : % -> % random : () -> % ---R rational : % -> Fraction Integer rational? : % -> Boolean +--R rational : % -> Fraction(Integer) rational? : % -> Boolean --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % --R retract : % -> Integer sample : () -> % --R shift : (%,%) -> % sign : % -> Integer ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) --R squareFreePart : % -> % submod : (%,%,%) -> % --R symmetricRemainder : (%,%) -> % unit? : % -> Boolean --R unitCanonical : % -> % zero? : % -> Boolean @@ -54243,18 +54381,18 @@ digraph pic { --R differentiate : (%,NonNegativeInteger) -> % --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R nextItem : % -> Union(%,"failed") ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R rationalIfCan : % -> Union(Fraction Integer,"failed") ---R reducedSystem : Matrix % -> Matrix Integer ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R rationalIfCan : % -> Union(Fraction(Integer),"failed") +--R reducedSystem : Matrix(%) -> Matrix(Integer) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) --R retractIfCan : % -> Union(Integer,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) @@ -54800,14 +54938,15 @@ digraph pic { --S 1 of 1 )show LocalPowerSeriesCategory ---R LocalPowerSeriesCategory K: Field is a category constructor +--R +--R LocalPowerSeriesCategory(K: Field) is a category constructor --R Abbreviation for LocalPowerSeriesCategory is LOCPOWC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for LOCPOWC --R --R------------------------------- Operations -------------------------------- --R ?*? : (%,K) -> % ?*? : (K,%) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -54817,15 +54956,15 @@ digraph pic { --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R associates? : (%,%) -> Boolean center : % -> K --R coefOfFirstNonZeroTerm : % -> K coefficient : (%,Integer) -> K ---R coerce : Fraction Integer -> % coerce : % -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm --R complete : % -> % degree : % -> Integer --R delay : (() -> %) -> % ?.? : (%,Integer) -> K ---R extend : (%,Integer) -> % factor : % -> Factored % +--R extend : (%,Integer) -> % factor : % -> Factored(%) --R filterUpTo : (%,Integer) -> % findCoef : (%,Integer) -> K ---R gcd : List % -> % gcd : (%,%) -> % +--R gcd : List(%) -> % gcd : (%,%) -> % --R hash : % -> SingleInteger inv : % -> % ---R latex : % -> String lcm : List % -> % +--R latex : % -> String lcm : List(%) -> % --R lcm : (%,%) -> % leadingCoefficient : % -> K --R leadingMonomial : % -> % map : ((K -> K),%) -> % --R monomial : (K,Integer) -> % monomial? : % -> Boolean @@ -54839,7 +54978,7 @@ digraph pic { --R removeZeroes : % -> % removeZeroes : (Integer,%) -> % --R sample : () -> % sbt : (%,%) -> % --R series : (Integer,K,%) -> % shift : (%,Integer) -> % ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) --R squareFreePart : % -> % truncate : (%,Integer) -> % --R unit? : % -> Boolean unitCanonical : % -> % --R variable : % -> Symbol zero? : % -> Boolean @@ -54847,46 +54986,46 @@ digraph pic { --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,K) -> % if K has FIELD ---R D : (%,List Symbol,List NonNegativeInteger) -> % if K has PDRING SYMBOL and K has *: (Integer,K) -> K ---R D : (%,Symbol,NonNegativeInteger) -> % if K has PDRING SYMBOL and K has *: (Integer,K) -> K ---R D : (%,List Symbol) -> % if K has PDRING SYMBOL and K has *: (Integer,K) -> K ---R D : (%,Symbol) -> % if K has PDRING SYMBOL and K has *: (Integer,K) -> K +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if K has PDRING(SYMBOL) and K has *: (Integer,K) -> K +--R D : (%,Symbol,NonNegativeInteger) -> % if K has PDRING(SYMBOL) and K has *: (Integer,K) -> K +--R D : (%,List(Symbol)) -> % if K has PDRING(SYMBOL) and K has *: (Integer,K) -> K +--R D : (%,Symbol) -> % if K has PDRING(SYMBOL) and K has *: (Integer,K) -> K --R D : (%,NonNegativeInteger) -> % if K has *: (Integer,K) -> K --R D : % -> % if K has *: (Integer,K) -> K --R ?^? : (%,NonNegativeInteger) -> % --R approximate : (%,Integer) -> K if K has **: (K,Integer) -> K and K has coerce: Symbol -> K --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if K has CHARNZ ---R coerce : % -> Stream Record(k: Integer,c: K) ---R coerce : Stream Record(k: Integer,c: K) -> % +--R coerce : % -> Stream(Record(k: Integer,c: K)) +--R coerce : Stream(Record(k: Integer,c: K)) -> % --R coerce : K -> % if K has COMRING ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if K has PDRING SYMBOL and K has *: (Integer,K) -> K ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if K has PDRING SYMBOL and K has *: (Integer,K) -> K ---R differentiate : (%,List Symbol) -> % if K has PDRING SYMBOL and K has *: (Integer,K) -> K ---R differentiate : (%,Symbol) -> % if K has PDRING SYMBOL and K has *: (Integer,K) -> K +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if K has PDRING(SYMBOL) and K has *: (Integer,K) -> K +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if K has PDRING(SYMBOL) and K has *: (Integer,K) -> K +--R differentiate : (%,List(Symbol)) -> % if K has PDRING(SYMBOL) and K has *: (Integer,K) -> K +--R differentiate : (%,Symbol) -> % if K has PDRING(SYMBOL) and K has *: (Integer,K) -> K --R differentiate : (%,NonNegativeInteger) -> % if K has *: (Integer,K) -> K --R differentiate : % -> % if K has *: (Integer,K) -> K --R divide : (%,%) -> Record(quotient: %,remainder: %) --R ?.? : (%,%) -> % if Integer has SGROUP --R euclideanSize : % -> NonNegativeInteger ---R eval : (%,K) -> Stream K if K has **: (K,Integer) -> K ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R eval : (%,K) -> Stream(K) if K has **: (K,Integer) -> K +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R monomial : (%,SingletonAsOrderedSet,Integer) -> % ---R monomial : (%,List SingletonAsOrderedSet,List Integer) -> % ---R monomial2series : (List %,List NonNegativeInteger,Integer) -> % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R monomial : (%,List(SingletonAsOrderedSet),List(Integer)) -> % +--R monomial2series : (List(%),List(NonNegativeInteger),Integer) -> % +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R multiplyExponents : (%,PositiveInteger) -> % --R orderIfNegative : % -> Union(Integer,"failed") ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R subtractIfCan : (%,%) -> Union(%,"failed") ---R terms : % -> Stream Record(k: Integer,c: K) +--R terms : % -> Stream(Record(k: Integer,c: K)) --R truncate : (%,Integer,Integer) -> % --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -55268,7 +55407,8 @@ digraph pic { --S 1 of 1 )show PAdicIntegerCategory ---R PAdicIntegerCategory p: Integer is a category constructor +--R +--R PAdicIntegerCategory(p: Integer) is a category constructor --R Abbreviation for PAdicIntegerCategory is PADICCT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PADICCT @@ -55282,10 +55422,10 @@ digraph pic { --R ?^? : (%,PositiveInteger) -> % associates? : (%,%) -> Boolean --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm complete : % -> % ---R digits : % -> Stream Integer extend : (%,Integer) -> % ---R gcd : List % -> % gcd : (%,%) -> % +--R digits : % -> Stream(Integer) extend : (%,Integer) -> % +--R gcd : List(%) -> % gcd : (%,%) -> % --R hash : % -> SingleInteger latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R moduloP : % -> Integer modulus : () -> Integer --R one? : % -> Boolean order : % -> NonNegativeInteger --R ?quo? : (%,%) -> % quotientByP : % -> % @@ -55301,14 +55441,14 @@ digraph pic { --R characteristic : () -> NonNegativeInteger --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R root : (SparseUnivariatePolynomial Integer,Integer) -> % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R root : (SparseUnivariatePolynomial(Integer),Integer) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -55592,6 +55732,7 @@ digraph pic { --S 1 of 1 )show PolynomialCategory +--R --R PolynomialCategory(R: Ring,E: OrderedAbelianMonoidSup,VarSet: OrderedSet) is a category constructor --R Abbreviation for PolynomialCategory is POLYCAT --R This constructor is exposed in this frame. @@ -55603,29 +55744,28 @@ digraph pic { --R ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> % --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean ---R D : (%,List VarSet) -> % D : (%,VarSet) -> % +--R D : (%,List(VarSet)) -> % D : (%,VarSet) -> % --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % coefficient : (%,E) -> R ---R coefficients : % -> List R coerce : VarSet -> % +--R coefficients : % -> List(R) coerce : VarSet -> % --R coerce : R -> % coerce : Integer -> % --R coerce : % -> OutputForm degree : % -> E --R differentiate : (%,VarSet) -> % eval : (%,VarSet,%) -> % ---R eval : (%,VarSet,R) -> % eval : (%,List %,List %) -> % ---R eval : (%,%,%) -> % eval : (%,Equation %) -> % ---R eval : (%,List Equation %) -> % ground : % -> R +--R eval : (%,VarSet,R) -> % eval : (%,%,%) -> % +--R eval : (%,Equation(%)) -> % ground : % -> R --R ground? : % -> Boolean hash : % -> SingleInteger --R latex : % -> String leadingCoefficient : % -> R --R leadingMonomial : % -> % map : ((R -> R),%) -> % --R mapExponents : ((E -> E),%) -> % minimumDegree : % -> E --R monomial : (R,E) -> % monomial? : % -> Boolean ---R monomials : % -> List % one? : % -> Boolean ---R pomopo! : (%,R,E,%) -> % primitiveMonomials : % -> List % ---R recip : % -> Union(%,"failed") reductum : % -> % ---R retract : % -> VarSet retract : % -> R ---R sample : () -> % variables : % -> List VarSet ---R zero? : % -> Boolean ?~=? : (%,%) -> 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 pomopo! : (%,R,E,%) -> % recip : % -> Union(%,"failed") +--R reductum : % -> % retract : % -> VarSet +--R retract : % -> R sample : () -> % +--R variables : % -> List(VarSet) zero? : % -> Boolean +--R ?~=? : (%,%) -> 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 @@ -55633,83 +55773,86 @@ digraph pic { --R ?<=? : (%,%) -> Boolean if R has ORDSET --R ?>? : (%,%) -> Boolean if R has ORDSET --R ?>=? : (%,%) -> Boolean if R has ORDSET ---R D : (%,List VarSet,List NonNegativeInteger) -> % +--R D : (%,List(VarSet),List(NonNegativeInteger)) -> % --R D : (%,VarSet,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R associates? : (%,%) -> Boolean if R has INTDOM --R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) or R has CHARNZ ---R coefficient : (%,List VarSet,List NonNegativeInteger) -> % +--R coefficient : (%,List(VarSet),List(NonNegativeInteger)) -> % --R coefficient : (%,VarSet,NonNegativeInteger) -> % ---R coerce : Fraction Integer -> % if R has RETRACT FRAC INT or R has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) or R has ALGEBRA(FRAC(INT)) --R coerce : % -> % if R has INTDOM ---R conditionP : Matrix % -> Union(Vector %,"failed") if and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) --R content : (%,VarSet) -> % if R has GCDDOM --R content : % -> R if R has GCDDOM ---R convert : % -> InputForm if VarSet has KONVERT INFORM and R has KONVERT INFORM ---R convert : % -> Pattern Integer if VarSet has KONVERT PATTERN INT and R has KONVERT PATTERN INT ---R convert : % -> Pattern Float if VarSet has KONVERT PATTERN FLOAT and R has KONVERT PATTERN FLOAT ---R degree : (%,List VarSet) -> List NonNegativeInteger +--R convert : % -> InputForm if VarSet has KONVERT(INFORM) and R has KONVERT(INFORM) +--R convert : % -> Pattern(Integer) if VarSet has KONVERT(PATTERN(INT)) and R has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if VarSet has KONVERT(PATTERN(FLOAT)) and R has KONVERT(PATTERN(FLOAT)) +--R degree : (%,List(VarSet)) -> List(NonNegativeInteger) --R degree : (%,VarSet) -> NonNegativeInteger ---R differentiate : (%,List VarSet,List NonNegativeInteger) -> % +--R differentiate : (%,List(VarSet),List(NonNegativeInteger)) -> % --R differentiate : (%,VarSet,NonNegativeInteger) -> % ---R differentiate : (%,List VarSet) -> % +--R differentiate : (%,List(VarSet)) -> % --R discriminant : (%,VarSet) -> % if R has COMRING ---R eval : (%,List VarSet,List %) -> % ---R eval : (%,List VarSet,List R) -> % +--R eval : (%,List(VarSet),List(%)) -> % +--R eval : (%,List(VarSet),List(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 gcd : List(%) -> % if R has GCDDOM +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has GCDDOM --R isExpt : % -> Union(Record(var: VarSet,exponent: NonNegativeInteger),"failed") ---R isPlus : % -> Union(List %,"failed") ---R isTimes : % -> Union(List %,"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 lcm : List(%) -> % if R has GCDDOM --R mainVariable : % -> Union(VarSet,"failed") --R max : (%,%) -> % if R has ORDSET --R min : (%,%) -> % if R has ORDSET ---R minimumDegree : (%,List VarSet) -> List NonNegativeInteger +--R minimumDegree : (%,List(VarSet)) -> List(NonNegativeInteger) --R minimumDegree : (%,VarSet) -> NonNegativeInteger --R monicDivide : (%,%,VarSet) -> Record(quotient: %,remainder: %) ---R monomial : (%,List VarSet,List NonNegativeInteger) -> % +--R monomial : (%,List(VarSet),List(NonNegativeInteger)) -> % --R monomial : (%,VarSet,NonNegativeInteger) -> % ---R multivariate : (SparseUnivariatePolynomial %,VarSet) -> % ---R multivariate : (SparseUnivariatePolynomial R,VarSet) -> % +--R multivariate : (SparseUnivariatePolynomial(%),VarSet) -> % +--R multivariate : (SparseUnivariatePolynomial(R),VarSet) -> % --R numberOfMonomials : % -> NonNegativeInteger ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if VarSet has PATMAB INT and R has PATMAB INT ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if VarSet has PATMAB FLOAT and R has PATMAB FLOAT +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if VarSet has PATMAB(INT) and R has PATMAB(INT) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if VarSet has PATMAB(FLOAT) and R has PATMAB(FLOAT) --R prime? : % -> Boolean if R has PFECAT +--R primitiveMonomials : % -> List(%) --R primitivePart : (%,VarSet) -> % 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 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 : (%,%,VarSet) -> % if R has COMRING ---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(VarSet,"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 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 VarSet) -> NonNegativeInteger +--R totalDegree : (%,List(VarSet)) -> 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 : (%,VarSet) -> SparseUnivariatePolynomial % +--R univariate : % -> SparseUnivariatePolynomial(R) +--R univariate : (%,VarSet) -> SparseUnivariatePolynomial(%) --R --E 1 @@ -56653,7 +56796,8 @@ digraph pic { --S 1 of 1 )show UnivariateTaylorSeriesCategory ---R UnivariateTaylorSeriesCategory Coef: Ring is a category constructor +--R +--R UnivariateTaylorSeriesCategory(Coef: Ring) is a category constructor --R Abbreviation for UnivariateTaylorSeriesCategory is UTSCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for UTSCAT @@ -56666,7 +56810,7 @@ digraph pic { --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> Coef ---R coefficients : % -> Stream Coef coerce : Integer -> % +--R coefficients : % -> Stream(Coef) coerce : Integer -> % --R coerce : % -> OutputForm complete : % -> % --R degree : % -> NonNegativeInteger hash : % -> SingleInteger --R latex : % -> String leadingCoefficient : % -> Coef @@ -56675,90 +56819,90 @@ digraph pic { --R order : % -> NonNegativeInteger pole? : % -> Boolean --R quoByVar : % -> % recip : % -> Union(%,"failed") --R reductum : % -> % sample : () -> % ---R series : Stream Coef -> % variable : % -> Symbol +--R series : Stream(Coef) -> % variable : % -> Symbol --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?*? : (Fraction Integer,%) -> % if Coef has ALGEBRA FRAC INT +--R ?*? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?*? : (Fraction(Integer),%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?*? : (NonNegativeInteger,%) -> % ---R ?**? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?**? : (%,%) -> % if Coef has ALGEBRA FRAC INT +--R ?**? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?**? : (%,%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?**? : (%,Coef) -> % if Coef has FIELD --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,Coef) -> % if Coef has FIELD --R D : % -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef --R D : (%,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef ---R D : (%,Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (NonNegativeInteger,Coef) -> Coef ---R D : (%,List Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (NonNegativeInteger,Coef) -> Coef ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (NonNegativeInteger,Coef) -> Coef ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (NonNegativeInteger,Coef) -> Coef +--R D : (%,Symbol) -> % if Coef has PDRING(SYMBOL) and Coef has *: (NonNegativeInteger,Coef) -> Coef +--R D : (%,List(Symbol)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (NonNegativeInteger,Coef) -> Coef +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING(SYMBOL) and Coef has *: (NonNegativeInteger,Coef) -> Coef +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (NonNegativeInteger,Coef) -> Coef --R ?^? : (%,NonNegativeInteger) -> % ---R acos : % -> % if Coef has ALGEBRA FRAC INT ---R acosh : % -> % if Coef has ALGEBRA FRAC INT ---R acot : % -> % if Coef has ALGEBRA FRAC INT ---R acoth : % -> % if Coef has ALGEBRA FRAC INT ---R acsc : % -> % if Coef has ALGEBRA FRAC INT ---R acsch : % -> % if Coef has ALGEBRA FRAC INT +--R acos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acoth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsch : % -> % if Coef has ALGEBRA(FRAC(INT)) --R approximate : (%,NonNegativeInteger) -> Coef if Coef has **: (Coef,NonNegativeInteger) -> Coef and Coef has coerce: Symbol -> Coef ---R asec : % -> % if Coef has ALGEBRA FRAC INT ---R asech : % -> % if Coef has ALGEBRA FRAC INT ---R asin : % -> % if Coef has ALGEBRA FRAC INT ---R asinh : % -> % if Coef has ALGEBRA FRAC INT +--R asec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asinh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R associates? : (%,%) -> Boolean if Coef has INTDOM ---R atan : % -> % if Coef has ALGEBRA FRAC INT ---R atanh : % -> % if Coef has ALGEBRA FRAC INT +--R atan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R atanh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if Coef has CHARNZ --R coefficient : (%,NonNegativeInteger) -> Coef --R coerce : Coef -> % if Coef has COMRING --R coerce : % -> % if Coef has INTDOM ---R coerce : Fraction Integer -> % if Coef has ALGEBRA FRAC INT ---R cos : % -> % if Coef has ALGEBRA FRAC INT ---R cosh : % -> % if Coef has ALGEBRA FRAC INT ---R cot : % -> % if Coef has ALGEBRA FRAC INT ---R coth : % -> % if Coef has ALGEBRA FRAC INT ---R csc : % -> % if Coef has ALGEBRA FRAC INT ---R csch : % -> % if Coef has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if Coef has ALGEBRA(FRAC(INT)) +--R cos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R coth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csch : % -> % if Coef has ALGEBRA(FRAC(INT)) --R differentiate : % -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef ---R differentiate : (%,Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (NonNegativeInteger,Coef) -> Coef ---R differentiate : (%,List Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (NonNegativeInteger,Coef) -> Coef ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (NonNegativeInteger,Coef) -> Coef ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (NonNegativeInteger,Coef) -> Coef +--R differentiate : (%,Symbol) -> % if Coef has PDRING(SYMBOL) and Coef has *: (NonNegativeInteger,Coef) -> Coef +--R differentiate : (%,List(Symbol)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (NonNegativeInteger,Coef) -> Coef +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING(SYMBOL) and Coef has *: (NonNegativeInteger,Coef) -> Coef +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (NonNegativeInteger,Coef) -> Coef --R ?.? : (%,%) -> % if NonNegativeInteger has SGROUP --R ?.? : (%,NonNegativeInteger) -> Coef ---R eval : (%,Coef) -> Stream Coef if Coef has **: (Coef,NonNegativeInteger) -> Coef ---R exp : % -> % if Coef has ALGEBRA FRAC INT +--R eval : (%,Coef) -> Stream(Coef) if Coef has **: (Coef,NonNegativeInteger) -> Coef +--R exp : % -> % if Coef has ALGEBRA(FRAC(INT)) --R exquo : (%,%) -> Union(%,"failed") if Coef has INTDOM --R extend : (%,NonNegativeInteger) -> % ---R integrate : (%,Symbol) -> % if Coef has ACFS INT and Coef has PRIMCAT and Coef has TRANFUN and Coef has ALGEBRA FRAC INT or Coef has variables: Coef -> List Symbol and Coef has integrate: (Coef,Symbol) -> Coef and Coef has ALGEBRA FRAC INT ---R integrate : % -> % if Coef has ALGEBRA FRAC INT ---R log : % -> % if Coef has ALGEBRA FRAC INT ---R monomial : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--R integrate : (%,Symbol) -> % if Coef has ACFS(INT) and Coef has PRIMCAT and Coef has TRANFUN and Coef has ALGEBRA(FRAC(INT)) or Coef has variables: Coef -> List(Symbol) and Coef has integrate: (Coef,Symbol) -> Coef and Coef has ALGEBRA(FRAC(INT)) +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R log : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R monomial : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> % --R monomial : (%,SingletonAsOrderedSet,NonNegativeInteger) -> % --R monomial : (Coef,NonNegativeInteger) -> % --R multiplyCoefficients : ((Integer -> Coef),%) -> % --R multiplyExponents : (%,PositiveInteger) -> % ---R nthRoot : (%,Integer) -> % if Coef has ALGEBRA FRAC INT +--R nthRoot : (%,Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R order : (%,NonNegativeInteger) -> NonNegativeInteger ---R pi : () -> % if Coef has ALGEBRA FRAC INT ---R polynomial : (%,NonNegativeInteger,NonNegativeInteger) -> Polynomial Coef ---R polynomial : (%,NonNegativeInteger) -> Polynomial Coef ---R sec : % -> % if Coef has ALGEBRA FRAC INT ---R sech : % -> % if Coef has ALGEBRA FRAC INT ---R series : Stream Record(k: NonNegativeInteger,c: Coef) -> % ---R sin : % -> % if Coef has ALGEBRA FRAC INT ---R sinh : % -> % if Coef has ALGEBRA FRAC INT ---R sqrt : % -> % if Coef has ALGEBRA FRAC INT +--R pi : () -> % if Coef has ALGEBRA(FRAC(INT)) +--R polynomial : (%,NonNegativeInteger,NonNegativeInteger) -> Polynomial(Coef) +--R polynomial : (%,NonNegativeInteger) -> Polynomial(Coef) +--R sec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R series : Stream(Record(k: NonNegativeInteger,c: Coef)) -> % +--R sin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sinh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sqrt : % -> % if Coef has ALGEBRA(FRAC(INT)) --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tan : % -> % if Coef has ALGEBRA FRAC INT ---R tanh : % -> % if Coef has ALGEBRA FRAC INT ---R terms : % -> Stream Record(k: NonNegativeInteger,c: Coef) +--R tan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R tanh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R terms : % -> Stream(Record(k: NonNegativeInteger,c: Coef)) --R truncate : (%,NonNegativeInteger,NonNegativeInteger) -> % --R truncate : (%,NonNegativeInteger) -> % --R unit? : % -> Boolean if Coef has INTDOM --R unitCanonical : % -> % if Coef has INTDOM --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if Coef has INTDOM ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -57443,7 +57587,7 @@ pi:Polynomial(Integer):=-3*x^3+2*x+13 --R --R 3 --R (1) - 3x + 2x + 13 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 1 --S 2 of 14 @@ -57459,7 +57603,7 @@ rootsOf(pi) --R --R --R (3) [%x0,%x1,- %x1 - %x0] ---R Type: List AlgebraicNumber +--R Type: List(AlgebraicNumber) --E 3 --S 4 of 14 @@ -57479,7 +57623,7 @@ zerosOf(pi) --R - \|- 27%x3 + 24 - 3%x3 \|- 27%x3 + 24 - 3%x3 --R (5) [%x3,-------------------------,-----------------------] --R 6 6 ---R Type: List AlgebraicNumber +--R Type: List(AlgebraicNumber) --E 5 --S 6 of 14 @@ -57488,7 +57632,7 @@ sup:SparseUnivariatePolynomial(Integer):=-3*x^3+2*x+13 --R --R 3 --R (6) - 3? + 2? + 13 ---R Type: SparseUnivariatePolynomial Integer +--R Type: SparseUnivariatePolynomial(Integer) --E 6 --S 7 of 14 @@ -57512,7 +57656,7 @@ rootsOf(sup) --R --R --R (9) [%%C0,%%C1,- %%C1 - %%C0] ---R Type: List AlgebraicNumber +--R Type: List(AlgebraicNumber) --E 9 --S 10 of 14 @@ -57520,7 +57664,7 @@ rootsOf(sup,x) --R --R --R (10) [%x6,%x7,- %x7 - %x6] ---R Type: List AlgebraicNumber +--R Type: List(AlgebraicNumber) --E 10 --S 11 of 14 @@ -57548,7 +57692,7 @@ zerosOf(sup) --R - \|- 27%%E0 + 24 - 3%%E0 \|- 27%%E0 + 24 - 3%%E0 --R (13) [%%E0,---------------------------,-------------------------] --R 6 6 ---R Type: List AlgebraicNumber +--R Type: List(AlgebraicNumber) --E 13 --S 14 of 14 @@ -57560,7 +57704,7 @@ zerosOf(sup,x) --R - \|- 27%x9 + 24 - 3%x9 \|- 27%x9 + 24 - 3%x9 --R (14) [%x9,-------------------------,-----------------------] --R 6 6 ---R Type: List AlgebraicNumber +--R Type: List(AlgebraicNumber) --E 14 )spool @@ -58075,7 +58219,8 @@ digraph pic { --S 1 of 1 )show DifferentialPolynomialCategory ---R DifferentialPolynomialCategory(R: Ring,S: OrderedSet,V: DifferentialVariableCategory t#2,E: OrderedAbelianMonoidSup) is a category constructor +--R +--R DifferentialPolynomialCategory(R: Ring,S: OrderedSet,V: DifferentialVariableCategory(t#2),E: OrderedAbelianMonoidSup) is a category constructor --R Abbreviation for DifferentialPolynomialCategory is DPOLCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for DPOLCAT @@ -58087,35 +58232,33 @@ digraph pic { --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean --R D : (%,(R -> R)) -> % D : % -> % if R has DIFRING ---R D : (%,List V) -> % D : (%,V) -> % +--R D : (%,List(V)) -> % D : (%,V) -> % --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % coefficient : (%,E) -> R ---R coefficients : % -> List R coerce : S -> % +--R coefficients : % -> List(R) coerce : S -> % --R coerce : V -> % coerce : R -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R degree : % -> E differentiate : (%,List V) -> % ---R differentiate : (%,V) -> % eval : (%,List V,List %) -> % ---R eval : (%,V,%) -> % eval : (%,List V,List R) -> % ---R eval : (%,V,R) -> % eval : (%,List %,List %) -> % ---R eval : (%,%,%) -> % eval : (%,Equation %) -> % ---R eval : (%,List Equation %) -> % ground : % -> R +--R degree : % -> E differentiate : (%,List(V)) -> % +--R differentiate : (%,V) -> % eval : (%,List(V),List(%)) -> % +--R eval : (%,V,%) -> % eval : (%,List(V),List(R)) -> % +--R eval : (%,V,R) -> % eval : (%,%,%) -> % +--R eval : (%,Equation(%)) -> % ground : % -> R --R ground? : % -> Boolean hash : % -> SingleInteger --R initial : % -> % isobaric? : % -> Boolean --R latex : % -> String leader : % -> V --R leadingCoefficient : % -> R leadingMonomial : % -> % --R map : ((R -> R),%) -> % mapExponents : ((E -> E),%) -> % --R minimumDegree : % -> E monomial : (R,E) -> % ---R monomial? : % -> Boolean monomials : % -> List % +--R monomial? : % -> Boolean monomials : % -> List(%) --R one? : % -> Boolean order : % -> NonNegativeInteger ---R pomopo! : (%,R,E,%) -> % primitiveMonomials : % -> List % ---R recip : % -> Union(%,"failed") reductum : % -> % ---R retract : % -> S retract : % -> V ---R retract : % -> R sample : () -> % ---R separant : % -> % variables : % -> List V ---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 pomopo! : (%,R,E,%) -> % recip : % -> Union(%,"failed") +--R reductum : % -> % retract : % -> S +--R retract : % -> V retract : % -> R +--R sample : () -> % separant : % -> % +--R variables : % -> List(V) 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 @@ -58124,106 +58267,109 @@ digraph pic { --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 V,List NonNegativeInteger) -> % +--R D : (%,List(V),List(NonNegativeInteger)) -> % --R D : (%,V,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R associates? : (%,%) -> Boolean if R has INTDOM --R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) or R has CHARNZ ---R coefficient : (%,List V,List NonNegativeInteger) -> % +--R coefficient : (%,List(V),List(NonNegativeInteger)) -> % --R coefficient : (%,V,NonNegativeInteger) -> % --R coerce : % -> % if R has INTDOM ---R coerce : Fraction Integer -> % if R has RETRACT FRAC INT or R has ALGEBRA FRAC INT ---R conditionP : Matrix % -> Union(Vector %,"failed") if and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) or R has ALGEBRA(FRAC(INT)) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) --R content : (%,V) -> % if R has GCDDOM --R content : % -> R if R has GCDDOM ---R convert : % -> InputForm if V has KONVERT INFORM and R has KONVERT INFORM ---R convert : % -> Pattern Integer if V has KONVERT PATTERN INT and R has KONVERT PATTERN INT ---R convert : % -> Pattern Float if V has KONVERT PATTERN FLOAT and R has KONVERT PATTERN FLOAT +--R convert : % -> InputForm if V has KONVERT(INFORM) and R has KONVERT(INFORM) +--R convert : % -> Pattern(Integer) if V has KONVERT(PATTERN(INT)) and R has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if V has KONVERT(PATTERN(FLOAT)) and R has KONVERT(PATTERN(FLOAT)) --R degree : (%,S) -> NonNegativeInteger ---R degree : (%,List V) -> List NonNegativeInteger +--R degree : (%,List(V)) -> List(NonNegativeInteger) --R degree : (%,V) -> NonNegativeInteger ---R differentialVariables : % -> List S +--R differentialVariables : % -> List(S) --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 V,List NonNegativeInteger) -> % +--R differentiate : (%,List(V),List(NonNegativeInteger)) -> % --R differentiate : (%,V,NonNegativeInteger) -> % --R discriminant : (%,V) -> % if R has COMRING ---R eval : (%,List S,List R) -> % if R has DIFRING +--R eval : (%,List(S),List(R)) -> % if R has DIFRING --R eval : (%,S,R) -> % if R has DIFRING ---R eval : (%,List S,List %) -> % if R has DIFRING +--R eval : (%,List(S),List(%)) -> % if R has DIFRING --R eval : (%,S,%) -> % if R has DIFRING +--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 gcd : List(%) -> % if R has GCDDOM +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has GCDDOM --R isExpt : % -> Union(Record(var: V,exponent: NonNegativeInteger),"failed") ---R isPlus : % -> Union(List %,"failed") ---R isTimes : % -> Union(List %,"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 lcm : List(%) -> % if R has GCDDOM --R mainVariable : % -> Union(V,"failed") --R makeVariable : % -> (NonNegativeInteger -> %) if R has DIFRING --R makeVariable : S -> (NonNegativeInteger -> %) --R max : (%,%) -> % if R has ORDSET --R min : (%,%) -> % if R has ORDSET ---R minimumDegree : (%,List V) -> List NonNegativeInteger +--R minimumDegree : (%,List(V)) -> List(NonNegativeInteger) --R minimumDegree : (%,V) -> NonNegativeInteger --R monicDivide : (%,%,V) -> Record(quotient: %,remainder: %) ---R monomial : (%,List V,List NonNegativeInteger) -> % +--R monomial : (%,List(V),List(NonNegativeInteger)) -> % --R monomial : (%,V,NonNegativeInteger) -> % ---R multivariate : (SparseUnivariatePolynomial %,V) -> % ---R multivariate : (SparseUnivariatePolynomial R,V) -> % +--R multivariate : (SparseUnivariatePolynomial(%),V) -> % +--R multivariate : (SparseUnivariatePolynomial(R),V) -> % --R numberOfMonomials : % -> NonNegativeInteger --R order : (%,S) -> NonNegativeInteger ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if V has PATMAB INT and R has PATMAB INT ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if V has PATMAB FLOAT and R has PATMAB FLOAT +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if V has PATMAB(INT) and R has PATMAB(INT) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if V has PATMAB(FLOAT) and R has PATMAB(FLOAT) --R prime? : % -> Boolean if R has PFECAT +--R primitiveMonomials : % -> List(%) --R primitivePart : (%,V) -> % 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 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 : (%,%,V) -> % if R has COMRING ---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(S,"failed") --R retractIfCan : % -> Union(V,"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 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 V) -> NonNegativeInteger +--R totalDegree : (%,List(V)) -> 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 : (%,V) -> SparseUnivariatePolynomial % +--R univariate : % -> SparseUnivariatePolynomial(R) +--R univariate : (%,V) -> SparseUnivariatePolynomial(%) --R weight : (%,S) -> NonNegativeInteger ---R weights : (%,S) -> List NonNegativeInteger ---R weights : % -> List NonNegativeInteger +--R weights : (%,S) -> List(NonNegativeInteger) +--R weights : % -> List(NonNegativeInteger) --R --E 1 @@ -58961,13 +59107,14 @@ digraph pic { --S 1 of 1 )show FieldOfPrimeCharacteristic +--R --R FieldOfPrimeCharacteristic is a category constructor --R Abbreviation for FieldOfPrimeCharacteristic is FPC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FPC --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -58975,17 +59122,17 @@ digraph pic { --R ?/? : (%,%) -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % ---R associates? : (%,%) -> Boolean coerce : Fraction Integer -> % +--R associates? : (%,%) -> Boolean coerce : Fraction(Integer) -> % --R coerce : % -> % coerce : Integer -> % ---R coerce : % -> OutputForm factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R coerce : % -> OutputForm factor : % -> Factored(%) +--R gcd : List(%) -> % gcd : (%,%) -> % --R hash : % -> SingleInteger inv : % -> % ---R latex : % -> String lcm : List % -> % +--R latex : % -> String lcm : List(%) -> % --R lcm : (%,%) -> % one? : % -> Boolean --R prime? : % -> Boolean primeFrobenius : % -> % --R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") --R ?rem? : (%,%) -> % sample : () -> % ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) --R squareFreePart : % -> % unit? : % -> Boolean --R unitCanonical : % -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean @@ -58997,15 +59144,15 @@ digraph pic { --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R order : % -> OnePointCompletion PositiveInteger +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R order : % -> OnePointCompletion(PositiveInteger) --R primeFrobenius : (%,NonNegativeInteger) -> % ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -59278,7 +59425,8 @@ digraph pic { --S 1 of 1 )show FiniteRankAlgebra ---R FiniteRankAlgebra(R: CommutativeRing,UP: UnivariatePolynomialCategory t#1) is a category constructor +--R +--R FiniteRankAlgebra(R: CommutativeRing,UP: UnivariatePolynomialCategory(t#1)) is a category constructor --R Abbreviation for FiniteRankAlgebra is FINRALG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FINRALG @@ -59292,7 +59440,7 @@ digraph pic { --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % coerce : R -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R discriminant : Vector % -> R hash : % -> SingleInteger +--R discriminant : Vector(%) -> R hash : % -> SingleInteger --R latex : % -> String norm : % -> R --R one? : % -> Boolean rank : () -> PositiveInteger --R recip : % -> Union(%,"failed") sample : () -> % @@ -59304,13 +59452,13 @@ digraph pic { --R characteristic : () -> NonNegativeInteger --R characteristicPolynomial : % -> UP --R charthRoot : % -> Union(%,"failed") if R has CHARNZ ---R coordinates : (Vector %,Vector %) -> Matrix R ---R coordinates : (%,Vector %) -> Vector R +--R coordinates : (Vector(%),Vector(%)) -> Matrix(R) +--R coordinates : (%,Vector(%)) -> Vector(R) --R minimalPolynomial : % -> UP if R has FIELD ---R regularRepresentation : (%,Vector %) -> Matrix R ---R represents : (Vector R,Vector %) -> % +--R regularRepresentation : (%,Vector(%)) -> Matrix(R) +--R represents : (Vector(R),Vector(%)) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") ---R traceMatrix : Vector % -> Matrix R +--R traceMatrix : Vector(%) -> Matrix(R) --R --E 1 @@ -59598,7 +59746,8 @@ digraph pic { --S 1 of 1 )show FunctionSpace ---R FunctionSpace R: OrderedSet is a category constructor +--R +--R FunctionSpace(R: OrderedSet) is a category constructor --R Abbreviation for FunctionSpace is FS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FS @@ -59609,161 +59758,163 @@ digraph pic { --R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean --R 1 : () -> % if R has SGROUP 0 : () -> % if R has ABELSG --R applyQuote : (Symbol,%,%) -> % applyQuote : (Symbol,%) -> % ---R belong? : BasicOperator -> Boolean box : List % -> % +--R belong? : BasicOperator -> Boolean box : List(%) -> % --R box : % -> % coerce : R -> % ---R coerce : Symbol -> % coerce : Kernel % -> % +--R coerce : Symbol -> % coerce : Kernel(%) -> % --R coerce : % -> OutputForm distribute : (%,%) -> % --R distribute : % -> % elt : (BasicOperator,%,%) -> % ---R elt : (BasicOperator,%) -> % eval : (%,List %,List %) -> % ---R eval : (%,%,%) -> % eval : (%,Equation %) -> % ---R eval : (%,List Equation %) -> % eval : (%,Kernel %,%) -> % +--R elt : (BasicOperator,%) -> % eval : (%,%,%) -> % +--R eval : (%,Equation(%)) -> % eval : (%,Kernel(%),%) -> % --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 : (%,%) -> % paren : List % -> % ---R paren : % -> % retract : % -> R ---R retract : % -> Symbol retract : % -> Kernel % ---R subst : (%,Equation %) -> % tower : % -> List Kernel % ---R variables : % -> List Symbol ?~=? : (%,%) -> Boolean +--R kernels : % -> List(Kernel(%)) latex : % -> String +--R max : (%,%) -> % min : (%,%) -> % +--R paren : List(%) -> % paren : % -> % +--R retract : % -> R retract : % -> Symbol +--R retract : % -> Kernel(%) subst : (%,Equation(%)) -> % +--R tower : % -> List(Kernel(%)) variables : % -> List(Symbol) +--R ?~=? : (%,%) -> Boolean --R ?*? : (%,%) -> % if R has SGROUP --R ?*? : (PositiveInteger,%) -> % if R has ABELSG --R ?*? : (NonNegativeInteger,%) -> % if R has ABELSG --R ?*? : (Integer,%) -> % if R has ABELGRP --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 ?**? : (%,PositiveInteger) -> % if R has SGROUP --R ?**? : (%,NonNegativeInteger) -> % if R has SGROUP --R ?**? : (%,Integer) -> % if R has GROUP or R has INTDOM --R ?+? : (%,%) -> % if R has ABELSG --R ?-? : (%,%) -> % if R has ABELGRP --R ?/? : (%,%) -> % if R has GROUP or R has INTDOM ---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) -> % if R has RING ---R D : (%,List Symbol) -> % if R has RING +--R D : (%,List(Symbol)) -> % if R has RING --R D : (%,Symbol,NonNegativeInteger) -> % if R has RING ---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has RING +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has RING --R ?^? : (%,PositiveInteger) -> % if R has SGROUP --R ?^? : (%,NonNegativeInteger) -> % if R has SGROUP --R ?^? : (%,Integer) -> % if R has GROUP or R has INTDOM ---R applyQuote : (Symbol,List %) -> % +--R applyQuote : (Symbol,List(%)) -> % --R applyQuote : (Symbol,%,%,%,%) -> % --R applyQuote : (Symbol,%,%,%) -> % --R associates? : (%,%) -> Boolean if R has INTDOM --R characteristic : () -> NonNegativeInteger if R has RING --R charthRoot : % -> Union(%,"failed") if R has CHARNZ ---R coerce : Integer -> % if R has RING or R has RETRACT INT ---R coerce : Fraction Integer -> % if R has INTDOM or R has RETRACT INT and R has INTDOM or R has RETRACT FRAC INT ---R coerce : Polynomial R -> % if R has RING +--R coerce : Integer -> % if R has RING or R has RETRACT(INT) +--R coerce : Fraction(Integer) -> % if R has INTDOM or R has RETRACT(INT) and R has INTDOM or R has RETRACT(FRAC(INT)) +--R coerce : Polynomial(R) -> % if R has RING --R coerce : % -> % if R has INTDOM ---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 : 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 denom : % -> SparseMultivariatePolynomial(R,Kernel(%)) if R has INTDOM --R denominator : % -> % if R has INTDOM --R differentiate : (%,Symbol) -> % if R has RING ---R differentiate : (%,List Symbol) -> % if R has RING +--R differentiate : (%,List(Symbol)) -> % if R has RING --R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has RING ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if R has RING +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has RING --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") if R has INTDOM --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 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 numerator : % -> % if R has RING ---R odd? : % -> Boolean if $ has RETRACT INT +--R odd? : % -> Boolean if $ has RETRACT(INT) --R one? : % -> Boolean if R has SGROUP --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 principalIdeal : List(%) -> Record(coef: List(%),generator: %) if R has INTDOM --R ?quo? : (%,%) -> % if R has INTDOM --R recip : % -> Union(%,"failed") if R has SGROUP ---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 %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if and(has(R,LinearlyExplicitRingOver Integer),has(R,Ring)) ---R reducedSystem : Matrix % -> Matrix Integer if and(has(R,LinearlyExplicitRingOver Integer),has(R,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(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if and(has(R,LinearlyExplicitRingOver(Integer)),has(R,Ring)) +--R reducedSystem : Matrix(%) -> Matrix(Integer) if and(has(R,LinearlyExplicitRingOver(Integer)),has(R,Ring)) --R ?rem? : (%,%) -> % if R has INTDOM ---R retract : % -> Fraction Integer if R has RETRACT INT and R has INTDOM or R has RETRACT FRAC INT ---R retract : % -> Polynomial R if R has RING ---R retract : % -> Fraction Polynomial R if R has INTDOM ---R retract : % -> Integer if R has RETRACT INT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if R has RETRACT INT and R has INTDOM or R has RETRACT FRAC INT ---R retractIfCan : % -> Union(Polynomial R,"failed") if R has RING ---R retractIfCan : % -> Union(Fraction Polynomial R,"failed") if R has INTDOM +--R retract : % -> Fraction(Integer) if R has RETRACT(INT) and R has INTDOM or R has RETRACT(FRAC(INT)) +--R retract : % -> Polynomial(R) if R has RING +--R retract : % -> Fraction(Polynomial(R)) if R has INTDOM +--R retract : % -> Integer if R has RETRACT(INT) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has RETRACT(INT) and R has INTDOM or R has RETRACT(FRAC(INT)) +--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(Integer,"failed") if R has RETRACT INT +--R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT(INT) --R retractIfCan : % -> Union(Symbol,"failed") ---R retractIfCan : % -> Union(Kernel %,"failed") +--R retractIfCan : % -> Union(Kernel(%),"failed") --R sample : () -> % if R has SGROUP or R has ABELSG --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") if R has ABELGRP --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 : (%,Kernel %) -> Fraction SparseUnivariatePolynomial % if R has INTDOM +--R univariate : (%,Kernel(%)) -> Fraction(SparseUnivariatePolynomial(%)) if R has INTDOM --R zero? : % -> Boolean if R has ABELSG --R --E 1 @@ -61315,7 +61466,7 @@ digraph pic { --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PACPERC --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -61323,44 +61474,44 @@ digraph pic { --R ?/? : (%,%) -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % ---R associates? : (%,%) -> Boolean coerce : Fraction Integer -> % +--R associates? : (%,%) -> Boolean coerce : Fraction(Integer) -> % --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm conjugate : % -> % ---R extDegree : % -> PositiveInteger factor : % -> Factored % ---R fullOutput : % -> OutputForm gcd : List % -> % +--R extDegree : % -> PositiveInteger factor : % -> Factored(%) +--R fullOutput : % -> OutputForm gcd : List(%) -> % --R gcd : (%,%) -> % ground? : % -> Boolean --R hash : % -> SingleInteger inv : % -> % ---R latex : % -> String lcm : List % -> % ---R lcm : (%,%) -> % maxTower : List % -> % +--R latex : % -> String lcm : List(%) -> % +--R lcm : (%,%) -> % maxTower : List(%) -> % --R one? : % -> Boolean previousTower : % -> % --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % --R sample : () -> % setTower! : % -> Void ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) --R squareFreePart : % -> % unit? : % -> Boolean ---R unitCanonical : % -> % vectorise : (%,%) -> Vector % +--R unitCanonical : % -> % vectorise : (%,%) -> Vector(%) --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R definingPolynomial : % -> SparseUnivariatePolynomial % ---R definingPolynomial : () -> SparseUnivariatePolynomial % ---R distinguishedRootsOf : (SparseUnivariatePolynomial %,%) -> List % +--R definingPolynomial : % -> SparseUnivariatePolynomial(%) +--R definingPolynomial : () -> SparseUnivariatePolynomial(%) +--R distinguishedRootsOf : (SparseUnivariatePolynomial(%),%) -> List(%) --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R lift : (%,%) -> SparseUnivariatePolynomial % ---R lift : % -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R newElement : (SparseUnivariatePolynomial %,Symbol) -> % ---R newElement : (SparseUnivariatePolynomial %,%,Symbol) -> % ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R reduce : SparseUnivariatePolynomial % -> % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R lift : (%,%) -> SparseUnivariatePolynomial(%) +--R lift : % -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R newElement : (SparseUnivariatePolynomial(%),Symbol) -> % +--R newElement : (SparseUnivariatePolynomial(%),%,Symbol) -> % +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R reduce : SparseUnivariatePolynomial(%) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -61663,14 +61814,15 @@ digraph pic { --S 1 of 1 )show QuotientFieldCategory ---R QuotientFieldCategory S: IntegralDomain is a category constructor +--R +--R QuotientFieldCategory(S: IntegralDomain) is a category constructor --R Abbreviation for QuotientFieldCategory is QFCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for QFCAT --R --R------------------------------- Operations -------------------------------- --R ?*? : (%,S) -> % ?*? : (S,%) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -61681,21 +61833,21 @@ digraph pic { --R 0 : () -> % ?^? : (%,Integer) -> % --R ?^? : (%,PositiveInteger) -> % associates? : (%,%) -> Boolean --R ceiling : % -> S if S has INS coerce : S -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm --R denom : % -> S denominator : % -> % ---R factor : % -> Factored % floor : % -> S if S has INS ---R gcd : List % -> % gcd : (%,%) -> % +--R factor : % -> Factored(%) floor : % -> S if S has INS +--R gcd : List(%) -> % gcd : (%,%) -> % --R hash : % -> SingleInteger init : () -> % if S has STEP --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R map : ((S -> S),%) -> % numer : % -> S --R numerator : % -> % one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R random : () -> % if S has INS recip : % -> Union(%,"failed") --R ?rem? : (%,%) -> % retract : % -> S --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % @@ -61705,70 +61857,70 @@ digraph pic { --R ?>? : (%,%) -> Boolean if S has ORDSET --R ?>=? : (%,%) -> Boolean if S has ORDSET --R D : (%,(S -> S),NonNegativeInteger) -> % ---R D : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL ---R D : (%,List Symbol) -> % if S has PDRING SYMBOL ---R D : (%,Symbol) -> % if S has PDRING SYMBOL +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) +--R D : (%,Symbol) -> % if S has PDRING(SYMBOL) --R D : (%,NonNegativeInteger) -> % if S has DIFRING --R ?^? : (%,NonNegativeInteger) -> % --R abs : % -> % if S has OINTDOM --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if S has CHARNZ or and(has($,CharacteristicNonZero),has(S,PolynomialFactorizationExplicit)) ---R coerce : Symbol -> % if S has RETRACT SYMBOL ---R conditionP : Matrix % -> Union(Vector %,"failed") if and(has($,CharacteristicNonZero),has(S,PolynomialFactorizationExplicit)) +--R coerce : Symbol -> % if S has RETRACT(SYMBOL) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if and(has($,CharacteristicNonZero),has(S,PolynomialFactorizationExplicit)) --R convert : % -> DoubleFloat if S has REAL --R convert : % -> Float if S has REAL ---R convert : % -> InputForm if S has KONVERT INFORM ---R convert : % -> Pattern Float if S has KONVERT PATTERN FLOAT ---R convert : % -> Pattern Integer if S has KONVERT PATTERN INT +--R convert : % -> InputForm if S has KONVERT(INFORM) +--R convert : % -> Pattern(Float) if S has KONVERT(PATTERN(FLOAT)) +--R convert : % -> Pattern(Integer) if S has KONVERT(PATTERN(INT)) --R differentiate : (%,(S -> S)) -> % --R differentiate : (%,(S -> S),NonNegativeInteger) -> % ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if S has PDRING SYMBOL ---R differentiate : (%,Symbol) -> % if S has PDRING SYMBOL +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) +--R differentiate : (%,Symbol) -> % if S has PDRING(SYMBOL) --R differentiate : (%,NonNegativeInteger) -> % if S has DIFRING --R differentiate : % -> % if S has DIFRING --R divide : (%,%) -> Record(quotient: %,remainder: %) --R ?.? : (%,S) -> % if S has ELTAB(S,S) --R euclideanSize : % -> NonNegativeInteger --R eval : (%,Symbol,S) -> % if S has IEVALAB(SYMBOL,S) ---R eval : (%,List Symbol,List S) -> % if S has IEVALAB(SYMBOL,S) ---R eval : (%,List Equation S) -> % if S has EVALAB S ---R eval : (%,Equation S) -> % if S has EVALAB S ---R eval : (%,S,S) -> % if S has EVALAB S ---R eval : (%,List S,List S) -> % if S has EVALAB S ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R eval : (%,List(Symbol),List(S)) -> % if S has IEVALAB(SYMBOL,S) +--R eval : (%,List(Equation(S))) -> % if S has EVALAB(S) +--R eval : (%,Equation(S)) -> % if S has EVALAB(S) +--R eval : (%,S,S) -> % if S has EVALAB(S) +--R eval : (%,List(S),List(S)) -> % if S has EVALAB(S) +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R factorPolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if S has PFECAT ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if S has PFECAT +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if S has PFECAT +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if S has PFECAT --R fractionPart : % -> % if S has EUCDOM ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R max : (%,%) -> % if S has ORDSET --R min : (%,%) -> % if S has ORDSET ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R negative? : % -> Boolean if S has OINTDOM --R nextItem : % -> Union(%,"failed") if S has STEP ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if S has PATMAB FLOAT ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if S has PATMAB INT +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if S has PATMAB(FLOAT) +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if S has PATMAB(INT) --R positive? : % -> Boolean if S has OINTDOM ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R reducedSystem : Matrix % -> Matrix S ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix S,vec: Vector S) ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if S has LINEXP INT ---R reducedSystem : Matrix % -> Matrix Integer if S has LINEXP INT ---R retract : % -> Integer if S has RETRACT INT ---R retract : % -> Fraction Integer if S has RETRACT INT ---R retract : % -> Symbol if S has RETRACT SYMBOL ---R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT INT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if S has RETRACT INT ---R retractIfCan : % -> Union(Symbol,"failed") if S has RETRACT SYMBOL +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R reducedSystem : Matrix(%) -> Matrix(S) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(S),vec: Vector(S)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if S has LINEXP(INT) +--R reducedSystem : Matrix(%) -> Matrix(Integer) if S has LINEXP(INT) +--R retract : % -> Integer if S has RETRACT(INT) +--R retract : % -> Fraction(Integer) if S has RETRACT(INT) +--R retract : % -> Symbol if S has RETRACT(SYMBOL) +--R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT(INT) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if S has RETRACT(INT) +--R retractIfCan : % -> Union(Symbol,"failed") if S has RETRACT(SYMBOL) --R retractIfCan : % -> Union(S,"failed") --R sign : % -> Integer if S has OINTDOM ---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if S has PFECAT ---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if S has PFECAT +--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if S has PFECAT +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if S has PFECAT --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R wholePart : % -> S if S has EUCDOM @@ -62368,76 +62520,77 @@ digraph pic { --S 1 of 1 )show RealClosedField +--R --R RealClosedField is a category constructor --R Abbreviation for RealClosedField is RCFIELD --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for RCFIELD --R --R------------------------------- Operations -------------------------------- ---R ?*? : (%,Fraction Integer) -> % ?*? : (Fraction Integer,%) -> % +--R ?*? : (%,Fraction(Integer)) -> % ?*? : (Fraction(Integer),%) -> % --R ?*? : (%,Integer) -> % ?*? : (Integer,%) -> % ---R ?*? : (%,Fraction Integer) -> % ?*? : (Fraction Integer,%) -> % +--R ?*? : (%,Fraction(Integer)) -> % ?*? : (Fraction(Integer),%) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % ---R ?*? : (PositiveInteger,%) -> % ?**? : (%,Fraction Integer) -> % ---R ?**? : (%,Integer) -> % ?**? : (%,PositiveInteger) -> % ---R ?+? : (%,%) -> % ?-? : (%,%) -> % ---R -? : % -> % ?/? : (%,%) -> % ---R ? Boolean ?<=? : (%,%) -> Boolean ---R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean ---R ?>=? : (%,%) -> Boolean 1 : () -> % ---R 0 : () -> % ?^? : (%,Integer) -> % ---R ?^? : (%,PositiveInteger) -> % abs : % -> % ---R associates? : (%,%) -> Boolean coerce : Fraction Integer -> % ---R coerce : Integer -> % coerce : Fraction Integer -> % ---R coerce : % -> % coerce : Fraction Integer -> % ---R coerce : Integer -> % coerce : % -> OutputForm ---R factor : % -> Factored % gcd : (%,%) -> % ---R gcd : List % -> % hash : % -> SingleInteger ---R inv : % -> % latex : % -> String ---R lcm : (%,%) -> % lcm : List % -> % ---R max : (%,%) -> % min : (%,%) -> % ---R negative? : % -> Boolean nthRoot : (%,Integer) -> % ---R one? : % -> Boolean positive? : % -> Boolean ---R prime? : % -> Boolean ?quo? : (%,%) -> % ---R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R rename : (%,OutputForm) -> % rename! : (%,OutputForm) -> % ---R retract : % -> Fraction Integer sample : () -> % ---R sign : % -> Integer sizeLess? : (%,%) -> Boolean ---R sqrt : Integer -> % sqrt : Fraction Integer -> % ---R sqrt : % -> % squareFree : % -> Factored % ---R squareFreePart : % -> % unit? : % -> Boolean ---R unitCanonical : % -> % zero? : % -> Boolean ---R ?~=? : (%,%) -> Boolean +--R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % +--R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % +--R ?-? : (%,%) -> % -? : % -> % +--R ?/? : (%,%) -> % ? Boolean +--R ?<=? : (%,%) -> Boolean ?=? : (%,%) -> Boolean +--R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean +--R 1 : () -> % 0 : () -> % +--R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % +--R abs : % -> % associates? : (%,%) -> Boolean +--R coerce : Fraction(Integer) -> % coerce : Integer -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % +--R coerce : Fraction(Integer) -> % coerce : Integer -> % +--R coerce : % -> OutputForm factor : % -> Factored(%) +--R gcd : (%,%) -> % gcd : List(%) -> % +--R hash : % -> SingleInteger inv : % -> % +--R latex : % -> String lcm : (%,%) -> % +--R lcm : List(%) -> % max : (%,%) -> % +--R min : (%,%) -> % negative? : % -> Boolean +--R nthRoot : (%,Integer) -> % one? : % -> Boolean +--R positive? : % -> Boolean prime? : % -> Boolean +--R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") +--R ?rem? : (%,%) -> % rename : (%,OutputForm) -> % +--R rename! : (%,OutputForm) -> % retract : % -> Fraction(Integer) +--R sample : () -> % sign : % -> Integer +--R sizeLess? : (%,%) -> Boolean sqrt : Integer -> % +--R sqrt : Fraction(Integer) -> % sqrt : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % +--R unit? : % -> Boolean unitCanonical : % -> % +--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % +--R ?**? : (%,Fraction(Integer)) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % ---R allRootsOf : Polynomial Integer -> List % ---R allRootsOf : Polynomial Fraction Integer -> List % ---R allRootsOf : Polynomial % -> List % ---R allRootsOf : SparseUnivariatePolynomial Integer -> List % ---R allRootsOf : SparseUnivariatePolynomial Fraction Integer -> List % ---R allRootsOf : SparseUnivariatePolynomial % -> List % ---R approximate : (%,%) -> Fraction Integer +--R allRootsOf : Polynomial(Integer) -> List(%) +--R allRootsOf : Polynomial(Fraction(Integer)) -> List(%) +--R allRootsOf : Polynomial(%) -> List(%) +--R allRootsOf : SparseUnivariatePolynomial(Integer) -> List(%) +--R allRootsOf : SparseUnivariatePolynomial(Fraction(Integer)) -> List(%) +--R allRootsOf : SparseUnivariatePolynomial(%) -> List(%) +--R approximate : (%,%) -> Fraction(Integer) --R characteristic : () -> NonNegativeInteger --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R mainDefiningPolynomial : % -> Union(SparseUnivariatePolynomial %,"failed") +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R mainDefiningPolynomial : % -> Union(SparseUnivariatePolynomial(%),"failed") --R mainForm : % -> Union(OutputForm,"failed") ---R mainValue : % -> Union(SparseUnivariatePolynomial %,"failed") ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R retract : % -> Fraction Integer if Fraction Integer has RETRACT FRAC INT ---R retract : % -> Integer if Fraction Integer has RETRACT INT ---R retractIfCan : % -> Union(Fraction Integer,"failed") ---R retractIfCan : % -> Union(Fraction Integer,"failed") if Fraction Integer has RETRACT FRAC INT ---R retractIfCan : % -> Union(Integer,"failed") if Fraction Integer has RETRACT INT ---R rootOf : (SparseUnivariatePolynomial %,PositiveInteger) -> Union(%,"failed") ---R rootOf : (SparseUnivariatePolynomial %,PositiveInteger,OutputForm) -> Union(%,"failed") +--R mainValue : % -> Union(SparseUnivariatePolynomial(%),"failed") +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R retract : % -> Fraction(Integer) if Fraction(Integer) has RETRACT(FRAC(INT)) +--R retract : % -> Integer if Fraction(Integer) has RETRACT(INT) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if Fraction(Integer) has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(Integer,"failed") if Fraction(Integer) has RETRACT(INT) +--R rootOf : (SparseUnivariatePolynomial(%),PositiveInteger) -> Union(%,"failed") +--R rootOf : (SparseUnivariatePolynomial(%),PositiveInteger,OutputForm) -> Union(%,"failed") --R sqrt : (%,NonNegativeInteger) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) @@ -62920,62 +63073,63 @@ digraph pic { --S 1 of 1 )show RealNumberSystem +--R --R RealNumberSystem is a category constructor --R Abbreviation for RealNumberSystem is RNS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for RNS --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % ---R ?*? : (PositiveInteger,%) -> % ?**? : (%,Fraction Integer) -> % ---R ?**? : (%,Integer) -> % ?**? : (%,PositiveInteger) -> % ---R ?+? : (%,%) -> % ?-? : (%,%) -> % ---R -? : % -> % ?/? : (%,%) -> % ---R ? Boolean ?<=? : (%,%) -> Boolean ---R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean ---R ?>=? : (%,%) -> Boolean 1 : () -> % ---R 0 : () -> % ?^? : (%,Integer) -> % ---R ?^? : (%,PositiveInteger) -> % abs : % -> % ---R associates? : (%,%) -> Boolean ceiling : % -> % ---R coerce : Fraction Integer -> % coerce : Integer -> % ---R coerce : Fraction Integer -> % coerce : % -> % ---R coerce : Integer -> % coerce : % -> OutputForm ---R convert : % -> Pattern Float convert : % -> DoubleFloat ---R convert : % -> Float factor : % -> Factored % ---R floor : % -> % fractionPart : % -> % ---R gcd : List % -> % gcd : (%,%) -> % ---R hash : % -> SingleInteger inv : % -> % ---R latex : % -> String lcm : List % -> % ---R lcm : (%,%) -> % max : (%,%) -> % ---R min : (%,%) -> % negative? : % -> Boolean ---R norm : % -> % nthRoot : (%,Integer) -> % ---R one? : % -> Boolean positive? : % -> Boolean ---R prime? : % -> Boolean ?quo? : (%,%) -> % ---R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R retract : % -> Fraction Integer retract : % -> Integer ---R round : % -> % sample : () -> % ---R sign : % -> Integer sizeLess? : (%,%) -> Boolean ---R sqrt : % -> % squareFree : % -> Factored % ---R squareFreePart : % -> % truncate : % -> % ---R unit? : % -> Boolean unitCanonical : % -> % ---R wholePart : % -> Integer zero? : % -> Boolean ---R ?~=? : (%,%) -> Boolean +--R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % +--R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % +--R ?-? : (%,%) -> % -? : % -> % +--R ?/? : (%,%) -> % ? Boolean +--R ?<=? : (%,%) -> Boolean ?=? : (%,%) -> Boolean +--R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean +--R 1 : () -> % 0 : () -> % +--R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % +--R abs : % -> % associates? : (%,%) -> Boolean +--R ceiling : % -> % coerce : Fraction(Integer) -> % +--R coerce : Integer -> % coerce : Fraction(Integer) -> % +--R coerce : % -> % coerce : Integer -> % +--R coerce : % -> OutputForm convert : % -> Pattern(Float) +--R convert : % -> DoubleFloat convert : % -> Float +--R factor : % -> Factored(%) floor : % -> % +--R fractionPart : % -> % gcd : List(%) -> % +--R gcd : (%,%) -> % hash : % -> SingleInteger +--R inv : % -> % latex : % -> String +--R lcm : List(%) -> % lcm : (%,%) -> % +--R max : (%,%) -> % min : (%,%) -> % +--R negative? : % -> Boolean norm : % -> % +--R nthRoot : (%,Integer) -> % one? : % -> Boolean +--R positive? : % -> Boolean prime? : % -> Boolean +--R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") +--R ?rem? : (%,%) -> % retract : % -> Fraction(Integer) +--R retract : % -> Integer round : % -> % +--R sample : () -> % sign : % -> Integer +--R sizeLess? : (%,%) -> Boolean sqrt : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % +--R truncate : % -> % unit? : % -> Boolean +--R unitCanonical : % -> % wholePart : % -> Integer +--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % +--R ?**? : (%,Fraction(Integer)) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R retractIfCan : % -> Union(Fraction Integer,"failed") +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") --R retractIfCan : % -> Union(Integer,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) @@ -63352,6 +63506,7 @@ digraph pic { --S 1 of 1 )show RecursivePolynomialCategory +--R --R RecursivePolynomialCategory(R: Ring,E: OrderedAbelianMonoidSup,V: OrderedSet) is a category constructor --R Abbreviation for RecursivePolynomialCategory is RPOLCAT --R This constructor is exposed in this frame. @@ -63363,47 +63518,45 @@ digraph pic { --R ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> % --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean ---R D : (%,List V) -> % D : (%,V) -> % +--R D : (%,List(V)) -> % D : (%,V) -> % --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % coefficient : (%,E) -> R ---R coefficients : % -> List R coerce : V -> % +--R coefficients : % -> List(R) coerce : V -> % --R coerce : R -> % coerce : Integer -> % --R coerce : % -> OutputForm deepestInitial : % -> % --R deepestTail : % -> % degree : % -> E ---R differentiate : (%,List V) -> % differentiate : (%,V) -> % ---R eval : (%,List V,List %) -> % eval : (%,V,%) -> % ---R eval : (%,List V,List R) -> % eval : (%,V,R) -> % ---R eval : (%,List %,List %) -> % eval : (%,%,%) -> % ---R eval : (%,Equation %) -> % eval : (%,List Equation %) -> % +--R differentiate : (%,List(V)) -> % differentiate : (%,V) -> % +--R eval : (%,List(V),List(%)) -> % eval : (%,V,%) -> % +--R eval : (%,List(V),List(R)) -> % eval : (%,V,R) -> % +--R eval : (%,%,%) -> % eval : (%,Equation(%)) -> % --R ground : % -> R ground? : % -> Boolean --R hash : % -> SingleInteger head : % -> % --R headReduce : (%,%) -> % headReduced? : (%,%) -> Boolean --R infRittWu? : (%,%) -> Boolean init : % -> % ---R initiallyReduce : (%,%) -> % iteratedInitials : % -> List % +--R initiallyReduce : (%,%) -> % iteratedInitials : % -> List(%) --R latex : % -> String lazyPquo : (%,%,V) -> % --R lazyPquo : (%,%) -> % lazyPrem : (%,%,V) -> % --R lazyPrem : (%,%) -> % leadingCoefficient : (%,V) -> % --R leadingCoefficient : % -> R leadingMonomial : % -> % ---R leastMonomial : % -> % mainCoefficients : % -> List % ---R mainMonomial : % -> % mainMonomials : % -> List % +--R leastMonomial : % -> % mainCoefficients : % -> List(%) +--R mainMonomial : % -> % mainMonomials : % -> List(%) --R map : ((R -> R),%) -> % mapExponents : ((E -> E),%) -> % --R mdeg : % -> NonNegativeInteger minimumDegree : % -> E --R monic? : % -> Boolean monicModulo : (%,%) -> % --R monomial : (R,E) -> % monomial? : % -> Boolean ---R monomials : % -> List % mvar : % -> V +--R monomials : % -> List(%) mvar : % -> V --R normalized? : (%,%) -> Boolean one? : % -> Boolean --R pomopo! : (%,R,E,%) -> % pquo : (%,%,V) -> % --R pquo : (%,%) -> % prem : (%,%,V) -> % ---R prem : (%,%) -> % primitiveMonomials : % -> List % ---R quasiMonic? : % -> Boolean recip : % -> Union(%,"failed") ---R reduced? : (%,List %) -> Boolean reduced? : (%,%) -> Boolean +--R prem : (%,%) -> % quasiMonic? : % -> Boolean +--R recip : % -> Union(%,"failed") reduced? : (%,%) -> Boolean --R reductum : (%,V) -> % reductum : % -> % --R retract : % -> V retract : % -> R --R sample : () -> % supRittWu? : (%,%) -> Boolean ---R tail : % -> % variables : % -> List V +--R tail : % -> % variables : % -> List(V) --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (Fraction Integer,%) -> % if R has ALGEBRA FRAC INT ---R ?*? : (%,Fraction Integer) -> % if R has ALGEBRA FRAC INT +--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 @@ -63411,7 +63564,7 @@ digraph pic { --R ?<=? : (%,%) -> Boolean if R has ORDSET --R ?>? : (%,%) -> Boolean if R has ORDSET --R ?>=? : (%,%) -> Boolean if R has ORDSET ---R D : (%,List V,List NonNegativeInteger) -> % +--R D : (%,List(V),List(NonNegativeInteger)) -> % --R D : (%,V,NonNegativeInteger) -> % --R LazardQuotient : (%,%,NonNegativeInteger) -> % if R has INTDOM --R LazardQuotient2 : (%,%,%,NonNegativeInteger) -> % if R has INTDOM @@ -63421,27 +63574,29 @@ digraph pic { --R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) or R has CHARNZ ---R coefficient : (%,List V,List NonNegativeInteger) -> % +--R coefficient : (%,List(V),List(NonNegativeInteger)) -> % --R coefficient : (%,V,NonNegativeInteger) -> % --R coerce : % -> % if R has INTDOM ---R coerce : Fraction Integer -> % if R has RETRACT FRAC INT or R has ALGEBRA FRAC INT ---R coerce : % -> Polynomial R if V has KONVERT SYMBOL ---R conditionP : Matrix % -> Union(Vector %,"failed") if and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) or R has ALGEBRA(FRAC(INT)) +--R coerce : % -> Polynomial(R) if V has KONVERT(SYMBOL) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) --R content : (%,V) -> % if R has GCDDOM --R content : % -> R if R has GCDDOM ---R convert : % -> Polynomial R if V has KONVERT SYMBOL ---R convert : % -> String if R has RETRACT INT and V has KONVERT SYMBOL ---R convert : Polynomial R -> % if V has KONVERT SYMBOL ---R convert : Polynomial Integer -> % if not has(R,Algebra Fraction Integer) and R has ALGEBRA INT and V has KONVERT SYMBOL or R has ALGEBRA FRAC INT and V has KONVERT SYMBOL ---R convert : Polynomial Fraction Integer -> % if R has ALGEBRA FRAC INT and V has KONVERT SYMBOL ---R convert : % -> InputForm if V has KONVERT INFORM and R has KONVERT INFORM ---R convert : % -> Pattern Integer if V has KONVERT PATTERN INT and R has KONVERT PATTERN INT ---R convert : % -> Pattern Float if V has KONVERT PATTERN FLOAT and R has KONVERT PATTERN FLOAT ---R degree : (%,List V) -> List NonNegativeInteger +--R convert : % -> Polynomial(R) if V has KONVERT(SYMBOL) +--R convert : % -> String if R has RETRACT(INT) and V has KONVERT(SYMBOL) +--R convert : Polynomial(R) -> % if V has KONVERT(SYMBOL) +--R convert : Polynomial(Integer) -> % if not(has(R,Algebra(Fraction(Integer)))) and R has ALGEBRA(INT) and V has KONVERT(SYMBOL) or R has ALGEBRA(FRAC(INT)) and V has KONVERT(SYMBOL) +--R convert : Polynomial(Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT)) and V has KONVERT(SYMBOL) +--R convert : % -> InputForm if V has KONVERT(INFORM) and R has KONVERT(INFORM) +--R convert : % -> Pattern(Integer) if V has KONVERT(PATTERN(INT)) and R has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if V has KONVERT(PATTERN(FLOAT)) and R has KONVERT(PATTERN(FLOAT)) +--R degree : (%,List(V)) -> List(NonNegativeInteger) --R degree : (%,V) -> NonNegativeInteger ---R differentiate : (%,List V,List NonNegativeInteger) -> % +--R differentiate : (%,List(V),List(NonNegativeInteger)) -> % --R differentiate : (%,V,NonNegativeInteger) -> % --R discriminant : (%,V) -> % if R has COMRING +--R eval : (%,List(%),List(%)) -> % +--R eval : (%,List(Equation(%))) -> % --R exactQuotient : (%,%) -> % if R has INTDOM --R exactQuotient : (%,R) -> % if R has INTDOM --R exactQuotient! : (%,%) -> % if R has INTDOM @@ -63449,21 +63604,21 @@ digraph pic { --R exquo : (%,%) -> Union(%,"failed") if R has INTDOM --R exquo : (%,R) -> Union(%,"failed") if R has INTDOM --R extendedSubResultantGcd : (%,%) -> Record(gcd: %,coef1: %,coef2: %) 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 gcd : List(%) -> % if R has GCDDOM --R gcd : (R,%) -> R if R has GCDDOM ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has GCDDOM +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has GCDDOM --R halfExtendedSubResultantGcd1 : (%,%) -> Record(gcd: %,coef1: %) if R has INTDOM --R halfExtendedSubResultantGcd2 : (%,%) -> Record(gcd: %,coef2: %) if R has INTDOM ---R headReduced? : (%,List %) -> Boolean ---R initiallyReduced? : (%,List %) -> Boolean +--R headReduced? : (%,List(%)) -> Boolean +--R initiallyReduced? : (%,List(%)) -> Boolean --R initiallyReduced? : (%,%) -> Boolean --R isExpt : % -> Union(Record(var: V,exponent: NonNegativeInteger),"failed") ---R isPlus : % -> Union(List %,"failed") ---R isTimes : % -> Union(List %,"failed") +--R isPlus : % -> Union(List(%),"failed") +--R isTimes : % -> Union(List(%),"failed") --R lastSubResultant : (%,%) -> % if R has INTDOM --R lazyPremWithDefault : (%,%,V) -> Record(coef: %,gap: NonNegativeInteger,remainder: %) --R lazyPremWithDefault : (%,%) -> Record(coef: %,gap: NonNegativeInteger,remainder: %) @@ -63471,64 +63626,66 @@ digraph pic { --R lazyPseudoDivide : (%,%) -> Record(coef: %,gap: NonNegativeInteger,quotient: %,remainder: %) --R lazyResidueClass : (%,%) -> Record(polnum: %,polden: %,power: NonNegativeInteger) --R lcm : (%,%) -> % if R has GCDDOM ---R lcm : List % -> % if R has GCDDOM +--R lcm : List(%) -> % if R has GCDDOM --R mainContent : % -> % if R has GCDDOM --R mainPrimitivePart : % -> % if R has GCDDOM --R mainSquareFreePart : % -> % if R has GCDDOM --R mainVariable : % -> Union(V,"failed") --R max : (%,%) -> % if R has ORDSET --R min : (%,%) -> % if R has ORDSET ---R minimumDegree : (%,List V) -> List NonNegativeInteger +--R minimumDegree : (%,List(V)) -> List(NonNegativeInteger) --R minimumDegree : (%,V) -> NonNegativeInteger --R monicDivide : (%,%,V) -> Record(quotient: %,remainder: %) ---R monomial : (%,List V,List NonNegativeInteger) -> % +--R monomial : (%,List(V),List(NonNegativeInteger)) -> % --R monomial : (%,V,NonNegativeInteger) -> % ---R multivariate : (SparseUnivariatePolynomial %,V) -> % ---R multivariate : (SparseUnivariatePolynomial R,V) -> % +--R multivariate : (SparseUnivariatePolynomial(%),V) -> % +--R multivariate : (SparseUnivariatePolynomial(R),V) -> % --R nextsubResultant2 : (%,%,%,%) -> % if R has INTDOM ---R normalized? : (%,List %) -> Boolean +--R normalized? : (%,List(%)) -> Boolean --R numberOfMonomials : % -> NonNegativeInteger ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if V has PATMAB INT and R has PATMAB INT ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if V has PATMAB FLOAT and R has PATMAB FLOAT +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if V has PATMAB(INT) and R has PATMAB(INT) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if V has PATMAB(FLOAT) and R has PATMAB(FLOAT) --R primPartElseUnitCanonical : % -> % if R has INTDOM --R primPartElseUnitCanonical! : % -> % if R has INTDOM --R prime? : % -> Boolean if R has PFECAT +--R primitiveMonomials : % -> List(%) --R primitivePart : (%,V) -> % if R has GCDDOM --R primitivePart : % -> % if R has GCDDOM --R primitivePart! : % -> % if R has GCDDOM --R pseudoDivide : (%,%) -> Record(quotient: %,remainder: %) ---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 reduced? : (%,List(%)) -> Boolean +--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 : (%,%) -> % if R has INTDOM --R resultant : (%,%,V) -> % if R has COMRING ---R retract : Polynomial R -> % if not has(R,Algebra Fraction Integer) and not has(R,Algebra Integer) and V has KONVERT SYMBOL or not has(R,IntegerNumberSystem) and not has(R,Algebra Fraction Integer) and R has ALGEBRA INT and V has KONVERT SYMBOL or not has(R,QuotientFieldCategory Integer) and R has ALGEBRA FRAC INT and V has KONVERT SYMBOL ---R retract : Polynomial Integer -> % if not has(R,Algebra Fraction Integer) and R has ALGEBRA INT and V has KONVERT SYMBOL or R has ALGEBRA FRAC INT and V has KONVERT SYMBOL ---R retract : Polynomial Fraction Integer -> % if R has ALGEBRA FRAC INT and V has KONVERT SYMBOL ---R retract : % -> Integer if R has RETRACT INT ---R retract : % -> Fraction Integer if R has RETRACT FRAC INT ---R retractIfCan : Polynomial R -> Union(%,"failed") if not has(R,Algebra Fraction Integer) and not has(R,Algebra Integer) and V has KONVERT SYMBOL or not has(R,IntegerNumberSystem) and not has(R,Algebra Fraction Integer) and R has ALGEBRA INT and V has KONVERT SYMBOL or not has(R,QuotientFieldCategory Integer) and R has ALGEBRA FRAC INT and V has KONVERT SYMBOL ---R retractIfCan : Polynomial Integer -> Union(%,"failed") if not has(R,Algebra Fraction Integer) and R has ALGEBRA INT and V has KONVERT SYMBOL or R has ALGEBRA FRAC INT and V has KONVERT SYMBOL ---R retractIfCan : Polynomial Fraction Integer -> Union(%,"failed") if R has ALGEBRA FRAC INT and V has KONVERT SYMBOL +--R retract : Polynomial(R) -> % if not(has(R,Algebra(Fraction(Integer)))) and not(has(R,Algebra(Integer))) and V has KONVERT(SYMBOL) or not(has(R,IntegerNumberSystem)) and not(has(R,Algebra(Fraction(Integer)))) and R has ALGEBRA(INT) and V has KONVERT(SYMBOL) or not(has(R,QuotientFieldCategory(Integer))) and R has ALGEBRA(FRAC(INT)) and V has KONVERT(SYMBOL) +--R retract : Polynomial(Integer) -> % if not(has(R,Algebra(Fraction(Integer)))) and R has ALGEBRA(INT) and V has KONVERT(SYMBOL) or R has ALGEBRA(FRAC(INT)) and V has KONVERT(SYMBOL) +--R retract : Polynomial(Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT)) and V has KONVERT(SYMBOL) +--R retract : % -> Integer if R has RETRACT(INT) +--R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT)) +--R retractIfCan : Polynomial(R) -> Union(%,"failed") if not(has(R,Algebra(Fraction(Integer)))) and not(has(R,Algebra(Integer))) and V has KONVERT(SYMBOL) or not(has(R,IntegerNumberSystem)) and not(has(R,Algebra(Fraction(Integer)))) and R has ALGEBRA(INT) and V has KONVERT(SYMBOL) or not(has(R,QuotientFieldCategory(Integer))) and R has ALGEBRA(FRAC(INT)) and V has KONVERT(SYMBOL) +--R retractIfCan : Polynomial(Integer) -> Union(%,"failed") if not(has(R,Algebra(Fraction(Integer)))) and R has ALGEBRA(INT) and V has KONVERT(SYMBOL) or R has ALGEBRA(FRAC(INT)) and V has KONVERT(SYMBOL) +--R retractIfCan : Polynomial(Fraction(Integer)) -> Union(%,"failed") if R has ALGEBRA(FRAC(INT)) and V has KONVERT(SYMBOL) --R retractIfCan : % -> Union(V,"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 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 subResultantChain : (%,%) -> List % if R has INTDOM +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT +--R subResultantChain : (%,%) -> List(%) if R has INTDOM --R subResultantGcd : (%,%) -> % if R has INTDOM --R subtractIfCan : (%,%) -> Union(%,"failed") ---R totalDegree : (%,List V) -> NonNegativeInteger +--R totalDegree : (%,List(V)) -> 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 : (%,V) -> SparseUnivariatePolynomial % +--R univariate : % -> SparseUnivariatePolynomial(R) +--R univariate : (%,V) -> SparseUnivariatePolynomial(%) --R --E 1 @@ -65333,7 +65490,8 @@ digraph pic { --S 1 of 1 )show UnivariateLaurentSeriesCategory ---R UnivariateLaurentSeriesCategory Coef: Ring is a category constructor +--R +--R UnivariateLaurentSeriesCategory(Coef: Ring) is a category constructor --R Abbreviation for UnivariateLaurentSeriesCategory is ULSCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for ULSCAT @@ -65359,104 +65517,104 @@ digraph pic { --R sample : () -> % truncate : (%,Integer) -> % --R variable : % -> Symbol zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?*? : (Fraction Integer,%) -> % if Coef has ALGEBRA FRAC INT +--R ?*? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?*? : (Fraction(Integer),%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?*? : (NonNegativeInteger,%) -> % ---R ?**? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?**? : (%,%) -> % if Coef has ALGEBRA FRAC INT +--R ?**? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?**? : (%,%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?**? : (%,Integer) -> % if Coef has FIELD --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,%) -> % if Coef has FIELD --R ?/? : (%,Coef) -> % if Coef has FIELD --R D : % -> % if Coef has *: (Integer,Coef) -> Coef --R D : (%,NonNegativeInteger) -> % if Coef has *: (Integer,Coef) -> Coef ---R D : (%,Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R D : (%,List Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef +--R D : (%,Symbol) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R D : (%,List(Symbol)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef --R ?^? : (%,Integer) -> % if Coef has FIELD --R ?^? : (%,NonNegativeInteger) -> % ---R acos : % -> % if Coef has ALGEBRA FRAC INT ---R acosh : % -> % if Coef has ALGEBRA FRAC INT ---R acot : % -> % if Coef has ALGEBRA FRAC INT ---R acoth : % -> % if Coef has ALGEBRA FRAC INT ---R acsc : % -> % if Coef has ALGEBRA FRAC INT ---R acsch : % -> % if Coef has ALGEBRA FRAC INT +--R acos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acoth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsch : % -> % if Coef has ALGEBRA(FRAC(INT)) --R approximate : (%,Integer) -> Coef if Coef has **: (Coef,Integer) -> Coef and Coef has coerce: Symbol -> Coef ---R asec : % -> % if Coef has ALGEBRA FRAC INT ---R asech : % -> % if Coef has ALGEBRA FRAC INT ---R asin : % -> % if Coef has ALGEBRA FRAC INT ---R asinh : % -> % if Coef has ALGEBRA FRAC INT +--R asec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asinh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R associates? : (%,%) -> Boolean if Coef has INTDOM ---R atan : % -> % if Coef has ALGEBRA FRAC INT ---R atanh : % -> % if Coef has ALGEBRA FRAC INT +--R atan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R atanh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if Coef has CHARNZ --R coerce : % -> % if Coef has INTDOM ---R coerce : Fraction Integer -> % if Coef has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R coerce : Coef -> % if Coef has COMRING ---R cos : % -> % if Coef has ALGEBRA FRAC INT ---R cosh : % -> % if Coef has ALGEBRA FRAC INT ---R cot : % -> % if Coef has ALGEBRA FRAC INT ---R coth : % -> % if Coef has ALGEBRA FRAC INT ---R csc : % -> % if Coef has ALGEBRA FRAC INT ---R csch : % -> % if Coef has ALGEBRA FRAC INT +--R cos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R coth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csch : % -> % if Coef has ALGEBRA(FRAC(INT)) --R differentiate : % -> % if Coef has *: (Integer,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (Integer,Coef) -> Coef ---R differentiate : (%,Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R differentiate : (%,List Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef +--R differentiate : (%,Symbol) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R differentiate : (%,List(Symbol)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef --R divide : (%,%) -> Record(quotient: %,remainder: %) if Coef has FIELD --R ?.? : (%,%) -> % if Integer has SGROUP --R euclideanSize : % -> NonNegativeInteger if Coef has FIELD ---R eval : (%,Coef) -> Stream Coef if Coef has **: (Coef,Integer) -> Coef ---R exp : % -> % if Coef has ALGEBRA FRAC INT ---R expressIdealMember : (List %,%) -> Union(List %,"failed") if Coef has FIELD +--R eval : (%,Coef) -> Stream(Coef) if Coef has **: (Coef,Integer) -> Coef +--R exp : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if Coef has FIELD --R exquo : (%,%) -> Union(%,"failed") if Coef has INTDOM --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if Coef has FIELD --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if Coef has FIELD ---R factor : % -> Factored % if Coef has FIELD +--R factor : % -> Factored(%) if Coef has FIELD --R gcd : (%,%) -> % if Coef has FIELD ---R gcd : List % -> % if Coef has FIELD ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if Coef has FIELD ---R integrate : (%,Symbol) -> % if Coef has ACFS INT and Coef has PRIMCAT and Coef has TRANFUN and Coef has ALGEBRA FRAC INT or Coef has variables: Coef -> List Symbol and Coef has integrate: (Coef,Symbol) -> Coef and Coef has ALGEBRA FRAC INT ---R integrate : % -> % if Coef has ALGEBRA FRAC INT +--R gcd : List(%) -> % if Coef has FIELD +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if Coef has FIELD +--R integrate : (%,Symbol) -> % if Coef has ACFS(INT) and Coef has PRIMCAT and Coef has TRANFUN and Coef has ALGEBRA(FRAC(INT)) or Coef has variables: Coef -> List(Symbol) and Coef has integrate: (Coef,Symbol) -> Coef and Coef has ALGEBRA(FRAC(INT)) +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) --R inv : % -> % if Coef has FIELD --R lcm : (%,%) -> % if Coef has FIELD ---R lcm : List % -> % if Coef has FIELD ---R log : % -> % if Coef has ALGEBRA FRAC INT ---R monomial : (%,List SingletonAsOrderedSet,List Integer) -> % +--R lcm : List(%) -> % if Coef has FIELD +--R log : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R monomial : (%,List(SingletonAsOrderedSet),List(Integer)) -> % --R monomial : (%,SingletonAsOrderedSet,Integer) -> % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") if Coef has FIELD +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if Coef has FIELD --R multiplyCoefficients : ((Integer -> Coef),%) -> % --R multiplyExponents : (%,PositiveInteger) -> % ---R nthRoot : (%,Integer) -> % if Coef has ALGEBRA FRAC INT ---R pi : () -> % if Coef has ALGEBRA FRAC INT +--R nthRoot : (%,Integer) -> % if Coef has ALGEBRA(FRAC(INT)) +--R pi : () -> % if Coef has ALGEBRA(FRAC(INT)) --R prime? : % -> Boolean if Coef has FIELD ---R principalIdeal : List % -> Record(coef: List %,generator: %) if Coef has FIELD +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if Coef has FIELD --R ?quo? : (%,%) -> % if Coef has FIELD ---R rationalFunction : (%,Integer,Integer) -> Fraction Polynomial Coef if Coef has INTDOM ---R rationalFunction : (%,Integer) -> Fraction Polynomial Coef if Coef has INTDOM +--R rationalFunction : (%,Integer,Integer) -> Fraction(Polynomial(Coef)) if Coef has INTDOM +--R rationalFunction : (%,Integer) -> Fraction(Polynomial(Coef)) if Coef has INTDOM --R ?rem? : (%,%) -> % if Coef has FIELD ---R sec : % -> % if Coef has ALGEBRA FRAC INT ---R sech : % -> % if Coef has ALGEBRA FRAC INT ---R series : Stream Record(k: Integer,c: Coef) -> % ---R sin : % -> % if Coef has ALGEBRA FRAC INT ---R sinh : % -> % if Coef has ALGEBRA FRAC INT +--R sec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R series : Stream(Record(k: Integer,c: Coef)) -> % +--R sin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sinh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R sizeLess? : (%,%) -> Boolean if Coef has FIELD ---R sqrt : % -> % if Coef has ALGEBRA FRAC INT ---R squareFree : % -> Factored % if Coef has FIELD +--R sqrt : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R squareFree : % -> Factored(%) if Coef has FIELD --R squareFreePart : % -> % if Coef has FIELD --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tan : % -> % if Coef has ALGEBRA FRAC INT ---R tanh : % -> % if Coef has ALGEBRA FRAC INT ---R terms : % -> Stream Record(k: Integer,c: Coef) +--R tan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R tanh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R terms : % -> Stream(Record(k: Integer,c: Coef)) --R truncate : (%,Integer,Integer) -> % --R unit? : % -> Boolean if Coef has INTDOM --R unitCanonical : % -> % if Coef has INTDOM --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if Coef has INTDOM ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -65964,7 +66122,8 @@ digraph pic { --S 1 of 1 )show UnivariatePuiseuxSeriesCategory ---R UnivariatePuiseuxSeriesCategory Coef: Ring is a category constructor +--R +--R UnivariatePuiseuxSeriesCategory(Coef: Ring) is a category constructor --R Abbreviation for UnivariatePuiseuxSeriesCategory is UPXSCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for UPXSCAT @@ -65978,117 +66137,117 @@ digraph pic { --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> Coef --R coerce : Integer -> % coerce : % -> OutputForm ---R complete : % -> % degree : % -> Fraction Integer +--R complete : % -> % degree : % -> Fraction(Integer) --R hash : % -> SingleInteger latex : % -> String --R leadingCoefficient : % -> Coef leadingMonomial : % -> % --R map : ((Coef -> Coef),%) -> % monomial? : % -> Boolean ---R one? : % -> Boolean order : % -> Fraction Integer +--R one? : % -> Boolean order : % -> Fraction(Integer) --R pole? : % -> Boolean recip : % -> Union(%,"failed") --R reductum : % -> % sample : () -> % --R variable : % -> Symbol zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?*? : (Fraction Integer,%) -> % if Coef has ALGEBRA FRAC INT +--R ?*? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?*? : (Fraction(Integer),%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?*? : (NonNegativeInteger,%) -> % ---R ?**? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?**? : (%,%) -> % if Coef has ALGEBRA FRAC INT +--R ?**? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?**? : (%,%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?**? : (%,Integer) -> % if Coef has FIELD --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,%) -> % if Coef has FIELD --R ?/? : (%,Coef) -> % if Coef has FIELD ---R D : % -> % if Coef has *: (Fraction Integer,Coef) -> Coef ---R D : (%,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef ---R D : (%,Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R D : (%,List Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef +--R D : % -> % if Coef has *: (Fraction(Integer),Coef) -> Coef +--R D : (%,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef +--R D : (%,Symbol) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R D : (%,List(Symbol)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef --R ?^? : (%,Integer) -> % if Coef has FIELD --R ?^? : (%,NonNegativeInteger) -> % ---R acos : % -> % if Coef has ALGEBRA FRAC INT ---R acosh : % -> % if Coef has ALGEBRA FRAC INT ---R acot : % -> % if Coef has ALGEBRA FRAC INT ---R acoth : % -> % if Coef has ALGEBRA FRAC INT ---R acsc : % -> % if Coef has ALGEBRA FRAC INT ---R acsch : % -> % if Coef has ALGEBRA FRAC INT ---R approximate : (%,Fraction Integer) -> Coef if Coef has **: (Coef,Fraction Integer) -> Coef and Coef has coerce: Symbol -> Coef ---R asec : % -> % if Coef has ALGEBRA FRAC INT ---R asech : % -> % if Coef has ALGEBRA FRAC INT ---R asin : % -> % if Coef has ALGEBRA FRAC INT ---R asinh : % -> % if Coef has ALGEBRA FRAC INT +--R acos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acoth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsch : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R approximate : (%,Fraction(Integer)) -> Coef if Coef has **: (Coef,Fraction(Integer)) -> Coef and Coef has coerce: Symbol -> Coef +--R asec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asinh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R associates? : (%,%) -> Boolean if Coef has INTDOM ---R atan : % -> % if Coef has ALGEBRA FRAC INT ---R atanh : % -> % if Coef has ALGEBRA FRAC INT +--R atan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R atanh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if Coef has CHARNZ ---R coefficient : (%,Fraction Integer) -> Coef +--R coefficient : (%,Fraction(Integer)) -> Coef --R coerce : % -> % if Coef has INTDOM ---R coerce : Fraction Integer -> % if Coef has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R coerce : Coef -> % if Coef has COMRING ---R cos : % -> % if Coef has ALGEBRA FRAC INT ---R cosh : % -> % if Coef has ALGEBRA FRAC INT ---R cot : % -> % if Coef has ALGEBRA FRAC INT ---R coth : % -> % if Coef has ALGEBRA FRAC INT ---R csc : % -> % if Coef has ALGEBRA FRAC INT ---R csch : % -> % if Coef has ALGEBRA FRAC INT ---R differentiate : % -> % if Coef has *: (Fraction Integer,Coef) -> Coef ---R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef ---R differentiate : (%,Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R differentiate : (%,List Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef +--R cos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R coth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csch : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R differentiate : % -> % if Coef has *: (Fraction(Integer),Coef) -> Coef +--R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef +--R differentiate : (%,Symbol) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R differentiate : (%,List(Symbol)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef --R divide : (%,%) -> Record(quotient: %,remainder: %) if Coef has FIELD ---R ?.? : (%,%) -> % if Fraction Integer has SGROUP ---R ?.? : (%,Fraction Integer) -> Coef +--R ?.? : (%,%) -> % if Fraction(Integer) has SGROUP +--R ?.? : (%,Fraction(Integer)) -> Coef --R euclideanSize : % -> NonNegativeInteger if Coef has FIELD ---R eval : (%,Coef) -> Stream Coef if Coef has **: (Coef,Fraction Integer) -> Coef ---R exp : % -> % if Coef has ALGEBRA FRAC INT ---R expressIdealMember : (List %,%) -> Union(List %,"failed") if Coef has FIELD +--R eval : (%,Coef) -> Stream(Coef) if Coef has **: (Coef,Fraction(Integer)) -> Coef +--R exp : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if Coef has FIELD --R exquo : (%,%) -> Union(%,"failed") if Coef has INTDOM ---R extend : (%,Fraction Integer) -> % +--R extend : (%,Fraction(Integer)) -> % --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if Coef has FIELD --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if Coef has FIELD ---R factor : % -> Factored % if Coef has FIELD +--R factor : % -> Factored(%) if Coef has FIELD --R gcd : (%,%) -> % if Coef has FIELD ---R gcd : List % -> % if Coef has FIELD ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if Coef has FIELD ---R integrate : (%,Symbol) -> % if Coef has ACFS INT and Coef has PRIMCAT and Coef has TRANFUN and Coef has ALGEBRA FRAC INT or Coef has variables: Coef -> List Symbol and Coef has integrate: (Coef,Symbol) -> Coef and Coef has ALGEBRA FRAC INT ---R integrate : % -> % if Coef has ALGEBRA FRAC INT +--R gcd : List(%) -> % if Coef has FIELD +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if Coef has FIELD +--R integrate : (%,Symbol) -> % if Coef has ACFS(INT) and Coef has PRIMCAT and Coef has TRANFUN and Coef has ALGEBRA(FRAC(INT)) or Coef has variables: Coef -> List(Symbol) and Coef has integrate: (Coef,Symbol) -> Coef and Coef has ALGEBRA(FRAC(INT)) +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) --R inv : % -> % if Coef has FIELD --R lcm : (%,%) -> % if Coef has FIELD ---R lcm : List % -> % if Coef has FIELD ---R log : % -> % if Coef has ALGEBRA FRAC INT ---R monomial : (%,List SingletonAsOrderedSet,List Fraction Integer) -> % ---R monomial : (%,SingletonAsOrderedSet,Fraction Integer) -> % ---R monomial : (Coef,Fraction Integer) -> % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") if Coef has FIELD ---R multiplyExponents : (%,Fraction Integer) -> % +--R lcm : List(%) -> % if Coef has FIELD +--R log : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R monomial : (%,List(SingletonAsOrderedSet),List(Fraction(Integer))) -> % +--R monomial : (%,SingletonAsOrderedSet,Fraction(Integer)) -> % +--R monomial : (Coef,Fraction(Integer)) -> % +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if Coef has FIELD +--R multiplyExponents : (%,Fraction(Integer)) -> % --R multiplyExponents : (%,PositiveInteger) -> % ---R nthRoot : (%,Integer) -> % if Coef has ALGEBRA FRAC INT ---R order : (%,Fraction Integer) -> Fraction Integer ---R pi : () -> % if Coef has ALGEBRA FRAC INT +--R nthRoot : (%,Integer) -> % if Coef has ALGEBRA(FRAC(INT)) +--R order : (%,Fraction(Integer)) -> Fraction(Integer) +--R pi : () -> % if Coef has ALGEBRA(FRAC(INT)) --R prime? : % -> Boolean if Coef has FIELD ---R principalIdeal : List % -> Record(coef: List %,generator: %) if Coef has FIELD +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if Coef has FIELD --R ?quo? : (%,%) -> % if Coef has FIELD --R ?rem? : (%,%) -> % if Coef has FIELD ---R sec : % -> % if Coef has ALGEBRA FRAC INT ---R sech : % -> % if Coef has ALGEBRA FRAC INT ---R series : (NonNegativeInteger,Stream Record(k: Fraction Integer,c: Coef)) -> % ---R sin : % -> % if Coef has ALGEBRA FRAC INT ---R sinh : % -> % if Coef has ALGEBRA FRAC INT +--R sec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R series : (NonNegativeInteger,Stream(Record(k: Fraction(Integer),c: Coef))) -> % +--R sin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sinh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R sizeLess? : (%,%) -> Boolean if Coef has FIELD ---R sqrt : % -> % if Coef has ALGEBRA FRAC INT ---R squareFree : % -> Factored % if Coef has FIELD +--R sqrt : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R squareFree : % -> Factored(%) if Coef has FIELD --R squareFreePart : % -> % if Coef has FIELD --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tan : % -> % if Coef has ALGEBRA FRAC INT ---R tanh : % -> % if Coef has ALGEBRA FRAC INT ---R terms : % -> Stream Record(k: Fraction Integer,c: Coef) ---R truncate : (%,Fraction Integer,Fraction Integer) -> % ---R truncate : (%,Fraction Integer) -> % +--R tan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R tanh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R terms : % -> Stream(Record(k: Fraction(Integer),c: Coef)) +--R truncate : (%,Fraction(Integer),Fraction(Integer)) -> % +--R truncate : (%,Fraction(Integer)) -> % --R unit? : % -> Boolean if Coef has INTDOM --R unitCanonical : % -> % if Coef has INTDOM --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if Coef has INTDOM ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -66580,7 +66739,8 @@ digraph pic { --S 1 of 1 )show UnivariatePolynomialCategory ---R UnivariatePolynomialCategory R: Ring is a category constructor +--R +--R UnivariatePolynomialCategory(R: Ring) is a category constructor --R Abbreviation for UnivariatePolynomialCategory is UPOLYC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for UPOLYC @@ -66594,24 +66754,22 @@ digraph pic { --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 @@ -66620,141 +66778,144 @@ digraph pic { --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 and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) 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 RETRACT FRAC INT or R has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) or R has ALGEBRA(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 and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if and(has($,CharacteristicNonZero),has(R,PolynomialFactorizationExplicit)) --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 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(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 @@ -67767,172 +67928,176 @@ digraph pic { --S 1 of 1 )show AlgebraicallyClosedFunctionSpace ---R AlgebraicallyClosedFunctionSpace R: Join(OrderedSet,IntegralDomain) is a category constructor +--R +--R AlgebraicallyClosedFunctionSpace(R: Join(OrderedSet,IntegralDomain)) is a category constructor --R Abbreviation for AlgebraicallyClosedFunctionSpace is ACFS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for ACFS --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % ---R ?*? : (PositiveInteger,%) -> % ?**? : (%,Fraction Integer) -> % ---R ?**? : (%,Integer) -> % ?**? : (%,PositiveInteger) -> % ---R ?+? : (%,%) -> % ?-? : (%,%) -> % ---R -? : % -> % ?/? : (%,%) -> % ---R ? Boolean ?<=? : (%,%) -> Boolean ---R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean ---R ?>=? : (%,%) -> Boolean 1 : () -> % ---R 0 : () -> % ?^? : (%,Integer) -> % ---R ?^? : (%,PositiveInteger) -> % applyQuote : (Symbol,%) -> % ---R applyQuote : (Symbol,%,%) -> % associates? : (%,%) -> Boolean ---R belong? : BasicOperator -> Boolean box : % -> % ---R box : List % -> % coerce : Kernel % -> % ---R coerce : Symbol -> % coerce : R -> % ---R coerce : Fraction Integer -> % coerce : % -> % ---R coerce : Integer -> % coerce : % -> OutputForm ---R distribute : % -> % distribute : (%,%) -> % ---R elt : (BasicOperator,%) -> % elt : (BasicOperator,%,%) -> % ---R eval : (%,Kernel %,%) -> % eval : (%,List Equation %) -> % ---R eval : (%,Equation %) -> % eval : (%,%,%) -> % ---R eval : (%,List %,List %) -> % factor : % -> Factored % ---R freeOf? : (%,%) -> Boolean freeOf? : (%,Symbol) -> Boolean ---R gcd : List % -> % gcd : (%,%) -> % ---R ground : % -> R ground? : % -> Boolean ---R hash : % -> SingleInteger height : % -> NonNegativeInteger ---R inv : % -> % is? : (%,Symbol) -> Boolean ---R kernel : (BasicOperator,%) -> % kernels : % -> List Kernel % ---R latex : % -> String lcm : List % -> % ---R lcm : (%,%) -> % map : ((% -> %),Kernel %) -> % +--R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % +--R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % +--R ?-? : (%,%) -> % -? : % -> % +--R ?/? : (%,%) -> % ? Boolean +--R ?<=? : (%,%) -> Boolean ?=? : (%,%) -> Boolean +--R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean +--R 1 : () -> % 0 : () -> % +--R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % +--R applyQuote : (Symbol,%) -> % applyQuote : (Symbol,%,%) -> % +--R associates? : (%,%) -> Boolean belong? : BasicOperator -> Boolean +--R box : % -> % box : List(%) -> % +--R coerce : Kernel(%) -> % coerce : Symbol -> % +--R coerce : R -> % coerce : Fraction(Integer) -> % +--R coerce : % -> % coerce : Integer -> % +--R coerce : % -> OutputForm distribute : % -> % +--R distribute : (%,%) -> % elt : (BasicOperator,%) -> % +--R elt : (BasicOperator,%,%) -> % eval : (%,Kernel(%),%) -> % +--R eval : (%,Equation(%)) -> % eval : (%,%,%) -> % +--R factor : % -> Factored(%) freeOf? : (%,%) -> Boolean +--R freeOf? : (%,Symbol) -> Boolean gcd : List(%) -> % +--R gcd : (%,%) -> % ground : % -> R +--R ground? : % -> Boolean hash : % -> SingleInteger +--R height : % -> NonNegativeInteger inv : % -> % +--R is? : (%,Symbol) -> Boolean kernel : (BasicOperator,%) -> % +--R kernels : % -> List(Kernel(%)) latex : % -> String +--R lcm : List(%) -> % lcm : (%,%) -> % --R max : (%,%) -> % min : (%,%) -> % --R nthRoot : (%,Integer) -> % one? : % -> Boolean ---R paren : % -> % paren : List % -> % +--R paren : % -> % paren : List(%) -> % --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R retract : % -> Kernel % retract : % -> Symbol +--R retract : % -> Kernel(%) retract : % -> Symbol --R retract : % -> R rootOf : (%,Symbol) -> % ---R rootOf : % -> % rootOf : Polynomial % -> % ---R rootsOf : (%,Symbol) -> List % rootsOf : % -> List % ---R rootsOf : Polynomial % -> List % sample : () -> % ---R sizeLess? : (%,%) -> Boolean sqrt : % -> % ---R squareFree : % -> Factored % squareFreePart : % -> % ---R subst : (%,Equation %) -> % tower : % -> List Kernel % ---R unit? : % -> Boolean unitCanonical : % -> % ---R variables : % -> List Symbol zero? : % -> Boolean ---R zeroOf : (%,Symbol) -> % zeroOf : % -> % ---R zeroOf : Polynomial % -> % zerosOf : (%,Symbol) -> List % ---R zerosOf : % -> List % zerosOf : Polynomial % -> List % +--R rootOf : % -> % rootOf : Polynomial(%) -> % +--R rootsOf : (%,Symbol) -> List(%) rootsOf : % -> List(%) +--R sample : () -> % sizeLess? : (%,%) -> Boolean +--R sqrt : % -> % squareFree : % -> Factored(%) +--R squareFreePart : % -> % subst : (%,Equation(%)) -> % +--R tower : % -> List(Kernel(%)) unit? : % -> Boolean +--R unitCanonical : % -> % variables : % -> List(Symbol) +--R zero? : % -> Boolean zeroOf : (%,Symbol) -> % +--R zeroOf : % -> % zeroOf : Polynomial(%) -> % +--R zerosOf : (%,Symbol) -> List(%) zerosOf : % -> List(%) --R ?~=? : (%,%) -> Boolean --R ?*? : (R,%) -> % if R has COMRING --R ?*? : (%,R) -> % if R has COMRING --R ?*? : (NonNegativeInteger,%) -> % +--R ?**? : (%,Fraction(Integer)) -> % --R ?**? : (%,NonNegativeInteger) -> % ---R ?/? : (SparseMultivariatePolynomial(R,Kernel %),SparseMultivariatePolynomial(R,Kernel %)) -> % if R has INTDOM ---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has RING +--R ?/? : (SparseMultivariatePolynomial(R,Kernel(%)),SparseMultivariatePolynomial(R,Kernel(%))) -> % if R has INTDOM +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has RING --R D : (%,Symbol,NonNegativeInteger) -> % if R has RING ---R D : (%,List Symbol) -> % if R has RING +--R D : (%,List(Symbol)) -> % if R has RING --R D : (%,Symbol) -> % if R has RING --R ?^? : (%,NonNegativeInteger) -> % --R applyQuote : (Symbol,%,%,%) -> % --R applyQuote : (Symbol,%,%,%,%) -> % ---R applyQuote : (Symbol,List %) -> % +--R applyQuote : (Symbol,List(%)) -> % --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if R has CHARNZ ---R coerce : SparseMultivariatePolynomial(R,Kernel %) -> % if R has RING ---R coerce : Fraction R -> % if R has INTDOM ---R coerce : Polynomial Fraction R -> % if R has INTDOM ---R coerce : Fraction Polynomial Fraction R -> % if R has INTDOM ---R coerce : Fraction Polynomial R -> % if R has INTDOM ---R coerce : Polynomial R -> % if R has RING +--R coerce : SparseMultivariatePolynomial(R,Kernel(%)) -> % if R has RING +--R coerce : Fraction(R) -> % if R has INTDOM +--R coerce : Polynomial(Fraction(R)) -> % if R has INTDOM +--R coerce : Fraction(Polynomial(Fraction(R))) -> % if R has INTDOM +--R coerce : Fraction(Polynomial(R)) -> % if R has INTDOM +--R coerce : Polynomial(R) -> % if R has RING --R commutator : (%,%) -> % if R has GROUP --R conjugate : (%,%) -> % if R has GROUP ---R convert : % -> Pattern Integer if R has KONVERT PATTERN INT ---R convert : % -> Pattern Float if R has KONVERT PATTERN FLOAT ---R convert : Factored % -> % if R has INTDOM ---R convert : % -> InputForm if R has KONVERT INFORM +--R convert : % -> Pattern(Integer) if R has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if R has KONVERT(PATTERN(FLOAT)) +--R convert : Factored(%) -> % if R has INTDOM +--R convert : % -> InputForm if R has KONVERT(INFORM) --R definingPolynomial : % -> % if $ has RING ---R denom : % -> SparseMultivariatePolynomial(R,Kernel %) if R has INTDOM +--R denom : % -> SparseMultivariatePolynomial(R,Kernel(%)) if R has INTDOM --R denominator : % -> % if R has INTDOM ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if R has RING +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has RING --R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has RING ---R differentiate : (%,List Symbol) -> % if R has RING +--R differentiate : (%,List(Symbol)) -> % if R has RING --R differentiate : (%,Symbol) -> % if R has RING --R divide : (%,%) -> Record(quotient: %,remainder: %) --R elt : (BasicOperator,%,%,%) -> % --R elt : (BasicOperator,%,%,%,%) -> % ---R elt : (BasicOperator,List %) -> % +--R elt : (BasicOperator,List(%)) -> % --R euclideanSize : % -> NonNegativeInteger ---R eval : (%,List Kernel %,List %) -> % ---R eval : (%,List Symbol,List (% -> %)) -> % ---R eval : (%,List Symbol,List (List % -> %)) -> % ---R eval : (%,Symbol,(List % -> %)) -> % +--R eval : (%,List(Kernel(%)),List(%)) -> % +--R eval : (%,List(Equation(%))) -> % +--R eval : (%,List(%),List(%)) -> % +--R eval : (%,List(Symbol),List((% -> %))) -> % +--R eval : (%,List(Symbol),List((List(%) -> %))) -> % +--R eval : (%,Symbol,(List(%) -> %)) -> % --R eval : (%,Symbol,(% -> %)) -> % ---R eval : (%,List BasicOperator,List (% -> %)) -> % ---R eval : (%,List BasicOperator,List (List % -> %)) -> % ---R eval : (%,BasicOperator,(List % -> %)) -> % +--R eval : (%,List(BasicOperator),List((% -> %))) -> % +--R eval : (%,List(BasicOperator),List((List(%) -> %))) -> % +--R eval : (%,BasicOperator,(List(%) -> %)) -> % --R eval : (%,BasicOperator,(% -> %)) -> % ---R eval : (%,Symbol) -> % if R has KONVERT INFORM ---R eval : (%,List Symbol) -> % if R has KONVERT INFORM ---R eval : % -> % if R has KONVERT INFORM ---R eval : (%,BasicOperator,%,Symbol) -> % if R has KONVERT INFORM ---R eval : (%,List BasicOperator,List %,Symbol) -> % if R has KONVERT INFORM ---R eval : (%,List Symbol,List NonNegativeInteger,List (% -> %)) -> % if R has RING ---R eval : (%,List Symbol,List NonNegativeInteger,List (List % -> %)) -> % if R has RING ---R eval : (%,Symbol,NonNegativeInteger,(List % -> %)) -> % if R has RING +--R eval : (%,Symbol) -> % if R has KONVERT(INFORM) +--R eval : (%,List(Symbol)) -> % if R has KONVERT(INFORM) +--R eval : % -> % if R has KONVERT(INFORM) +--R eval : (%,BasicOperator,%,Symbol) -> % if R has KONVERT(INFORM) +--R eval : (%,List(BasicOperator),List(%),Symbol) -> % if R has KONVERT(INFORM) +--R eval : (%,List(Symbol),List(NonNegativeInteger),List((% -> %))) -> % if R has RING +--R eval : (%,List(Symbol),List(NonNegativeInteger),List((List(%) -> %))) -> % if R has RING +--R eval : (%,Symbol,NonNegativeInteger,(List(%) -> %)) -> % if R has RING --R eval : (%,Symbol,NonNegativeInteger,(% -> %)) -> % if R has RING ---R even? : % -> Boolean if $ has RETRACT INT ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R even? : % -> Boolean if $ has RETRACT(INT) +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R is? : (%,BasicOperator) -> Boolean ---R isExpt : % -> Union(Record(var: Kernel %,exponent: Integer),"failed") if R has SGROUP ---R isExpt : (%,BasicOperator) -> Union(Record(var: Kernel %,exponent: Integer),"failed") if R has RING ---R isExpt : (%,Symbol) -> Union(Record(var: Kernel %,exponent: Integer),"failed") if R has RING ---R isMult : % -> Union(Record(coef: Integer,var: Kernel %),"failed") if R has ABELSG ---R isPlus : % -> Union(List %,"failed") if R has ABELSG +--R isExpt : % -> Union(Record(var: Kernel(%),exponent: Integer),"failed") if R has SGROUP +--R isExpt : (%,BasicOperator) -> Union(Record(var: Kernel(%),exponent: Integer),"failed") if R has RING +--R isExpt : (%,Symbol) -> Union(Record(var: Kernel(%),exponent: Integer),"failed") if R has RING +--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 mainKernel : % -> Union(Kernel %,"failed") ---R minPoly : Kernel % -> SparseUnivariatePolynomial % if $ has RING ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R numer : % -> SparseMultivariatePolynomial(R,Kernel %) if R has RING +--R isTimes : % -> Union(List(%),"failed") if R has SGROUP +--R kernel : (BasicOperator,List(%)) -> % +--R mainKernel : % -> Union(Kernel(%),"failed") +--R map : ((% -> %),Kernel(%)) -> % +--R minPoly : Kernel(%) -> SparseUnivariatePolynomial(%) if $ has RING +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R numer : % -> SparseMultivariatePolynomial(R,Kernel(%)) if R has RING --R numerator : % -> % if R has RING ---R odd? : % -> Boolean if $ has RETRACT INT +--R odd? : % -> Boolean if $ has RETRACT(INT) --R operator : BasicOperator -> BasicOperator ---R operators : % -> List BasicOperator ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if R has PATMAB INT ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB FLOAT ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R reducedSystem : Matrix % -> Matrix Integer if and(has(R,Ring),has(R,LinearlyExplicitRingOver Integer)) or and(has(R,LinearlyExplicitRingOver Integer),has(R,Ring)) ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if and(has(R,Ring),has(R,LinearlyExplicitRingOver Integer)) or and(has(R,LinearlyExplicitRingOver Integer),has(R,Ring)) ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix R,vec: Vector R) if R has RING ---R reducedSystem : Matrix % -> Matrix R if R has RING ---R retract : % -> Fraction Integer if R has RETRACT INT and R has INTDOM or R has RETRACT FRAC INT ---R retract : % -> Integer if R has RETRACT INT ---R retract : % -> Fraction Polynomial R if R has INTDOM ---R retract : % -> Polynomial R if R has RING ---R retractIfCan : % -> Union(Fraction Integer,"failed") if R has RETRACT INT and R has INTDOM or R has RETRACT FRAC INT ---R retractIfCan : % -> Union(Kernel %,"failed") +--R operators : % -> List(BasicOperator) +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if R has PATMAB(INT) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB(FLOAT) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R reducedSystem : Matrix(%) -> Matrix(Integer) if and(has(R,Ring),has(R,LinearlyExplicitRingOver(Integer))) or and(has(R,LinearlyExplicitRingOver(Integer)),has(R,Ring)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if and(has(R,Ring),has(R,LinearlyExplicitRingOver(Integer))) or and(has(R,LinearlyExplicitRingOver(Integer)),has(R,Ring)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(R),vec: Vector(R)) if R has RING +--R reducedSystem : Matrix(%) -> Matrix(R) if R has RING +--R retract : % -> Fraction(Integer) if R has RETRACT(INT) and R has INTDOM or R has RETRACT(FRAC(INT)) +--R retract : % -> Integer if R has RETRACT(INT) +--R retract : % -> Fraction(Polynomial(R)) if R has INTDOM +--R retract : % -> Polynomial(R) if R has RING +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has RETRACT(INT) and R has INTDOM or R has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(Kernel(%),"failed") --R retractIfCan : % -> Union(Symbol,"failed") ---R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT INT +--R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT(INT) --R retractIfCan : % -> Union(R,"failed") ---R retractIfCan : % -> Union(Fraction Polynomial R,"failed") if R has INTDOM ---R retractIfCan : % -> Union(Polynomial R,"failed") if R has RING ---R rootOf : (SparseUnivariatePolynomial %,Symbol) -> % ---R rootOf : SparseUnivariatePolynomial % -> % ---R rootsOf : (SparseUnivariatePolynomial %,Symbol) -> List % ---R rootsOf : SparseUnivariatePolynomial % -> List % ---R subst : (%,List Equation %) -> % ---R subst : (%,List Kernel %,List %) -> % +--R retractIfCan : % -> Union(Fraction(Polynomial(R)),"failed") if R has INTDOM +--R retractIfCan : % -> Union(Polynomial(R),"failed") if R has RING +--R rootOf : (SparseUnivariatePolynomial(%),Symbol) -> % +--R rootOf : SparseUnivariatePolynomial(%) -> % +--R rootsOf : (SparseUnivariatePolynomial(%),Symbol) -> List(%) +--R rootsOf : SparseUnivariatePolynomial(%) -> List(%) +--R rootsOf : Polynomial(%) -> List(%) +--R subst : (%,List(Equation(%))) -> % +--R subst : (%,List(Kernel(%)),List(%)) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) ---R univariate : (%,Kernel %) -> Fraction SparseUnivariatePolynomial % if R has INTDOM ---R zeroOf : (SparseUnivariatePolynomial %,Symbol) -> % ---R zeroOf : SparseUnivariatePolynomial % -> % ---R zerosOf : (SparseUnivariatePolynomial %,Symbol) -> List % ---R zerosOf : SparseUnivariatePolynomial % -> List % +--R univariate : (%,Kernel(%)) -> Fraction(SparseUnivariatePolynomial(%)) if R has INTDOM +--R zeroOf : (SparseUnivariatePolynomial(%),Symbol) -> % +--R zeroOf : SparseUnivariatePolynomial(%) -> % +--R zerosOf : (SparseUnivariatePolynomial(%),Symbol) -> List(%) +--R zerosOf : SparseUnivariatePolynomial(%) -> List(%) +--R zerosOf : Polynomial(%) -> List(%) --R --E 1 @@ -68536,14 +68701,15 @@ digraph pic { --S 1 of 1 )show ExtensionField ---R ExtensionField F: Field is a category constructor +--R +--R ExtensionField(F: Field) is a category constructor --R Abbreviation for ExtensionField is XF --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for XF --R --R------------------------------- Operations -------------------------------- --R ?*? : (F,%) -> % ?*? : (%,F) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -68553,18 +68719,18 @@ digraph pic { --R 0 : () -> % ?^? : (%,Integer) -> % --R ?^? : (%,PositiveInteger) -> % algebraic? : % -> Boolean --R associates? : (%,%) -> Boolean coerce : F -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R dimension : () -> CardinalNumber factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R dimension : () -> CardinalNumber factor : % -> Factored(%) +--R gcd : List(%) -> % gcd : (%,%) -> % --R hash : % -> SingleInteger inGroundField? : % -> Boolean --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R one? : % -> Boolean prime? : % -> Boolean --R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") --R ?rem? : (%,%) -> % retract : % -> F --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R transcendent? : % -> Boolean unit? : % -> Boolean --R unitCanonical : % -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean @@ -68575,21 +68741,21 @@ digraph pic { --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if F has CHARNZ or F has FINITE ---R degree : % -> OnePointCompletion PositiveInteger +--R degree : % -> OnePointCompletion(PositiveInteger) --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if F has CHARNZ or F has FINITE --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R extensionDegree : () -> OnePointCompletion PositiveInteger ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R order : % -> OnePointCompletion PositiveInteger if F has CHARNZ or F has FINITE +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R order : % -> OnePointCompletion(PositiveInteger) if F has CHARNZ or F has FINITE --R primeFrobenius : % -> % if F has CHARNZ or F has FINITE --R primeFrobenius : (%,NonNegativeInteger) -> % if F has CHARNZ or F has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R retractIfCan : % -> Union(F,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") --R transcendenceDegree : () -> NonNegativeInteger @@ -68946,13 +69112,14 @@ digraph pic { --S 1 of 1 )show FiniteFieldCategory +--R --R FiniteFieldCategory is a category constructor --R Abbreviation for FiniteFieldCategory is FFIELDC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FFIELDC --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -68962,14 +69129,14 @@ digraph pic { --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R associates? : (%,%) -> Boolean charthRoot : % -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm --R createPrimitiveElement : () -> % differentiate : % -> % ---R factor : % -> Factored % gcd : List % -> % +--R factor : % -> Factored(%) gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger --R index : PositiveInteger -> % init : () -> % --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R lookup : % -> PositiveInteger one? : % -> Boolean --R order : % -> PositiveInteger prime? : % -> Boolean --R primeFrobenius : % -> % primitive? : % -> Boolean @@ -68977,7 +69144,7 @@ digraph pic { --R random : () -> % recip : % -> Union(%,"failed") --R ?rem? : (%,%) -> % sample : () -> % --R size : () -> NonNegativeInteger sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % @@ -68985,23 +69152,23 @@ digraph pic { --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") ---R conditionP : Matrix % -> Union(Vector %,"failed") +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") --R differentiate : (%,NonNegativeInteger) -> % --R discreteLog : % -> NonNegativeInteger --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R factorsOfCyclicGroupSize : () -> List Record(factor: Integer,exponent: Integer) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R nextItem : % -> Union(%,"failed") ---R order : % -> OnePointCompletion PositiveInteger +--R order : % -> OnePointCompletion(PositiveInteger) --R primeFrobenius : (%,NonNegativeInteger) -> % ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R representationType : () -> Union("prime",polynomial,normal,cyclic) --R subtractIfCan : (%,%) -> Union(%,"failed") --R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) @@ -69533,52 +69700,53 @@ digraph pic { --S 1 of 1 )show FloatingPointSystem +--R --R FloatingPointSystem is a category constructor --R Abbreviation for FloatingPointSystem is FPS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FPS --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % ---R ?*? : (PositiveInteger,%) -> % ?**? : (%,Fraction Integer) -> % ---R ?**? : (%,Integer) -> % ?**? : (%,PositiveInteger) -> % ---R ?+? : (%,%) -> % ?-? : (%,%) -> % ---R -? : % -> % ?/? : (%,%) -> % ---R ? Boolean ?<=? : (%,%) -> Boolean ---R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean ---R ?>=? : (%,%) -> Boolean 1 : () -> % ---R 0 : () -> % ?^? : (%,Integer) -> % ---R ?^? : (%,PositiveInteger) -> % abs : % -> % ---R associates? : (%,%) -> Boolean base : () -> PositiveInteger ---R bits : () -> PositiveInteger ceiling : % -> % ---R coerce : Fraction Integer -> % coerce : Integer -> % ---R coerce : Fraction Integer -> % coerce : % -> % ---R coerce : Integer -> % coerce : % -> OutputForm ---R convert : % -> Pattern Float convert : % -> DoubleFloat ---R convert : % -> Float digits : () -> PositiveInteger ---R exponent : % -> Integer factor : % -> Factored % ---R float : (Integer,Integer) -> % floor : % -> % ---R fractionPart : % -> % gcd : List % -> % ---R gcd : (%,%) -> % hash : % -> SingleInteger ---R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % ---R mantissa : % -> Integer max : (%,%) -> % ---R min : (%,%) -> % negative? : % -> Boolean ---R norm : % -> % nthRoot : (%,Integer) -> % ---R one? : % -> Boolean order : % -> Integer ---R positive? : % -> Boolean precision : () -> PositiveInteger ---R prime? : % -> Boolean ?quo? : (%,%) -> % ---R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R retract : % -> Fraction Integer retract : % -> Integer ---R round : % -> % sample : () -> % ---R sign : % -> Integer sizeLess? : (%,%) -> Boolean ---R sqrt : % -> % squareFree : % -> Factored % ---R squareFreePart : % -> % truncate : % -> % ---R unit? : % -> Boolean unitCanonical : % -> % ---R wholePart : % -> Integer zero? : % -> Boolean ---R ?~=? : (%,%) -> Boolean +--R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % +--R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % +--R ?-? : (%,%) -> % -? : % -> % +--R ?/? : (%,%) -> % ? Boolean +--R ?<=? : (%,%) -> Boolean ?=? : (%,%) -> Boolean +--R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean +--R 1 : () -> % 0 : () -> % +--R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % +--R abs : % -> % associates? : (%,%) -> Boolean +--R base : () -> PositiveInteger bits : () -> PositiveInteger +--R ceiling : % -> % coerce : Fraction(Integer) -> % +--R coerce : Integer -> % coerce : Fraction(Integer) -> % +--R coerce : % -> % coerce : Integer -> % +--R coerce : % -> OutputForm convert : % -> Pattern(Float) +--R convert : % -> DoubleFloat convert : % -> Float +--R digits : () -> PositiveInteger exponent : % -> Integer +--R factor : % -> Factored(%) float : (Integer,Integer) -> % +--R floor : % -> % fractionPart : % -> % +--R gcd : List(%) -> % gcd : (%,%) -> % +--R hash : % -> SingleInteger inv : % -> % +--R latex : % -> String lcm : List(%) -> % +--R lcm : (%,%) -> % mantissa : % -> Integer +--R max : (%,%) -> % min : (%,%) -> % +--R negative? : % -> Boolean norm : % -> % +--R nthRoot : (%,Integer) -> % one? : % -> Boolean +--R order : % -> Integer positive? : % -> Boolean +--R precision : () -> PositiveInteger prime? : % -> Boolean +--R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") +--R ?rem? : (%,%) -> % retract : % -> Fraction(Integer) +--R retract : % -> Integer round : % -> % +--R sample : () -> % sign : % -> Integer +--R sizeLess? : (%,%) -> Boolean sqrt : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % +--R truncate : % -> % unit? : % -> Boolean +--R unitCanonical : % -> % wholePart : % -> Integer +--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % +--R ?**? : (%,Fraction(Integer)) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R bits : PositiveInteger -> PositiveInteger if $ has arbitraryPrecision @@ -69587,20 +69755,20 @@ digraph pic { --R digits : PositiveInteger -> PositiveInteger if $ has arbitraryPrecision --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) --R float : (Integer,Integer,PositiveInteger) -> % ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R increasePrecision : Integer -> PositiveInteger if $ has arbitraryPrecision ---R max : () -> % if not has($,arbitraryPrecision) and not has($,arbitraryExponent) ---R min : () -> % if not has($,arbitraryPrecision) and not has($,arbitraryExponent) ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) +--R max : () -> % if not(has($,arbitraryPrecision)) and not(has($,arbitraryExponent)) +--R min : () -> % if not(has($,arbitraryPrecision)) and not(has($,arbitraryExponent)) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) --R precision : PositiveInteger -> PositiveInteger if $ has arbitraryPrecision ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R retractIfCan : % -> Union(Fraction Integer,"failed") +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") --R retractIfCan : % -> Union(Integer,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) @@ -70010,7 +70178,8 @@ digraph pic { --S 1 of 1 )show FramedAlgebra ---R FramedAlgebra(R: CommutativeRing,UP: UnivariatePolynomialCategory t#1) is a category constructor +--R +--R FramedAlgebra(R: CommutativeRing,UP: UnivariatePolynomialCategory(t#1)) is a category constructor --R Abbreviation for FramedAlgebra is FRAMALG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FRAMALG @@ -70022,16 +70191,16 @@ digraph pic { --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % ---R ?^? : (%,PositiveInteger) -> % basis : () -> Vector % +--R ?^? : (%,PositiveInteger) -> % basis : () -> Vector(%) --R coerce : R -> % coerce : Integer -> % ---R coerce : % -> OutputForm convert : Vector R -> % ---R convert : % -> Vector R coordinates : % -> Vector R ---R discriminant : () -> R discriminant : Vector % -> R +--R coerce : % -> OutputForm convert : Vector(R) -> % +--R convert : % -> Vector(R) coordinates : % -> Vector(R) +--R discriminant : () -> R discriminant : Vector(%) -> R --R hash : % -> SingleInteger latex : % -> String --R norm : % -> R one? : % -> Boolean --R rank : () -> PositiveInteger recip : % -> Union(%,"failed") ---R represents : Vector R -> % sample : () -> % ---R trace : % -> R traceMatrix : () -> Matrix R +--R represents : Vector(R) -> % sample : () -> % +--R trace : % -> R traceMatrix : () -> Matrix(R) --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % @@ -70039,15 +70208,15 @@ digraph pic { --R characteristic : () -> NonNegativeInteger --R characteristicPolynomial : % -> UP --R charthRoot : % -> Union(%,"failed") if R has CHARNZ ---R coordinates : Vector % -> Matrix R ---R coordinates : (Vector %,Vector %) -> Matrix R ---R coordinates : (%,Vector %) -> Vector R +--R coordinates : Vector(%) -> Matrix(R) +--R coordinates : (Vector(%),Vector(%)) -> Matrix(R) +--R coordinates : (%,Vector(%)) -> Vector(R) --R minimalPolynomial : % -> UP if R has FIELD ---R regularRepresentation : % -> Matrix R ---R regularRepresentation : (%,Vector %) -> Matrix R ---R represents : (Vector R,Vector %) -> % +--R regularRepresentation : % -> Matrix(R) +--R regularRepresentation : (%,Vector(%)) -> Matrix(R) +--R represents : (Vector(R),Vector(%)) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") ---R traceMatrix : Vector % -> Matrix R +--R traceMatrix : Vector(%) -> Matrix(R) --R --E 1 @@ -70347,7 +70516,7 @@ digraph pic { --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PACFFC --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -70357,17 +70526,17 @@ digraph pic { --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R associates? : (%,%) -> Boolean charthRoot : % -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm --R conjugate : % -> % createPrimitiveElement : () -> % --R differentiate : % -> % extDegree : % -> PositiveInteger ---R factor : % -> Factored % fullOutput : % -> OutputForm ---R gcd : List % -> % gcd : (%,%) -> % +--R factor : % -> Factored(%) fullOutput : % -> OutputForm +--R gcd : List(%) -> % gcd : (%,%) -> % --R ground? : % -> Boolean hash : % -> SingleInteger --R index : PositiveInteger -> % init : () -> % --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % ---R lookup : % -> PositiveInteger maxTower : List % -> % +--R lcm : List(%) -> % lcm : (%,%) -> % +--R lookup : % -> PositiveInteger maxTower : List(%) -> % --R one? : % -> Boolean order : % -> PositiveInteger --R previousTower : % -> % prime? : % -> Boolean --R primeFrobenius : % -> % primitive? : % -> Boolean @@ -70375,40 +70544,40 @@ digraph pic { --R random : () -> % recip : % -> Union(%,"failed") --R ?rem? : (%,%) -> % sample : () -> % --R setTower! : % -> Void size : () -> NonNegativeInteger ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) --R squareFreePart : % -> % unit? : % -> Boolean ---R unitCanonical : % -> % vectorise : (%,%) -> Vector % +--R unitCanonical : % -> % vectorise : (%,%) -> Vector(%) --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") ---R conditionP : Matrix % -> Union(Vector %,"failed") ---R definingPolynomial : () -> SparseUnivariatePolynomial % ---R definingPolynomial : % -> SparseUnivariatePolynomial % +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") +--R definingPolynomial : () -> SparseUnivariatePolynomial(%) +--R definingPolynomial : % -> SparseUnivariatePolynomial(%) --R differentiate : (%,NonNegativeInteger) -> % --R discreteLog : % -> NonNegativeInteger --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") ---R distinguishedRootsOf : (SparseUnivariatePolynomial %,%) -> List % +--R distinguishedRootsOf : (SparseUnivariatePolynomial(%),%) -> List(%) --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R factorsOfCyclicGroupSize : () -> List Record(factor: Integer,exponent: Integer) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R lift : % -> SparseUnivariatePolynomial % ---R lift : (%,%) -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R newElement : (SparseUnivariatePolynomial %,%,Symbol) -> % ---R newElement : (SparseUnivariatePolynomial %,Symbol) -> % +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R lift : % -> SparseUnivariatePolynomial(%) +--R lift : (%,%) -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R newElement : (SparseUnivariatePolynomial(%),%,Symbol) -> % +--R newElement : (SparseUnivariatePolynomial(%),Symbol) -> % --R nextItem : % -> Union(%,"failed") ---R order : % -> OnePointCompletion PositiveInteger +--R order : % -> OnePointCompletion(PositiveInteger) --R primeFrobenius : (%,NonNegativeInteger) -> % ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R reduce : SparseUnivariatePolynomial % -> % +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R reduce : SparseUnivariatePolynomial(%) -> % --R representationType : () -> Union("prime",polynomial,normal,cyclic) --R subtractIfCan : (%,%) -> Union(%,"failed") --R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) @@ -70712,7 +70881,8 @@ digraph pic { --S 1 of 1 )show UnivariateLaurentSeriesConstructorCategory ---R UnivariateLaurentSeriesConstructorCategory(Coef: Ring,UTS: UnivariateTaylorSeriesCategory t#1) is a category constructor +--R +--R UnivariateLaurentSeriesConstructorCategory(Coef: Ring,UTS: UnivariateTaylorSeriesCategory(t#1)) is a category constructor --R Abbreviation for UnivariateLaurentSeriesConstructorCategory is ULSCCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for ULSCCAT @@ -70741,13 +70911,13 @@ digraph pic { --R taylor : % -> UTS taylorRep : % -> UTS --R truncate : (%,Integer) -> % variable : % -> Symbol --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?*? : (Fraction Integer,%) -> % if Coef has ALGEBRA FRAC INT +--R ?*? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?*? : (Fraction(Integer),%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?*? : (UTS,%) -> % if Coef has FIELD --R ?*? : (%,UTS) -> % if Coef has FIELD --R ?*? : (NonNegativeInteger,%) -> % ---R ?**? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?**? : (%,%) -> % if Coef has ALGEBRA FRAC INT +--R ?**? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?**? : (%,%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?**? : (%,Integer) -> % if Coef has FIELD --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (UTS,UTS) -> % if Coef has FIELD @@ -70757,10 +70927,10 @@ digraph pic { --R ?<=? : (%,%) -> Boolean if and(has(UTS,OrderedSet),has(Coef,Field)) --R ?>? : (%,%) -> Boolean if and(has(UTS,OrderedSet),has(Coef,Field)) --R ?>=? : (%,%) -> Boolean if and(has(UTS,OrderedSet),has(Coef,Field)) ---R D : (%,Symbol) -> % if and(has(UTS,PartialDifferentialRing Symbol),has(Coef,Field)) or Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R D : (%,List Symbol) -> % if and(has(UTS,PartialDifferentialRing Symbol),has(Coef,Field)) or Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R D : (%,Symbol,NonNegativeInteger) -> % if and(has(UTS,PartialDifferentialRing Symbol),has(Coef,Field)) or Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R D : (%,List Symbol,List NonNegativeInteger) -> % if and(has(UTS,PartialDifferentialRing Symbol),has(Coef,Field)) or Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef +--R D : (%,Symbol) -> % if and(has(UTS,PartialDifferentialRing(Symbol)),has(Coef,Field)) or Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R D : (%,List(Symbol)) -> % if and(has(UTS,PartialDifferentialRing(Symbol)),has(Coef,Field)) or Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R D : (%,Symbol,NonNegativeInteger) -> % if and(has(UTS,PartialDifferentialRing(Symbol)),has(Coef,Field)) or Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if and(has(UTS,PartialDifferentialRing(Symbol)),has(Coef,Field)) or Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef --R D : % -> % if and(has(UTS,DifferentialRing),has(Coef,Field)) or Coef has *: (Integer,Coef) -> Coef --R D : (%,NonNegativeInteger) -> % if and(has(UTS,DifferentialRing),has(Coef,Field)) or Coef has *: (Integer,Coef) -> Coef --R D : (%,(UTS -> UTS),NonNegativeInteger) -> % if Coef has FIELD @@ -70768,45 +70938,45 @@ digraph pic { --R ?^? : (%,Integer) -> % if Coef has FIELD --R ?^? : (%,NonNegativeInteger) -> % --R abs : % -> % if and(has(UTS,OrderedIntegralDomain),has(Coef,Field)) ---R acos : % -> % if Coef has ALGEBRA FRAC INT ---R acosh : % -> % if Coef has ALGEBRA FRAC INT ---R acot : % -> % if Coef has ALGEBRA FRAC INT ---R acoth : % -> % if Coef has ALGEBRA FRAC INT ---R acsc : % -> % if Coef has ALGEBRA FRAC INT ---R acsch : % -> % if Coef has ALGEBRA FRAC INT +--R acos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acoth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsch : % -> % if Coef has ALGEBRA(FRAC(INT)) --R approximate : (%,Integer) -> Coef if Coef has **: (Coef,Integer) -> Coef and Coef has coerce: Symbol -> Coef ---R asec : % -> % if Coef has ALGEBRA FRAC INT ---R asech : % -> % if Coef has ALGEBRA FRAC INT ---R asin : % -> % if Coef has ALGEBRA FRAC INT ---R asinh : % -> % if Coef has ALGEBRA FRAC INT +--R asec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asinh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R associates? : (%,%) -> Boolean if Coef has INTDOM ---R atan : % -> % if Coef has ALGEBRA FRAC INT ---R atanh : % -> % if Coef has ALGEBRA FRAC INT +--R atan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R atanh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R ceiling : % -> UTS if and(has(UTS,IntegerNumberSystem),has(Coef,Field)) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if and(OR(has(UTS,CharacteristicNonZero),and(has($,CharacteristicNonZero),has(UTS,PolynomialFactorizationExplicit))),has(Coef,Field)) or Coef has CHARNZ --R coerce : % -> % if Coef has INTDOM ---R coerce : Fraction Integer -> % if Coef has ALGEBRA FRAC INT ---R coerce : Symbol -> % if and(has(UTS,RetractableTo Symbol),has(Coef,Field)) +--R coerce : Fraction(Integer) -> % if Coef has ALGEBRA(FRAC(INT)) +--R coerce : Symbol -> % if and(has(UTS,RetractableTo(Symbol)),has(Coef,Field)) --R coerce : Coef -> % if Coef has COMRING ---R conditionP : Matrix % -> Union(Vector %,"failed") if and(and(has($,CharacteristicNonZero),has(UTS,PolynomialFactorizationExplicit)),has(Coef,Field)) ---R convert : % -> Pattern Integer if and(has(UTS,ConvertibleTo Pattern Integer),has(Coef,Field)) ---R convert : % -> Pattern Float if and(has(UTS,ConvertibleTo Pattern Float),has(Coef,Field)) ---R convert : % -> InputForm if and(has(UTS,ConvertibleTo InputForm),has(Coef,Field)) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if and(and(has($,CharacteristicNonZero),has(UTS,PolynomialFactorizationExplicit)),has(Coef,Field)) +--R convert : % -> Pattern(Integer) if and(has(UTS,ConvertibleTo(Pattern(Integer))),has(Coef,Field)) +--R convert : % -> Pattern(Float) if and(has(UTS,ConvertibleTo(Pattern(Float))),has(Coef,Field)) +--R convert : % -> InputForm if and(has(UTS,ConvertibleTo(InputForm)),has(Coef,Field)) --R convert : % -> Float if and(has(UTS,RealConstant),has(Coef,Field)) --R convert : % -> DoubleFloat if and(has(UTS,RealConstant),has(Coef,Field)) ---R cos : % -> % if Coef has ALGEBRA FRAC INT ---R cosh : % -> % if Coef has ALGEBRA FRAC INT ---R cot : % -> % if Coef has ALGEBRA FRAC INT ---R coth : % -> % if Coef has ALGEBRA FRAC INT ---R csc : % -> % if Coef has ALGEBRA FRAC INT ---R csch : % -> % if Coef has ALGEBRA FRAC INT +--R cos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R coth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csch : % -> % if Coef has ALGEBRA(FRAC(INT)) --R denom : % -> UTS if Coef has FIELD --R denominator : % -> % if Coef has FIELD ---R differentiate : (%,Symbol) -> % if and(has(UTS,PartialDifferentialRing Symbol),has(Coef,Field)) or Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R differentiate : (%,List Symbol) -> % if and(has(UTS,PartialDifferentialRing Symbol),has(Coef,Field)) or Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if and(has(UTS,PartialDifferentialRing Symbol),has(Coef,Field)) or Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if and(has(UTS,PartialDifferentialRing Symbol),has(Coef,Field)) or Coef has PDRING SYMBOL and Coef has *: (Integer,Coef) -> Coef +--R differentiate : (%,Symbol) -> % if and(has(UTS,PartialDifferentialRing(Symbol)),has(Coef,Field)) or Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R differentiate : (%,List(Symbol)) -> % if and(has(UTS,PartialDifferentialRing(Symbol)),has(Coef,Field)) or Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if and(has(UTS,PartialDifferentialRing(Symbol)),has(Coef,Field)) or Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if and(has(UTS,PartialDifferentialRing(Symbol)),has(Coef,Field)) or Coef has PDRING(SYMBOL) and Coef has *: (Integer,Coef) -> Coef --R differentiate : % -> % if and(has(UTS,DifferentialRing),has(Coef,Field)) or Coef has *: (Integer,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if and(has(UTS,DifferentialRing),has(Coef,Field)) or Coef has *: (Integer,Coef) -> Coef --R differentiate : (%,(UTS -> UTS),NonNegativeInteger) -> % if Coef has FIELD @@ -70815,90 +70985,90 @@ digraph pic { --R ?.? : (%,UTS) -> % if and(has(UTS,Eltable(UTS,UTS)),has(Coef,Field)) --R ?.? : (%,%) -> % if Integer has SGROUP --R euclideanSize : % -> NonNegativeInteger if Coef has FIELD ---R eval : (%,List UTS,List UTS) -> % if and(has(UTS,Evalable UTS),has(Coef,Field)) ---R eval : (%,UTS,UTS) -> % if and(has(UTS,Evalable UTS),has(Coef,Field)) ---R eval : (%,Equation UTS) -> % if and(has(UTS,Evalable UTS),has(Coef,Field)) ---R eval : (%,List Equation UTS) -> % if and(has(UTS,Evalable UTS),has(Coef,Field)) ---R eval : (%,List Symbol,List UTS) -> % if and(has(UTS,InnerEvalable(Symbol,UTS)),has(Coef,Field)) +--R eval : (%,List(UTS),List(UTS)) -> % if and(has(UTS,Evalable(UTS)),has(Coef,Field)) +--R eval : (%,UTS,UTS) -> % if and(has(UTS,Evalable(UTS)),has(Coef,Field)) +--R eval : (%,Equation(UTS)) -> % if and(has(UTS,Evalable(UTS)),has(Coef,Field)) +--R eval : (%,List(Equation(UTS))) -> % if and(has(UTS,Evalable(UTS)),has(Coef,Field)) +--R eval : (%,List(Symbol),List(UTS)) -> % if and(has(UTS,InnerEvalable(Symbol,UTS)),has(Coef,Field)) --R eval : (%,Symbol,UTS) -> % if and(has(UTS,InnerEvalable(Symbol,UTS)),has(Coef,Field)) ---R eval : (%,Coef) -> Stream Coef if Coef has **: (Coef,Integer) -> Coef ---R exp : % -> % if Coef has ALGEBRA FRAC INT ---R expressIdealMember : (List %,%) -> Union(List %,"failed") if Coef has FIELD +--R eval : (%,Coef) -> Stream(Coef) if Coef has **: (Coef,Integer) -> Coef +--R exp : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if Coef has FIELD --R exquo : (%,%) -> Union(%,"failed") if Coef has INTDOM --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if Coef has FIELD --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if Coef has FIELD ---R factor : % -> Factored % if Coef has FIELD ---R factorPolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if and(has(UTS,PolynomialFactorizationExplicit),has(Coef,Field)) ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if and(has(UTS,PolynomialFactorizationExplicit),has(Coef,Field)) +--R factor : % -> Factored(%) if Coef has FIELD +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if and(has(UTS,PolynomialFactorizationExplicit),has(Coef,Field)) +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if and(has(UTS,PolynomialFactorizationExplicit),has(Coef,Field)) --R floor : % -> UTS if and(has(UTS,IntegerNumberSystem),has(Coef,Field)) --R fractionPart : % -> % if and(has(UTS,EuclideanDomain),has(Coef,Field)) --R gcd : (%,%) -> % if Coef has FIELD ---R gcd : List % -> % if Coef has FIELD ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if Coef has FIELD +--R gcd : List(%) -> % if Coef has FIELD +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if Coef has FIELD --R init : () -> % if and(has(UTS,StepThrough),has(Coef,Field)) ---R integrate : (%,Symbol) -> % if Coef has ACFS INT and Coef has PRIMCAT and Coef has TRANFUN and Coef has ALGEBRA FRAC INT or Coef has variables: Coef -> List Symbol and Coef has integrate: (Coef,Symbol) -> Coef and Coef has ALGEBRA FRAC INT ---R integrate : % -> % if Coef has ALGEBRA FRAC INT +--R integrate : (%,Symbol) -> % if Coef has ACFS(INT) and Coef has PRIMCAT and Coef has TRANFUN and Coef has ALGEBRA(FRAC(INT)) or Coef has variables: Coef -> List(Symbol) and Coef has integrate: (Coef,Symbol) -> Coef and Coef has ALGEBRA(FRAC(INT)) +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) --R inv : % -> % if Coef has FIELD --R lcm : (%,%) -> % if Coef has FIELD ---R lcm : List % -> % if Coef has FIELD ---R log : % -> % if Coef has ALGEBRA FRAC INT +--R lcm : List(%) -> % if Coef has FIELD +--R log : % -> % if Coef has ALGEBRA(FRAC(INT)) --R map : ((UTS -> UTS),%) -> % if Coef has FIELD --R max : (%,%) -> % if and(has(UTS,OrderedSet),has(Coef,Field)) --R min : (%,%) -> % if and(has(UTS,OrderedSet),has(Coef,Field)) ---R monomial : (%,List SingletonAsOrderedSet,List Integer) -> % +--R monomial : (%,List(SingletonAsOrderedSet),List(Integer)) -> % --R monomial : (%,SingletonAsOrderedSet,Integer) -> % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") if Coef has FIELD +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if Coef has FIELD --R multiplyCoefficients : ((Integer -> Coef),%) -> % --R multiplyExponents : (%,PositiveInteger) -> % --R negative? : % -> Boolean if and(has(UTS,OrderedIntegralDomain),has(Coef,Field)) --R nextItem : % -> Union(%,"failed") if and(has(UTS,StepThrough),has(Coef,Field)) ---R nthRoot : (%,Integer) -> % if Coef has ALGEBRA FRAC INT +--R nthRoot : (%,Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R numer : % -> UTS if Coef has FIELD --R numerator : % -> % if Coef has FIELD ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if and(has(UTS,PatternMatchable Integer),has(Coef,Field)) ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if and(has(UTS,PatternMatchable Float),has(Coef,Field)) ---R pi : () -> % if Coef has ALGEBRA FRAC INT +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if and(has(UTS,PatternMatchable(Integer)),has(Coef,Field)) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if and(has(UTS,PatternMatchable(Float)),has(Coef,Field)) +--R pi : () -> % if Coef has ALGEBRA(FRAC(INT)) --R positive? : % -> Boolean if and(has(UTS,OrderedIntegralDomain),has(Coef,Field)) --R prime? : % -> Boolean if Coef has FIELD ---R principalIdeal : List % -> Record(coef: List %,generator: %) if Coef has FIELD +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if Coef has FIELD --R ?quo? : (%,%) -> % if Coef has FIELD --R random : () -> % if and(has(UTS,IntegerNumberSystem),has(Coef,Field)) ---R rationalFunction : (%,Integer,Integer) -> Fraction Polynomial Coef if Coef has INTDOM ---R rationalFunction : (%,Integer) -> Fraction Polynomial Coef if Coef has INTDOM ---R reducedSystem : Matrix % -> Matrix Integer if and(has(UTS,LinearlyExplicitRingOver Integer),has(Coef,Field)) ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if and(has(UTS,LinearlyExplicitRingOver Integer),has(Coef,Field)) ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix UTS,vec: Vector UTS) if Coef has FIELD ---R reducedSystem : Matrix % -> Matrix UTS if Coef has FIELD +--R rationalFunction : (%,Integer,Integer) -> Fraction(Polynomial(Coef)) if Coef has INTDOM +--R rationalFunction : (%,Integer) -> Fraction(Polynomial(Coef)) if Coef has INTDOM +--R reducedSystem : Matrix(%) -> Matrix(Integer) if and(has(UTS,LinearlyExplicitRingOver(Integer)),has(Coef,Field)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if and(has(UTS,LinearlyExplicitRingOver(Integer)),has(Coef,Field)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(UTS),vec: Vector(UTS)) if Coef has FIELD +--R reducedSystem : Matrix(%) -> Matrix(UTS) if Coef has FIELD --R ?rem? : (%,%) -> % if Coef has FIELD ---R retract : % -> Symbol if and(has(UTS,RetractableTo Symbol),has(Coef,Field)) ---R retract : % -> Fraction Integer if and(has(UTS,RetractableTo Integer),has(Coef,Field)) ---R retract : % -> Integer if and(has(UTS,RetractableTo Integer),has(Coef,Field)) ---R retractIfCan : % -> Union(Symbol,"failed") if and(has(UTS,RetractableTo Symbol),has(Coef,Field)) ---R retractIfCan : % -> Union(Fraction Integer,"failed") if and(has(UTS,RetractableTo Integer),has(Coef,Field)) ---R retractIfCan : % -> Union(Integer,"failed") if and(has(UTS,RetractableTo Integer),has(Coef,Field)) +--R retract : % -> Symbol if and(has(UTS,RetractableTo(Symbol)),has(Coef,Field)) +--R retract : % -> Fraction(Integer) if and(has(UTS,RetractableTo(Integer)),has(Coef,Field)) +--R retract : % -> Integer if and(has(UTS,RetractableTo(Integer)),has(Coef,Field)) +--R retractIfCan : % -> Union(Symbol,"failed") if and(has(UTS,RetractableTo(Symbol)),has(Coef,Field)) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if and(has(UTS,RetractableTo(Integer)),has(Coef,Field)) +--R retractIfCan : % -> Union(Integer,"failed") if and(has(UTS,RetractableTo(Integer)),has(Coef,Field)) --R retractIfCan : % -> Union(UTS,"failed") ---R sec : % -> % if Coef has ALGEBRA FRAC INT ---R sech : % -> % if Coef has ALGEBRA FRAC INT ---R series : Stream Record(k: Integer,c: Coef) -> % +--R sec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R series : Stream(Record(k: Integer,c: Coef)) -> % --R sign : % -> Integer if and(has(UTS,OrderedIntegralDomain),has(Coef,Field)) ---R sin : % -> % if Coef has ALGEBRA FRAC INT ---R sinh : % -> % if Coef has ALGEBRA FRAC INT +--R sin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sinh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R sizeLess? : (%,%) -> Boolean if Coef has FIELD ---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if and(has(UTS,PolynomialFactorizationExplicit),has(Coef,Field)) ---R sqrt : % -> % if Coef has ALGEBRA FRAC INT ---R squareFree : % -> Factored % if Coef has FIELD +--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if and(has(UTS,PolynomialFactorizationExplicit),has(Coef,Field)) +--R sqrt : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R squareFree : % -> Factored(%) if Coef has FIELD --R squareFreePart : % -> % if Coef has FIELD ---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if and(has(UTS,PolynomialFactorizationExplicit),has(Coef,Field)) +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if and(has(UTS,PolynomialFactorizationExplicit),has(Coef,Field)) --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tan : % -> % if Coef has ALGEBRA FRAC INT ---R tanh : % -> % if Coef has ALGEBRA FRAC INT +--R tan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R tanh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R taylorIfCan : % -> Union(UTS,"failed") ---R terms : % -> Stream Record(k: Integer,c: Coef) +--R terms : % -> Stream(Record(k: Integer,c: Coef)) --R truncate : (%,Integer,Integer) -> % --R unit? : % -> Boolean if Coef has INTDOM --R unitCanonical : % -> % if Coef has INTDOM --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if Coef has INTDOM ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R wholePart : % -> UTS if and(has(UTS,EuclideanDomain),has(Coef,Field)) --R --E 1 @@ -71579,7 +71749,8 @@ digraph pic { --S 1 of 1 )show UnivariatePuiseuxSeriesConstructorCategory ---R UnivariatePuiseuxSeriesConstructorCategory(Coef: Ring,ULS: UnivariateLaurentSeriesCategory t#1) is a category constructor +--R +--R UnivariatePuiseuxSeriesConstructorCategory(Coef: Ring,ULS: UnivariateLaurentSeriesCategory(t#1)) is a category constructor --R Abbreviation for UnivariatePuiseuxSeriesConstructorCategory is UPXSCCA --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for UPXSCCA @@ -71594,122 +71765,122 @@ digraph pic { --R ?^? : (%,PositiveInteger) -> % center : % -> Coef --R coerce : ULS -> % coerce : Integer -> % --R coerce : % -> OutputForm complete : % -> % ---R degree : % -> Fraction Integer hash : % -> SingleInteger +--R degree : % -> Fraction(Integer) hash : % -> SingleInteger --R latex : % -> String laurent : % -> ULS --R laurentRep : % -> ULS leadingCoefficient : % -> Coef --R leadingMonomial : % -> % map : ((Coef -> Coef),%) -> % --R monomial? : % -> Boolean one? : % -> Boolean ---R order : % -> Fraction Integer pole? : % -> Boolean +--R order : % -> Fraction(Integer) pole? : % -> Boolean --R recip : % -> Union(%,"failed") reductum : % -> % --R retract : % -> ULS sample : () -> % --R variable : % -> Symbol zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?*? : (Fraction Integer,%) -> % if Coef has ALGEBRA FRAC INT +--R ?*? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?*? : (Fraction(Integer),%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?*? : (NonNegativeInteger,%) -> % ---R ?**? : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R ?**? : (%,%) -> % if Coef has ALGEBRA FRAC INT +--R ?**? : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R ?**? : (%,%) -> % if Coef has ALGEBRA(FRAC(INT)) --R ?**? : (%,Integer) -> % if Coef has FIELD --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,%) -> % if Coef has FIELD --R ?/? : (%,Coef) -> % if Coef has FIELD ---R D : % -> % if Coef has *: (Fraction Integer,Coef) -> Coef ---R D : (%,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef ---R D : (%,Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R D : (%,List Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef +--R D : % -> % if Coef has *: (Fraction(Integer),Coef) -> Coef +--R D : (%,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef +--R D : (%,Symbol) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R D : (%,List(Symbol)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef --R ?^? : (%,Integer) -> % if Coef has FIELD --R ?^? : (%,NonNegativeInteger) -> % ---R acos : % -> % if Coef has ALGEBRA FRAC INT ---R acosh : % -> % if Coef has ALGEBRA FRAC INT ---R acot : % -> % if Coef has ALGEBRA FRAC INT ---R acoth : % -> % if Coef has ALGEBRA FRAC INT ---R acsc : % -> % if Coef has ALGEBRA FRAC INT ---R acsch : % -> % if Coef has ALGEBRA FRAC INT ---R approximate : (%,Fraction Integer) -> Coef if Coef has **: (Coef,Fraction Integer) -> Coef and Coef has coerce: Symbol -> Coef ---R asec : % -> % if Coef has ALGEBRA FRAC INT ---R asech : % -> % if Coef has ALGEBRA FRAC INT ---R asin : % -> % if Coef has ALGEBRA FRAC INT ---R asinh : % -> % if Coef has ALGEBRA FRAC INT +--R acos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acoth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R acsch : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R approximate : (%,Fraction(Integer)) -> Coef if Coef has **: (Coef,Fraction(Integer)) -> Coef and Coef has coerce: Symbol -> Coef +--R asec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R asinh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R associates? : (%,%) -> Boolean if Coef has INTDOM ---R atan : % -> % if Coef has ALGEBRA FRAC INT ---R atanh : % -> % if Coef has ALGEBRA FRAC INT +--R atan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R atanh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if Coef has CHARNZ ---R coefficient : (%,Fraction Integer) -> Coef +--R coefficient : (%,Fraction(Integer)) -> Coef --R coerce : % -> % if Coef has INTDOM ---R coerce : Fraction Integer -> % if Coef has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R coerce : Coef -> % if Coef has COMRING ---R cos : % -> % if Coef has ALGEBRA FRAC INT ---R cosh : % -> % if Coef has ALGEBRA FRAC INT ---R cot : % -> % if Coef has ALGEBRA FRAC INT ---R coth : % -> % if Coef has ALGEBRA FRAC INT ---R csc : % -> % if Coef has ALGEBRA FRAC INT ---R csch : % -> % if Coef has ALGEBRA FRAC INT ---R differentiate : % -> % if Coef has *: (Fraction Integer,Coef) -> Coef ---R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef ---R differentiate : (%,Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R differentiate : (%,List Symbol) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has PDRING SYMBOL and Coef has *: (Fraction Integer,Coef) -> Coef +--R cos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R coth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R csch : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R differentiate : % -> % if Coef has *: (Fraction(Integer),Coef) -> Coef +--R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef +--R differentiate : (%,Symbol) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R differentiate : (%,List(Symbol)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has PDRING(SYMBOL) and Coef has *: (Fraction(Integer),Coef) -> Coef --R divide : (%,%) -> Record(quotient: %,remainder: %) if Coef has FIELD ---R ?.? : (%,%) -> % if Fraction Integer has SGROUP ---R ?.? : (%,Fraction Integer) -> Coef +--R ?.? : (%,%) -> % if Fraction(Integer) has SGROUP +--R ?.? : (%,Fraction(Integer)) -> Coef --R euclideanSize : % -> NonNegativeInteger if Coef has FIELD ---R eval : (%,Coef) -> Stream Coef if Coef has **: (Coef,Fraction Integer) -> Coef ---R exp : % -> % if Coef has ALGEBRA FRAC INT ---R expressIdealMember : (List %,%) -> Union(List %,"failed") if Coef has FIELD +--R eval : (%,Coef) -> Stream(Coef) if Coef has **: (Coef,Fraction(Integer)) -> Coef +--R exp : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if Coef has FIELD --R exquo : (%,%) -> Union(%,"failed") if Coef has INTDOM ---R extend : (%,Fraction Integer) -> % +--R extend : (%,Fraction(Integer)) -> % --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if Coef has FIELD --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if Coef has FIELD ---R factor : % -> Factored % if Coef has FIELD +--R factor : % -> Factored(%) if Coef has FIELD --R gcd : (%,%) -> % if Coef has FIELD ---R gcd : List % -> % if Coef has FIELD ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if Coef has FIELD ---R integrate : (%,Symbol) -> % if Coef has ACFS INT and Coef has PRIMCAT and Coef has TRANFUN and Coef has ALGEBRA FRAC INT or Coef has variables: Coef -> List Symbol and Coef has integrate: (Coef,Symbol) -> Coef and Coef has ALGEBRA FRAC INT ---R integrate : % -> % if Coef has ALGEBRA FRAC INT +--R gcd : List(%) -> % if Coef has FIELD +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if Coef has FIELD +--R integrate : (%,Symbol) -> % if Coef has ACFS(INT) and Coef has PRIMCAT and Coef has TRANFUN and Coef has ALGEBRA(FRAC(INT)) or Coef has variables: Coef -> List(Symbol) and Coef has integrate: (Coef,Symbol) -> Coef and Coef has ALGEBRA(FRAC(INT)) +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) --R inv : % -> % if Coef has FIELD --R laurentIfCan : % -> Union(ULS,"failed") --R lcm : (%,%) -> % if Coef has FIELD ---R lcm : List % -> % if Coef has FIELD ---R log : % -> % if Coef has ALGEBRA FRAC INT ---R monomial : (%,List SingletonAsOrderedSet,List Fraction Integer) -> % ---R monomial : (%,SingletonAsOrderedSet,Fraction Integer) -> % ---R monomial : (Coef,Fraction Integer) -> % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") if Coef has FIELD ---R multiplyExponents : (%,Fraction Integer) -> % +--R lcm : List(%) -> % if Coef has FIELD +--R log : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R monomial : (%,List(SingletonAsOrderedSet),List(Fraction(Integer))) -> % +--R monomial : (%,SingletonAsOrderedSet,Fraction(Integer)) -> % +--R monomial : (Coef,Fraction(Integer)) -> % +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if Coef has FIELD +--R multiplyExponents : (%,Fraction(Integer)) -> % --R multiplyExponents : (%,PositiveInteger) -> % ---R nthRoot : (%,Integer) -> % if Coef has ALGEBRA FRAC INT ---R order : (%,Fraction Integer) -> Fraction Integer ---R pi : () -> % if Coef has ALGEBRA FRAC INT +--R nthRoot : (%,Integer) -> % if Coef has ALGEBRA(FRAC(INT)) +--R order : (%,Fraction(Integer)) -> Fraction(Integer) +--R pi : () -> % if Coef has ALGEBRA(FRAC(INT)) --R prime? : % -> Boolean if Coef has FIELD ---R principalIdeal : List % -> Record(coef: List %,generator: %) if Coef has FIELD ---R puiseux : (Fraction Integer,ULS) -> % +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if Coef has FIELD +--R puiseux : (Fraction(Integer),ULS) -> % --R ?quo? : (%,%) -> % if Coef has FIELD ---R rationalPower : % -> Fraction Integer +--R rationalPower : % -> Fraction(Integer) --R ?rem? : (%,%) -> % if Coef has FIELD --R retractIfCan : % -> Union(ULS,"failed") ---R sec : % -> % if Coef has ALGEBRA FRAC INT ---R sech : % -> % if Coef has ALGEBRA FRAC INT ---R series : (NonNegativeInteger,Stream Record(k: Fraction Integer,c: Coef)) -> % ---R sin : % -> % if Coef has ALGEBRA FRAC INT ---R sinh : % -> % if Coef has ALGEBRA FRAC INT +--R sec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R series : (NonNegativeInteger,Stream(Record(k: Fraction(Integer),c: Coef))) -> % +--R sin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R sinh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R sizeLess? : (%,%) -> Boolean if Coef has FIELD ---R sqrt : % -> % if Coef has ALGEBRA FRAC INT ---R squareFree : % -> Factored % if Coef has FIELD +--R sqrt : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R squareFree : % -> Factored(%) if Coef has FIELD --R squareFreePart : % -> % if Coef has FIELD --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tan : % -> % if Coef has ALGEBRA FRAC INT ---R tanh : % -> % if Coef has ALGEBRA FRAC INT ---R terms : % -> Stream Record(k: Fraction Integer,c: Coef) ---R truncate : (%,Fraction Integer,Fraction Integer) -> % ---R truncate : (%,Fraction Integer) -> % +--R tan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R tanh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R terms : % -> Stream(Record(k: Fraction(Integer),c: Coef)) +--R truncate : (%,Fraction(Integer),Fraction(Integer)) -> % +--R truncate : (%,Fraction(Integer)) -> % --R unit? : % -> Boolean if Coef has INTDOM --R unitCanonical : % -> % if Coef has INTDOM --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if Coef has INTDOM ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -72200,14 +72371,15 @@ digraph pic { --S 1 of 1 )show FiniteAlgebraicExtensionField ---R FiniteAlgebraicExtensionField F: Field is a category constructor +--R +--R FiniteAlgebraicExtensionField(F: Field) is a category constructor --R Abbreviation for FiniteAlgebraicExtensionField is FAXF --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FAXF --R --R------------------------------- Operations -------------------------------- --R ?*? : (F,%) -> % ?*? : (%,F) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -72217,21 +72389,21 @@ digraph pic { --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R algebraic? : % -> Boolean associates? : (%,%) -> Boolean ---R basis : () -> Vector % coerce : F -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R basis : () -> Vector(%) coerce : F -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R coordinates : % -> Vector F degree : % -> PositiveInteger ---R dimension : () -> CardinalNumber factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R coordinates : % -> Vector(F) degree : % -> PositiveInteger +--R dimension : () -> CardinalNumber factor : % -> Factored(%) +--R gcd : List(%) -> % gcd : (%,%) -> % --R hash : % -> SingleInteger inGroundField? : % -> Boolean --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R norm : % -> F one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R represents : Vector F -> % retract : % -> F +--R represents : Vector(F) -> % retract : % -> F --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R trace : % -> F transcendent? : % -> Boolean --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean @@ -72241,52 +72413,52 @@ digraph pic { --R Frobenius : (%,NonNegativeInteger) -> % if F has FINITE --R Frobenius : % -> % if F has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if F has CHARNZ or F has FINITE --R charthRoot : % -> % if F has FINITE ---R conditionP : Matrix % -> Union(Vector %,"failed") if F has FINITE ---R coordinates : Vector % -> Matrix F +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if F has FINITE +--R coordinates : Vector(%) -> Matrix(F) --R createNormalElement : () -> % if F has FINITE --R createPrimitiveElement : () -> % if F has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial F ---R degree : % -> OnePointCompletion PositiveInteger +--R definingPolynomial : () -> SparseUnivariatePolynomial(F) +--R degree : % -> OnePointCompletion(PositiveInteger) --R differentiate : (%,NonNegativeInteger) -> % if F has FINITE --R differentiate : % -> % if F has FINITE --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if F has CHARNZ or F has FINITE --R discreteLog : % -> NonNegativeInteger if F has FINITE --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) --R extensionDegree : () -> PositiveInteger ---R extensionDegree : () -> OnePointCompletion PositiveInteger ---R factorsOfCyclicGroupSize : () -> List Record(factor: Integer,exponent: Integer) if F has FINITE ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if F has FINITE +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R generator : () -> % if F has FINITE --R index : PositiveInteger -> % if F has FINITE --R init : () -> % if F has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial F) -> % if F has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial F,"failed") if F has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial F if F has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial F if F has FINITE +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(F)) -> % if F has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(F),"failed") if F has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(F) if F has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(F) if F has FINITE --R lookup : % -> PositiveInteger if F has FINITE ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if F has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial F ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if F has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(F) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R nextItem : % -> Union(%,"failed") if F has FINITE --R norm : (%,PositiveInteger) -> % if F has FINITE --R normal? : % -> Boolean if F has FINITE --R normalElement : () -> % if F has FINITE ---R order : % -> OnePointCompletion PositiveInteger if F has CHARNZ or F has FINITE +--R order : % -> OnePointCompletion(PositiveInteger) if F has CHARNZ or F has FINITE --R order : % -> PositiveInteger if F has FINITE --R primeFrobenius : % -> % if F has CHARNZ or F has FINITE --R primeFrobenius : (%,NonNegativeInteger) -> % if F has CHARNZ or F has FINITE --R primitive? : % -> Boolean if F has FINITE --R primitiveElement : () -> % if F has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R random : () -> % if F has FINITE --R representationType : () -> Union("prime",polynomial,normal,cyclic) if F has FINITE --R retractIfCan : % -> Union(F,"failed") @@ -72969,7 +73141,8 @@ digraph pic { --S 1 of 1 )show MonogenicAlgebra ---R MonogenicAlgebra(R: CommutativeRing,UP: UnivariatePolynomialCategory t#1) is a category constructor +--R +--R MonogenicAlgebra(R: CommutativeRing,UP: UnivariatePolynomialCategory(t#1)) is a category constructor --R Abbreviation for MonogenicAlgebra is MONOGEN --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for MONOGEN @@ -72981,33 +73154,33 @@ digraph pic { --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % ---R ?^? : (%,PositiveInteger) -> % basis : () -> Vector % +--R ?^? : (%,PositiveInteger) -> % basis : () -> Vector(%) --R coerce : R -> % coerce : Integer -> % --R coerce : % -> OutputForm convert : UP -> % ---R convert : % -> UP convert : Vector R -> % ---R convert : % -> Vector R coordinates : % -> Vector R +--R convert : % -> UP convert : Vector(R) -> % +--R convert : % -> Vector(R) coordinates : % -> Vector(R) --R definingPolynomial : () -> UP discriminant : () -> R ---R discriminant : Vector % -> R generator : () -> % +--R discriminant : Vector(%) -> R generator : () -> % --R hash : % -> SingleInteger inv : % -> % if R has FIELD --R latex : % -> String lift : % -> UP --R norm : % -> R one? : % -> Boolean --R rank : () -> PositiveInteger recip : % -> Union(%,"failed") ---R reduce : UP -> % represents : Vector R -> % +--R reduce : UP -> % represents : Vector(R) -> % --R retract : % -> R sample : () -> % ---R trace : % -> R traceMatrix : () -> Matrix R +--R trace : % -> R traceMatrix : () -> Matrix(R) --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if R has FIELD ---R ?*? : (Fraction Integer,%) -> % if R has FIELD +--R ?*? : (%,Fraction(Integer)) -> % if R has FIELD +--R ?*? : (Fraction(Integer),%) -> % if R has FIELD --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,Integer) -> % if R has FIELD --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,%) -> % if R has FIELD --R D : (%,(R -> R)) -> % if R has FIELD --R D : (%,(R -> R),NonNegativeInteger) -> % if R has FIELD ---R D : (%,List Symbol,List NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Field)) ---R D : (%,Symbol,NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Field)) ---R D : (%,List Symbol) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Field)) ---R D : (%,Symbol) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Field)) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Field)) +--R D : (%,Symbol,NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Field)) +--R D : (%,List(Symbol)) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Field)) +--R D : (%,Symbol) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Field)) --R D : (%,NonNegativeInteger) -> % if and(has(R,DifferentialRing),has(R,Field)) or R has FFIELDC --R D : % -> % if and(has(R,DifferentialRing),has(R,Field)) or R has FFIELDC --R ?^? : (%,Integer) -> % if R has FIELD @@ -73017,75 +73190,75 @@ digraph pic { --R characteristicPolynomial : % -> UP --R charthRoot : % -> Union(%,"failed") if R has CHARNZ --R charthRoot : % -> % if R has FFIELDC ---R coerce : Fraction Integer -> % if R has FIELD or R has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if R has FIELD or R has RETRACT(FRAC(INT)) --R coerce : % -> % if R has FIELD ---R conditionP : Matrix % -> Union(Vector %,"failed") if R has FFIELDC ---R coordinates : Vector % -> Matrix R ---R coordinates : (Vector %,Vector %) -> Matrix R ---R coordinates : (%,Vector %) -> Vector R +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if R has FFIELDC +--R coordinates : Vector(%) -> Matrix(R) +--R coordinates : (Vector(%),Vector(%)) -> Matrix(R) +--R coordinates : (%,Vector(%)) -> Vector(R) --R createPrimitiveElement : () -> % if R has FFIELDC ---R derivationCoordinates : (Vector %,(R -> R)) -> Matrix R if R has FIELD +--R derivationCoordinates : (Vector(%),(R -> R)) -> Matrix(R) if R has FIELD --R differentiate : (%,(R -> R)) -> % if R has FIELD --R differentiate : (%,(R -> R),NonNegativeInteger) -> % if R has FIELD ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Field)) ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Field)) ---R differentiate : (%,List Symbol) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Field)) ---R differentiate : (%,Symbol) -> % if and(has(R,PartialDifferentialRing Symbol),has(R,Field)) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Field)) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Field)) +--R differentiate : (%,List(Symbol)) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Field)) +--R differentiate : (%,Symbol) -> % if and(has(R,PartialDifferentialRing(Symbol)),has(R,Field)) --R differentiate : (%,NonNegativeInteger) -> % if and(has(R,DifferentialRing),has(R,Field)) or R has FFIELDC --R differentiate : % -> % if and(has(R,DifferentialRing),has(R,Field)) or R has FFIELDC --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if R has FFIELDC --R discreteLog : % -> NonNegativeInteger if R has FFIELDC --R divide : (%,%) -> Record(quotient: %,remainder: %) if R has FIELD --R euclideanSize : % -> NonNegativeInteger if R has FIELD ---R expressIdealMember : (List %,%) -> Union(List %,"failed") if R has FIELD +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if R has FIELD --R exquo : (%,%) -> Union(%,"failed") if R has FIELD --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 FIELD ---R factorsOfCyclicGroupSize : () -> List Record(factor: Integer,exponent: Integer) if R has FFIELDC +--R factor : % -> Factored(%) if R has FIELD +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if R has FFIELDC --R gcd : (%,%) -> % if R has FIELD ---R gcd : List % -> % if R has FIELD ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has FIELD +--R gcd : List(%) -> % if R has FIELD +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has FIELD --R index : PositiveInteger -> % if R has FINITE --R init : () -> % if R has FFIELDC --R lcm : (%,%) -> % if R has FIELD ---R lcm : List % -> % if R has FIELD +--R lcm : List(%) -> % if R has FIELD --R lookup : % -> PositiveInteger if R has FINITE --R minimalPolynomial : % -> UP if R has FIELD ---R multiEuclidean : (List %,%) -> Union(List %,"failed") if R has FIELD +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if R has FIELD --R nextItem : % -> Union(%,"failed") if R has FFIELDC ---R order : % -> OnePointCompletion PositiveInteger if R has FFIELDC +--R order : % -> OnePointCompletion(PositiveInteger) if R has FFIELDC --R order : % -> PositiveInteger if R has FFIELDC --R prime? : % -> Boolean if R has FIELD --R primeFrobenius : % -> % if R has FFIELDC --R primeFrobenius : (%,NonNegativeInteger) -> % if R has FFIELDC --R primitive? : % -> Boolean if R has FFIELDC --R primitiveElement : () -> % if R has FFIELDC ---R principalIdeal : List % -> Record(coef: List %,generator: %) if R has FIELD +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if R has FIELD --R ?quo? : (%,%) -> % if R has FIELD --R random : () -> % if R has FINITE ---R reduce : Fraction UP -> Union(%,"failed") 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 regularRepresentation : % -> Matrix R ---R regularRepresentation : (%,Vector %) -> Matrix R +--R reduce : Fraction(UP) -> Union(%,"failed") 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 regularRepresentation : % -> Matrix(R) +--R regularRepresentation : (%,Vector(%)) -> Matrix(R) --R ?rem? : (%,%) -> % if R has FIELD --R representationType : () -> Union("prime",polynomial,normal,cyclic) if R has FFIELDC ---R represents : (Vector R,Vector %) -> % ---R retract : % -> Fraction Integer if R has RETRACT FRAC INT ---R retract : % -> Integer if R has RETRACT INT +--R represents : (Vector(R),Vector(%)) -> % +--R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT)) +--R retract : % -> Integer if R has RETRACT(INT) --R retractIfCan : % -> Union(R,"failed") ---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(Integer,"failed") if R has RETRACT(INT) --R size : () -> NonNegativeInteger if R has FINITE --R sizeLess? : (%,%) -> Boolean if R has FIELD ---R squareFree : % -> Factored % if R has FIELD +--R squareFree : % -> Factored(%) if R has FIELD --R squareFreePart : % -> % if R has FIELD --R subtractIfCan : (%,%) -> Union(%,"failed") --R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if R has FFIELDC ---R traceMatrix : Vector % -> Matrix R +--R traceMatrix : Vector(%) -> Matrix(R) --R unit? : % -> Boolean if R has FIELD --R unitCanonical : % -> % if R has FIELD --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if R has FIELD @@ -73617,70 +73790,70 @@ digraph pic { --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PACRATC --R --R------------------------------- Operations -------------------------------- ---R ?*? : (%,Fraction Integer) -> % ?*? : (Fraction Integer,%) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (%,Fraction(Integer)) -> % ?*? : (Fraction(Integer),%) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % --R ?-? : (%,%) -> % -? : % -> % ---R ?/? : (%,Fraction Integer) -> % ?/? : (%,%) -> % +--R ?/? : (%,Fraction(Integer)) -> % ?/? : (%,%) -> % --R ?=? : (%,%) -> Boolean 1 : () -> % --R 0 : () -> % ?^? : (%,Integer) -> % --R ?^? : (%,PositiveInteger) -> % algebraic? : % -> Boolean ---R associates? : (%,%) -> Boolean coerce : Fraction Integer -> % ---R coerce : Fraction Integer -> % coerce : Integer -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R associates? : (%,%) -> Boolean coerce : Fraction(Integer) -> % +--R coerce : Fraction(Integer) -> % coerce : Integer -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm --R conjugate : % -> % dimension : () -> CardinalNumber ---R extDegree : % -> PositiveInteger factor : % -> Factored % ---R fullOutput : % -> OutputForm gcd : List % -> % +--R extDegree : % -> PositiveInteger factor : % -> Factored(%) +--R fullOutput : % -> OutputForm gcd : List(%) -> % --R gcd : (%,%) -> % ground? : % -> Boolean --R hash : % -> SingleInteger inGroundField? : % -> Boolean --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % ---R maxTower : List % -> % one? : % -> Boolean +--R lcm : List(%) -> % lcm : (%,%) -> % +--R maxTower : List(%) -> % one? : % -> Boolean --R previousTower : % -> % prime? : % -> Boolean --R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") ---R ?rem? : (%,%) -> % retract : % -> Fraction Integer ---R retract : % -> Fraction Integer retract : % -> Integer +--R ?rem? : (%,%) -> % retract : % -> Fraction(Integer) +--R retract : % -> Fraction(Integer) retract : % -> Integer --R sample : () -> % setTower! : % -> Void ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) --R squareFreePart : % -> % transcendent? : % -> Boolean --R unit? : % -> Boolean unitCanonical : % -> % ---R vectorise : (%,%) -> Vector % zero? : % -> Boolean +--R vectorise : (%,%) -> Vector(%) zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % ---R Frobenius : % -> % if Fraction Integer has FINITE ---R Frobenius : (%,NonNegativeInteger) -> % if Fraction Integer has FINITE +--R Frobenius : % -> % if Fraction(Integer) has FINITE +--R Frobenius : (%,NonNegativeInteger) -> % if Fraction(Integer) has FINITE --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R charthRoot : % -> Union(%,"failed") if Fraction Integer has CHARNZ or Fraction Integer has FINITE ---R definingPolynomial : % -> SparseUnivariatePolynomial % ---R definingPolynomial : () -> SparseUnivariatePolynomial % ---R degree : % -> OnePointCompletion PositiveInteger ---R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if Fraction Integer has CHARNZ or Fraction Integer has FINITE ---R distinguishedRootsOf : (SparseUnivariatePolynomial %,%) -> List % +--R charthRoot : % -> Union(%,"failed") if Fraction(Integer) has CHARNZ or Fraction(Integer) has FINITE +--R definingPolynomial : % -> SparseUnivariatePolynomial(%) +--R definingPolynomial : () -> SparseUnivariatePolynomial(%) +--R degree : % -> OnePointCompletion(PositiveInteger) +--R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if Fraction(Integer) has CHARNZ or Fraction(Integer) has FINITE +--R distinguishedRootsOf : (SparseUnivariatePolynomial(%),%) -> List(%) --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R extensionDegree : () -> OnePointCompletion PositiveInteger ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R lift : (%,%) -> SparseUnivariatePolynomial % ---R lift : % -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R newElement : (SparseUnivariatePolynomial %,Symbol) -> % ---R newElement : (SparseUnivariatePolynomial %,%,Symbol) -> % ---R order : % -> OnePointCompletion PositiveInteger if Fraction Integer has CHARNZ or Fraction Integer has FINITE ---R primeFrobenius : % -> % if Fraction Integer has CHARNZ or Fraction Integer has FINITE ---R primeFrobenius : (%,NonNegativeInteger) -> % if Fraction Integer has CHARNZ or Fraction Integer has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R reduce : SparseUnivariatePolynomial % -> % ---R retractIfCan : % -> Union(Fraction Integer,"failed") ---R retractIfCan : % -> Union(Fraction Integer,"failed") +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R lift : (%,%) -> SparseUnivariatePolynomial(%) +--R lift : % -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R newElement : (SparseUnivariatePolynomial(%),Symbol) -> % +--R newElement : (SparseUnivariatePolynomial(%),%,Symbol) -> % +--R order : % -> OnePointCompletion(PositiveInteger) if Fraction(Integer) has CHARNZ or Fraction(Integer) has FINITE +--R primeFrobenius : % -> % if Fraction(Integer) has CHARNZ or Fraction(Integer) has FINITE +--R primeFrobenius : (%,NonNegativeInteger) -> % if Fraction(Integer) has CHARNZ or Fraction(Integer) has FINITE +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R reduce : SparseUnivariatePolynomial(%) -> % +--R retractIfCan : % -> Union(Fraction(Integer),"failed") +--R retractIfCan : % -> Union(Fraction(Integer),"failed") --R retractIfCan : % -> Union(Integer,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") --R transcendenceDegree : () -> NonNegativeInteger @@ -73989,7 +74162,8 @@ digraph pic { --S 1 of 1 )show ComplexCategory ---R ComplexCategory R: CommutativeRing is a category constructor +--R +--R ComplexCategory(R: CommutativeRing) is a category constructor --R Abbreviation for ComplexCategory is COMPCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for COMPCAT @@ -74002,28 +74176,28 @@ digraph pic { --R -? : % -> % ?=? : (%,%) -> Boolean --R D : (%,(R -> R)) -> % 1 : () -> % --R 0 : () -> % ?^? : (%,PositiveInteger) -> % ---R abs : % -> % if R has RNS basis : () -> Vector % +--R abs : % -> % if R has RNS basis : () -> Vector(%) --R coerce : R -> % coerce : Integer -> % --R coerce : % -> OutputForm complex : (R,R) -> % ---R conjugate : % -> % convert : Vector R -> % ---R convert : % -> Vector R coordinates : % -> Vector R ---R discriminant : () -> R discriminant : Vector % -> R +--R conjugate : % -> % convert : Vector(R) -> % +--R convert : % -> Vector(R) coordinates : % -> Vector(R) +--R discriminant : () -> R discriminant : Vector(%) -> R --R generator : () -> % hash : % -> SingleInteger --R imag : % -> R imaginary : () -> % --R inv : % -> % if R has FIELD latex : % -> String --R map : ((R -> R),%) -> % norm : % -> R --R one? : % -> Boolean pi : () -> % if R has TRANFUN --R rank : () -> PositiveInteger real : % -> R ---R recip : % -> Union(%,"failed") represents : Vector R -> % +--R recip : % -> Union(%,"failed") represents : Vector(R) -> % --R retract : % -> R sample : () -> % ---R trace : % -> R traceMatrix : () -> Matrix R +--R trace : % -> R traceMatrix : () -> Matrix(R) --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if R has FIELD ---R ?*? : (Fraction Integer,%) -> % if R has FIELD +--R ?*? : (%,Fraction(Integer)) -> % if R has FIELD +--R ?*? : (Fraction(Integer),%) -> % if R has FIELD --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,Integer) -> % if R has FIELD --R ?**? : (%,%) -> % if R has TRANFUN ---R ?**? : (%,Fraction Integer) -> % if R has RADCAT and R has TRANFUN +--R ?**? : (%,Fraction(Integer)) -> % if R has RADCAT and R has TRANFUN --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,%) -> % if R has FIELD --R ? Boolean if R has ORDSET @@ -74032,10 +74206,10 @@ digraph pic { --R ?>=? : (%,%) -> Boolean if R has ORDSET --R D : % -> % if and(has(R,Field),has(R,DifferentialRing)) or R has DIFRING or and(has(R,DifferentialRing),has(R,Field)) --R D : (%,NonNegativeInteger) -> % if and(has(R,Field),has(R,DifferentialRing)) or R has DIFRING or and(has(R,DifferentialRing),has(R,Field)) ---R D : (%,Symbol) -> % if R has PDRING SYMBOL ---R D : (%,List Symbol) -> % if R has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL +--R D : (%,Symbol) -> % if R has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) --R D : (%,(R -> R),NonNegativeInteger) -> % --R ?^? : (%,Integer) -> % if R has FIELD --R ?^? : (%,NonNegativeInteger) -> % @@ -74054,22 +74228,22 @@ digraph pic { --R atan : % -> % if R has TRANFUN --R atanh : % -> % if R has TRANFUN --R characteristic : () -> NonNegativeInteger ---R characteristicPolynomial : % -> SparseUnivariatePolynomial R +--R characteristicPolynomial : % -> SparseUnivariatePolynomial(R) --R charthRoot : % -> Union(%,"failed") if and(has($,CharacteristicNonZero),AND(has(R,EuclideanDomain),has(R,PolynomialFactorizationExplicit))) or R has CHARNZ --R charthRoot : % -> % if R has FFIELDC --R coerce : % -> % if R has INTDOM or R has EUCDOM and R has PFECAT ---R coerce : Fraction Integer -> % if R has FIELD or R has RETRACT FRAC INT ---R conditionP : Matrix % -> Union(Vector %,"failed") if and(has($,CharacteristicNonZero),AND(has(R,EuclideanDomain),has(R,PolynomialFactorizationExplicit))) or R has FFIELDC ---R convert : % -> InputForm if R has KONVERT INFORM ---R convert : % -> Complex DoubleFloat if R has REAL ---R convert : % -> Complex Float if R has REAL ---R convert : % -> Pattern Float if R has KONVERT PATTERN FLOAT ---R convert : % -> Pattern Integer if R has KONVERT PATTERN INT ---R convert : SparseUnivariatePolynomial R -> % ---R convert : % -> SparseUnivariatePolynomial R ---R coordinates : Vector % -> Matrix R ---R coordinates : (Vector %,Vector %) -> Matrix R ---R coordinates : (%,Vector %) -> Vector R +--R coerce : Fraction(Integer) -> % if R has FIELD or R has RETRACT(FRAC(INT)) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if and(has($,CharacteristicNonZero),AND(has(R,EuclideanDomain),has(R,PolynomialFactorizationExplicit))) or R has FFIELDC +--R convert : % -> InputForm if R has KONVERT(INFORM) +--R convert : % -> Complex(DoubleFloat) if R has REAL +--R convert : % -> Complex(Float) if R has REAL +--R convert : % -> Pattern(Float) if R has KONVERT(PATTERN(FLOAT)) +--R convert : % -> Pattern(Integer) if R has KONVERT(PATTERN(INT)) +--R convert : SparseUnivariatePolynomial(R) -> % +--R convert : % -> SparseUnivariatePolynomial(R) +--R coordinates : Vector(%) -> Matrix(R) +--R coordinates : (Vector(%),Vector(%)) -> Matrix(R) +--R coordinates : (%,Vector(%)) -> Vector(R) --R cos : % -> % if R has TRANFUN --R cosh : % -> % if R has TRANFUN --R cot : % -> % if R has TRANFUN @@ -74077,14 +74251,14 @@ digraph pic { --R createPrimitiveElement : () -> % if R has FFIELDC --R csc : % -> % if R has TRANFUN --R csch : % -> % if R has TRANFUN ---R definingPolynomial : () -> SparseUnivariatePolynomial R ---R derivationCoordinates : (Vector %,(R -> R)) -> Matrix R if R has FIELD +--R definingPolynomial : () -> SparseUnivariatePolynomial(R) +--R derivationCoordinates : (Vector(%),(R -> R)) -> Matrix(R) if R has FIELD --R differentiate : % -> % if and(has(R,Field),has(R,DifferentialRing)) or R has DIFRING or and(has(R,DifferentialRing),has(R,Field)) --R differentiate : (%,NonNegativeInteger) -> % if and(has(R,Field),has(R,DifferentialRing)) or R has DIFRING or and(has(R,DifferentialRing),has(R,Field)) ---R differentiate : (%,Symbol) -> % if R has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if R has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) --R differentiate : (%,(R -> R)) -> % --R differentiate : (%,(R -> R),NonNegativeInteger) -> % --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if R has FFIELDC @@ -74093,85 +74267,85 @@ digraph pic { --R ?.? : (%,R) -> % if R has ELTAB(R,R) --R euclideanSize : % -> NonNegativeInteger if R has EUCDOM --R eval : (%,Symbol,R) -> % if R has IEVALAB(SYMBOL,R) ---R eval : (%,List Symbol,List R) -> % if R has IEVALAB(SYMBOL,R) ---R eval : (%,List Equation R) -> % if R has EVALAB R ---R eval : (%,Equation R) -> % if R has EVALAB R ---R eval : (%,R,R) -> % if R has EVALAB R ---R eval : (%,List R,List R) -> % if R has EVALAB R +--R eval : (%,List(Symbol),List(R)) -> % if R has IEVALAB(SYMBOL,R) +--R eval : (%,List(Equation(R))) -> % if R has EVALAB(R) +--R eval : (%,Equation(R)) -> % if R has EVALAB(R) +--R eval : (%,R,R) -> % if R has EVALAB(R) +--R eval : (%,List(R),List(R)) -> % if R has EVALAB(R) --R exp : % -> % if R has TRANFUN ---R expressIdealMember : (List %,%) -> Union(List %,"failed") if R has EUCDOM +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if R has EUCDOM --R exquo : (%,%) -> Union(%,"failed") if R has INTDOM or R has EUCDOM and R has PFECAT --R exquo : (%,R) -> Union(%,"failed") if R has INTDOM --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if R has EUCDOM --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if R has EUCDOM ---R factor : % -> Factored % if R has EUCDOM and R has PFECAT or R has FIELD ---R factorPolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has EUCDOM and R has PFECAT ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has EUCDOM and R has PFECAT ---R factorsOfCyclicGroupSize : () -> List Record(factor: Integer,exponent: Integer) if R has FFIELDC +--R factor : % -> Factored(%) if R has EUCDOM and R has PFECAT or R has FIELD +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has EUCDOM and R has PFECAT +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has EUCDOM and R has PFECAT +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if R has FFIELDC --R gcd : (%,%) -> % if R has EUCDOM or R has EUCDOM and R has PFECAT ---R gcd : List % -> % if R has EUCDOM or R has EUCDOM and R has PFECAT ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has EUCDOM or R has EUCDOM and R has PFECAT +--R gcd : List(%) -> % if R has EUCDOM or R has EUCDOM and R has PFECAT +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has EUCDOM or R has EUCDOM and R has PFECAT --R index : PositiveInteger -> % if R has FINITE --R init : () -> % if R has FFIELDC --R lcm : (%,%) -> % if R has EUCDOM or R has EUCDOM and R has PFECAT ---R lcm : List % -> % if R has EUCDOM or R has EUCDOM and R has PFECAT ---R lift : % -> SparseUnivariatePolynomial R +--R lcm : List(%) -> % if R has EUCDOM or R has EUCDOM and R has PFECAT +--R lift : % -> SparseUnivariatePolynomial(R) --R log : % -> % if R has TRANFUN --R lookup : % -> PositiveInteger if R has FINITE --R max : (%,%) -> % if R has ORDSET --R min : (%,%) -> % if R has ORDSET ---R minimalPolynomial : % -> SparseUnivariatePolynomial R if R has FIELD ---R multiEuclidean : (List %,%) -> Union(List %,"failed") if R has EUCDOM +--R minimalPolynomial : % -> SparseUnivariatePolynomial(R) if R has FIELD +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if R has EUCDOM --R nextItem : % -> Union(%,"failed") if R has FFIELDC --R nthRoot : (%,Integer) -> % if R has RADCAT and R has TRANFUN ---R order : % -> OnePointCompletion PositiveInteger if R has FFIELDC +--R order : % -> OnePointCompletion(PositiveInteger) if R has FFIELDC --R order : % -> PositiveInteger if R has FFIELDC ---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 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 polarCoordinates : % -> Record(r: R,phi: R) if R has RNS and R has TRANFUN --R prime? : % -> Boolean if R has EUCDOM and R has PFECAT or R has FIELD --R primeFrobenius : % -> % if R has FFIELDC --R primeFrobenius : (%,NonNegativeInteger) -> % if R has FFIELDC --R primitive? : % -> Boolean if R has FFIELDC --R primitiveElement : () -> % if R has FFIELDC ---R principalIdeal : List % -> Record(coef: List %,generator: %) if R has EUCDOM +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if R has EUCDOM --R ?quo? : (%,%) -> % if R has EUCDOM --R random : () -> % if R has FINITE ---R rational : % -> Fraction Integer if R has INS +--R rational : % -> Fraction(Integer) if R has INS --R rational? : % -> Boolean if R has INS ---R rationalIfCan : % -> Union(Fraction Integer,"failed") if R has INS ---R reduce : Fraction SparseUnivariatePolynomial R -> Union(%,"failed") if R has FIELD ---R reduce : SparseUnivariatePolynomial R -> % ---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 regularRepresentation : % -> Matrix R ---R regularRepresentation : (%,Vector %) -> Matrix R +--R rationalIfCan : % -> Union(Fraction(Integer),"failed") if R has INS +--R reduce : Fraction(SparseUnivariatePolynomial(R)) -> Union(%,"failed") if R has FIELD +--R reduce : SparseUnivariatePolynomial(R) -> % +--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 regularRepresentation : % -> Matrix(R) +--R regularRepresentation : (%,Vector(%)) -> Matrix(R) --R ?rem? : (%,%) -> % if R has EUCDOM --R representationType : () -> Union("prime",polynomial,normal,cyclic) if R has FFIELDC ---R represents : (Vector R,Vector %) -> % ---R retract : % -> Fraction Integer if R has RETRACT FRAC INT ---R retract : % -> Integer if R has RETRACT INT +--R represents : (Vector(R),Vector(%)) -> % +--R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT)) +--R retract : % -> Integer if R has RETRACT(INT) --R retractIfCan : % -> Union(R,"failed") ---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(Integer,"failed") if R has RETRACT(INT) --R sec : % -> % if R has TRANFUN --R sech : % -> % if R has TRANFUN --R sin : % -> % if R has TRANFUN --R sinh : % -> % if R has TRANFUN --R size : () -> NonNegativeInteger if R has FINITE --R sizeLess? : (%,%) -> Boolean if R has EUCDOM ---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if R has EUCDOM and R has PFECAT +--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if R has EUCDOM and R has PFECAT --R sqrt : % -> % if R has RADCAT and R has TRANFUN ---R squareFree : % -> Factored % if R has EUCDOM and R has PFECAT or R has FIELD +--R squareFree : % -> Factored(%) if R has EUCDOM and R has PFECAT or R has FIELD --R squareFreePart : % -> % if R has EUCDOM and R has PFECAT or R has FIELD ---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has EUCDOM and R has PFECAT +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has EUCDOM and R has PFECAT --R subtractIfCan : (%,%) -> Union(%,"failed") --R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if R has FFIELDC --R tan : % -> % if R has TRANFUN --R tanh : % -> % if R has TRANFUN ---R traceMatrix : Vector % -> Matrix R +--R traceMatrix : Vector(%) -> Matrix(R) --R unit? : % -> Boolean if R has INTDOM or R has EUCDOM and R has PFECAT --R unitCanonical : % -> % if R has INTDOM or R has EUCDOM and R has PFECAT --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if R has INTDOM or R has EUCDOM and R has PFECAT @@ -75137,160 +75311,162 @@ digraph pic { --S 1 of 1 )show FunctionFieldCategory ---R FunctionFieldCategory(F: UniqueFactorizationDomain,UP: UnivariatePolynomialCategory t#1,UPUP: UnivariatePolynomialCategory Fraction t#2) is a category constructor +--R +--R FunctionFieldCategory(F: UniqueFactorizationDomain,UP: UnivariatePolynomialCategory(t#1),UPUP: UnivariatePolynomialCategory(Fraction(t#2))) is a category constructor --R Abbreviation for FunctionFieldCategory is FFCAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for FFCAT --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction UP,%) -> % ?*? : (%,Fraction UP) -> % +--R ?*? : (Fraction(UP),%) -> % ?*? : (%,Fraction(UP)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> % --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % ---R ?^? : (%,PositiveInteger) -> % basis : () -> Vector % +--R ?^? : (%,PositiveInteger) -> % basis : () -> Vector(%) --R branchPoint? : UP -> Boolean branchPoint? : F -> Boolean ---R coerce : Fraction UP -> % coerce : Integer -> % +--R coerce : Fraction(UP) -> % coerce : Integer -> % --R coerce : % -> OutputForm convert : UPUP -> % ---R convert : % -> UPUP convert : Vector Fraction UP -> % ---R convert : % -> Vector Fraction UP definingPolynomial : () -> UPUP ---R discriminant : () -> Fraction UP elt : (%,F,F) -> F +--R convert : % -> UPUP definingPolynomial : () -> UPUP +--R discriminant : () -> Fraction(UP) elt : (%,F,F) -> F --R generator : () -> % genus : () -> NonNegativeInteger --R hash : % -> SingleInteger integral? : (%,UP) -> Boolean --R integral? : (%,F) -> Boolean integral? : % -> Boolean ---R integralBasis : () -> Vector % latex : % -> String ---R lift : % -> UPUP norm : % -> Fraction UP +--R integralBasis : () -> Vector(%) latex : % -> String +--R lift : % -> UPUP norm : % -> Fraction(UP) --R one? : % -> Boolean primitivePart : % -> % --R ramified? : UP -> Boolean ramified? : F -> Boolean --R rank : () -> PositiveInteger rationalPoint? : (F,F) -> Boolean --R recip : % -> Union(%,"failed") reduce : UPUP -> % ---R represents : (Vector UP,UP) -> % retract : % -> Fraction UP +--R represents : (Vector(UP),UP) -> % retract : % -> Fraction(UP) --R sample : () -> % singular? : UP -> Boolean ---R singular? : F -> Boolean trace : % -> Fraction UP +--R singular? : F -> Boolean trace : % -> Fraction(UP) --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if Fraction UP has FIELD ---R ?*? : (Fraction Integer,%) -> % if Fraction UP has FIELD +--R ?*? : (%,Fraction(Integer)) -> % if Fraction(UP) has FIELD +--R ?*? : (Fraction(Integer),%) -> % if Fraction(UP) has FIELD --R ?*? : (NonNegativeInteger,%) -> % ---R ?**? : (%,Integer) -> % if Fraction UP has FIELD +--R ?**? : (%,Integer) -> % if Fraction(UP) has FIELD --R ?**? : (%,NonNegativeInteger) -> % ---R ?/? : (%,%) -> % if Fraction UP has FIELD ---R D : % -> % if and(has(Fraction UP,Field),has(Fraction UP,DifferentialRing)) or and(has(Fraction UP,DifferentialRing),has(Fraction UP,Field)) or Fraction UP has FFIELDC ---R D : (%,NonNegativeInteger) -> % if and(has(Fraction UP,Field),has(Fraction UP,DifferentialRing)) or and(has(Fraction UP,DifferentialRing),has(Fraction UP,Field)) or Fraction UP has FFIELDC ---R D : (%,Symbol) -> % if and(has(Fraction UP,Field),has(Fraction UP,PartialDifferentialRing Symbol)) or and(has(Fraction UP,PartialDifferentialRing Symbol),has(Fraction UP,Field)) ---R D : (%,List Symbol) -> % if and(has(Fraction UP,Field),has(Fraction UP,PartialDifferentialRing Symbol)) or and(has(Fraction UP,PartialDifferentialRing Symbol),has(Fraction UP,Field)) ---R D : (%,Symbol,NonNegativeInteger) -> % if and(has(Fraction UP,Field),has(Fraction UP,PartialDifferentialRing Symbol)) or and(has(Fraction UP,PartialDifferentialRing Symbol),has(Fraction UP,Field)) ---R D : (%,List Symbol,List NonNegativeInteger) -> % if and(has(Fraction UP,Field),has(Fraction UP,PartialDifferentialRing Symbol)) or and(has(Fraction UP,PartialDifferentialRing Symbol),has(Fraction UP,Field)) ---R D : (%,(Fraction UP -> Fraction UP)) -> % if Fraction UP has FIELD ---R D : (%,(Fraction UP -> Fraction UP),NonNegativeInteger) -> % if Fraction UP has FIELD ---R ?^? : (%,Integer) -> % if Fraction UP has FIELD +--R ?/? : (%,%) -> % if Fraction(UP) has FIELD +--R D : % -> % if and(has(Fraction(UP),Field),has(Fraction(UP),DifferentialRing)) or and(has(Fraction(UP),DifferentialRing),has(Fraction(UP),Field)) or Fraction(UP) has FFIELDC +--R D : (%,NonNegativeInteger) -> % if and(has(Fraction(UP),Field),has(Fraction(UP),DifferentialRing)) or and(has(Fraction(UP),DifferentialRing),has(Fraction(UP),Field)) or Fraction(UP) has FFIELDC +--R D : (%,Symbol) -> % if and(has(Fraction(UP),Field),has(Fraction(UP),PartialDifferentialRing(Symbol))) or and(has(Fraction(UP),PartialDifferentialRing(Symbol)),has(Fraction(UP),Field)) +--R D : (%,List(Symbol)) -> % if and(has(Fraction(UP),Field),has(Fraction(UP),PartialDifferentialRing(Symbol))) or and(has(Fraction(UP),PartialDifferentialRing(Symbol)),has(Fraction(UP),Field)) +--R D : (%,Symbol,NonNegativeInteger) -> % if and(has(Fraction(UP),Field),has(Fraction(UP),PartialDifferentialRing(Symbol))) or and(has(Fraction(UP),PartialDifferentialRing(Symbol)),has(Fraction(UP),Field)) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if and(has(Fraction(UP),Field),has(Fraction(UP),PartialDifferentialRing(Symbol))) or and(has(Fraction(UP),PartialDifferentialRing(Symbol)),has(Fraction(UP),Field)) +--R D : (%,(Fraction(UP) -> Fraction(UP))) -> % if Fraction(UP) has FIELD +--R D : (%,(Fraction(UP) -> Fraction(UP)),NonNegativeInteger) -> % if Fraction(UP) has FIELD +--R ?^? : (%,Integer) -> % if Fraction(UP) has FIELD --R ?^? : (%,NonNegativeInteger) -> % --R absolutelyIrreducible? : () -> Boolean --R algSplitSimple : (%,(UP -> UP)) -> Record(num: %,den: UP,derivden: UP,gd: UP) ---R associates? : (%,%) -> Boolean if Fraction UP has FIELD +--R associates? : (%,%) -> Boolean if Fraction(UP) has FIELD --R branchPointAtInfinity? : () -> Boolean --R characteristic : () -> NonNegativeInteger --R characteristicPolynomial : % -> UPUP ---R charthRoot : % -> Union(%,"failed") if Fraction UP has CHARNZ ---R charthRoot : % -> % if Fraction UP has FFIELDC ---R coerce : % -> % if Fraction UP has FIELD ---R coerce : Fraction Integer -> % if Fraction UP has FIELD or Fraction UP has RETRACT FRAC INT ---R complementaryBasis : Vector % -> Vector % ---R conditionP : Matrix % -> Union(Vector %,"failed") if Fraction UP has FFIELDC ---R coordinates : Vector % -> Matrix Fraction UP ---R coordinates : % -> Vector Fraction UP ---R coordinates : (Vector %,Vector %) -> Matrix Fraction UP ---R coordinates : (%,Vector %) -> Vector Fraction UP ---R createPrimitiveElement : () -> % if Fraction UP has FFIELDC ---R derivationCoordinates : (Vector %,(Fraction UP -> Fraction UP)) -> Matrix Fraction UP if Fraction UP has FIELD ---R differentiate : % -> % if and(has(Fraction UP,Field),has(Fraction UP,DifferentialRing)) or and(has(Fraction UP,DifferentialRing),has(Fraction UP,Field)) or Fraction UP has FFIELDC ---R differentiate : (%,NonNegativeInteger) -> % if and(has(Fraction UP,Field),has(Fraction UP,DifferentialRing)) or and(has(Fraction UP,DifferentialRing),has(Fraction UP,Field)) or Fraction UP has FFIELDC ---R differentiate : (%,Symbol) -> % if and(has(Fraction UP,Field),has(Fraction UP,PartialDifferentialRing Symbol)) or and(has(Fraction UP,PartialDifferentialRing Symbol),has(Fraction UP,Field)) ---R differentiate : (%,List Symbol) -> % if and(has(Fraction UP,Field),has(Fraction UP,PartialDifferentialRing Symbol)) or and(has(Fraction UP,PartialDifferentialRing Symbol),has(Fraction UP,Field)) ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if and(has(Fraction UP,Field),has(Fraction UP,PartialDifferentialRing Symbol)) or and(has(Fraction UP,PartialDifferentialRing Symbol),has(Fraction UP,Field)) ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if and(has(Fraction UP,Field),has(Fraction UP,PartialDifferentialRing Symbol)) or and(has(Fraction UP,PartialDifferentialRing Symbol),has(Fraction UP,Field)) +--R charthRoot : % -> Union(%,"failed") if Fraction(UP) has CHARNZ +--R charthRoot : % -> % if Fraction(UP) has FFIELDC +--R coerce : % -> % if Fraction(UP) has FIELD +--R coerce : Fraction(Integer) -> % if Fraction(UP) has FIELD or Fraction(UP) has RETRACT(FRAC(INT)) +--R complementaryBasis : Vector(%) -> Vector(%) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if Fraction(UP) has FFIELDC +--R convert : Vector(Fraction(UP)) -> % +--R convert : % -> Vector(Fraction(UP)) +--R coordinates : Vector(%) -> Matrix(Fraction(UP)) +--R coordinates : % -> Vector(Fraction(UP)) +--R coordinates : (Vector(%),Vector(%)) -> Matrix(Fraction(UP)) +--R coordinates : (%,Vector(%)) -> Vector(Fraction(UP)) +--R createPrimitiveElement : () -> % if Fraction(UP) has FFIELDC +--R derivationCoordinates : (Vector(%),(Fraction(UP) -> Fraction(UP))) -> Matrix(Fraction(UP)) if Fraction(UP) has FIELD +--R differentiate : % -> % if and(has(Fraction(UP),Field),has(Fraction(UP),DifferentialRing)) or and(has(Fraction(UP),DifferentialRing),has(Fraction(UP),Field)) or Fraction(UP) has FFIELDC +--R differentiate : (%,NonNegativeInteger) -> % if and(has(Fraction(UP),Field),has(Fraction(UP),DifferentialRing)) or and(has(Fraction(UP),DifferentialRing),has(Fraction(UP),Field)) or Fraction(UP) has FFIELDC +--R differentiate : (%,Symbol) -> % if and(has(Fraction(UP),Field),has(Fraction(UP),PartialDifferentialRing(Symbol))) or and(has(Fraction(UP),PartialDifferentialRing(Symbol)),has(Fraction(UP),Field)) +--R differentiate : (%,List(Symbol)) -> % if and(has(Fraction(UP),Field),has(Fraction(UP),PartialDifferentialRing(Symbol))) or and(has(Fraction(UP),PartialDifferentialRing(Symbol)),has(Fraction(UP),Field)) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if and(has(Fraction(UP),Field),has(Fraction(UP),PartialDifferentialRing(Symbol))) or and(has(Fraction(UP),PartialDifferentialRing(Symbol)),has(Fraction(UP),Field)) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if and(has(Fraction(UP),Field),has(Fraction(UP),PartialDifferentialRing(Symbol))) or and(has(Fraction(UP),PartialDifferentialRing(Symbol)),has(Fraction(UP),Field)) --R differentiate : (%,(UP -> UP)) -> % ---R differentiate : (%,(Fraction UP -> Fraction UP)) -> % if Fraction UP has FIELD ---R differentiate : (%,(Fraction UP -> Fraction UP),NonNegativeInteger) -> % if Fraction UP has FIELD ---R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if Fraction UP has FFIELDC ---R discreteLog : % -> NonNegativeInteger if Fraction UP has FFIELDC ---R discriminant : Vector % -> Fraction UP ---R divide : (%,%) -> Record(quotient: %,remainder: %) if Fraction UP has FIELD +--R differentiate : (%,(Fraction(UP) -> Fraction(UP))) -> % if Fraction(UP) has FIELD +--R differentiate : (%,(Fraction(UP) -> Fraction(UP)),NonNegativeInteger) -> % if Fraction(UP) has FIELD +--R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if Fraction(UP) has FFIELDC +--R discreteLog : % -> NonNegativeInteger if Fraction(UP) has FFIELDC +--R discriminant : Vector(%) -> Fraction(UP) +--R divide : (%,%) -> Record(quotient: %,remainder: %) if Fraction(UP) has FIELD --R elliptic : () -> Union(UP,"failed") ---R euclideanSize : % -> NonNegativeInteger if Fraction UP has FIELD ---R expressIdealMember : (List %,%) -> Union(List %,"failed") if Fraction UP has FIELD ---R exquo : (%,%) -> Union(%,"failed") if Fraction UP has FIELD ---R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if Fraction UP has FIELD ---R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if Fraction UP has FIELD ---R factor : % -> Factored % if Fraction UP has FIELD ---R factorsOfCyclicGroupSize : () -> List Record(factor: Integer,exponent: Integer) if Fraction UP has FFIELDC ---R gcd : (%,%) -> % if Fraction UP has FIELD ---R gcd : List % -> % if Fraction UP has FIELD ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if Fraction UP has FIELD +--R euclideanSize : % -> NonNegativeInteger if Fraction(UP) has FIELD +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if Fraction(UP) has FIELD +--R exquo : (%,%) -> Union(%,"failed") if Fraction(UP) has FIELD +--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if Fraction(UP) has FIELD +--R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if Fraction(UP) has FIELD +--R factor : % -> Factored(%) if Fraction(UP) has FIELD +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if Fraction(UP) has FFIELDC +--R gcd : (%,%) -> % if Fraction(UP) has FIELD +--R gcd : List(%) -> % if Fraction(UP) has FIELD +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if Fraction(UP) has FIELD --R hyperelliptic : () -> Union(UP,"failed") ---R index : PositiveInteger -> % if Fraction UP has FINITE ---R init : () -> % if Fraction UP has FFIELDC +--R index : PositiveInteger -> % if Fraction(UP) has FINITE +--R init : () -> % if Fraction(UP) has FFIELDC --R integralAtInfinity? : % -> Boolean ---R integralBasisAtInfinity : () -> Vector % ---R integralCoordinates : % -> Record(num: Vector UP,den: UP) ---R integralDerivationMatrix : (UP -> UP) -> Record(num: Matrix UP,den: UP) ---R integralMatrix : () -> Matrix Fraction UP ---R integralMatrixAtInfinity : () -> Matrix Fraction UP ---R integralRepresents : (Vector UP,UP) -> % ---R inv : % -> % if Fraction UP has FIELD ---R inverseIntegralMatrix : () -> Matrix Fraction UP ---R inverseIntegralMatrixAtInfinity : () -> Matrix Fraction UP ---R lcm : (%,%) -> % if Fraction UP has FIELD ---R lcm : List % -> % if Fraction UP has FIELD ---R lookup : % -> PositiveInteger if Fraction UP has FINITE ---R minimalPolynomial : % -> UPUP if Fraction UP has FIELD ---R multiEuclidean : (List %,%) -> Union(List %,"failed") if Fraction UP has FIELD ---R nextItem : % -> Union(%,"failed") if Fraction UP has FFIELDC ---R nonSingularModel : Symbol -> List Polynomial F if F has FIELD ---R normalizeAtInfinity : Vector % -> Vector % +--R integralBasisAtInfinity : () -> Vector(%) +--R integralCoordinates : % -> Record(num: Vector(UP),den: UP) +--R integralDerivationMatrix : (UP -> UP) -> Record(num: Matrix(UP),den: UP) +--R integralMatrix : () -> Matrix(Fraction(UP)) +--R integralMatrixAtInfinity : () -> Matrix(Fraction(UP)) +--R integralRepresents : (Vector(UP),UP) -> % +--R inv : % -> % if Fraction(UP) has FIELD +--R inverseIntegralMatrix : () -> Matrix(Fraction(UP)) +--R inverseIntegralMatrixAtInfinity : () -> Matrix(Fraction(UP)) +--R lcm : (%,%) -> % if Fraction(UP) has FIELD +--R lcm : List(%) -> % if Fraction(UP) has FIELD +--R lookup : % -> PositiveInteger if Fraction(UP) has FINITE +--R minimalPolynomial : % -> UPUP if Fraction(UP) has FIELD +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if Fraction(UP) has FIELD +--R nextItem : % -> Union(%,"failed") if Fraction(UP) has FFIELDC +--R nonSingularModel : Symbol -> List(Polynomial(F)) if F has FIELD +--R normalizeAtInfinity : Vector(%) -> Vector(%) --R numberOfComponents : () -> NonNegativeInteger ---R order : % -> OnePointCompletion PositiveInteger if Fraction UP has FFIELDC ---R order : % -> PositiveInteger if Fraction UP has FFIELDC ---R prime? : % -> Boolean if Fraction UP has FIELD ---R primeFrobenius : % -> % if Fraction UP has FFIELDC ---R primeFrobenius : (%,NonNegativeInteger) -> % if Fraction UP has FFIELDC ---R primitive? : % -> Boolean if Fraction UP has FFIELDC ---R primitiveElement : () -> % if Fraction UP has FFIELDC ---R principalIdeal : List % -> Record(coef: List %,generator: %) if Fraction UP has FIELD ---R ?quo? : (%,%) -> % if Fraction UP has FIELD +--R order : % -> OnePointCompletion(PositiveInteger) if Fraction(UP) has FFIELDC +--R order : % -> PositiveInteger if Fraction(UP) has FFIELDC +--R prime? : % -> Boolean if Fraction(UP) has FIELD +--R primeFrobenius : % -> % if Fraction(UP) has FFIELDC +--R primeFrobenius : (%,NonNegativeInteger) -> % if Fraction(UP) has FFIELDC +--R primitive? : % -> Boolean if Fraction(UP) has FFIELDC +--R primitiveElement : () -> % if Fraction(UP) has FFIELDC +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if Fraction(UP) has FIELD +--R ?quo? : (%,%) -> % if Fraction(UP) has FIELD --R ramifiedAtInfinity? : () -> Boolean ---R random : () -> % if Fraction UP has FINITE ---R rationalPoints : () -> List List F if F has FINITE ---R reduce : Fraction UPUP -> Union(%,"failed") if Fraction UP has FIELD ---R reduceBasisAtInfinity : Vector % -> Vector % ---R reducedSystem : Matrix % -> Matrix Fraction UP ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Fraction UP,vec: Vector Fraction UP) ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if Fraction UP has LINEXP INT ---R reducedSystem : Matrix % -> Matrix Integer if Fraction UP has LINEXP INT ---R regularRepresentation : % -> Matrix Fraction UP ---R regularRepresentation : (%,Vector %) -> Matrix Fraction UP ---R ?rem? : (%,%) -> % if Fraction UP has FIELD ---R representationType : () -> Union("prime",polynomial,normal,cyclic) if Fraction UP has FFIELDC ---R represents : Vector Fraction UP -> % ---R represents : (Vector Fraction UP,Vector %) -> % ---R retract : % -> Fraction Integer if Fraction UP has RETRACT FRAC INT ---R retract : % -> Integer if Fraction UP has RETRACT INT ---R retractIfCan : % -> Union(Fraction UP,"failed") ---R retractIfCan : % -> Union(Fraction Integer,"failed") if Fraction UP has RETRACT FRAC INT ---R retractIfCan : % -> Union(Integer,"failed") if Fraction UP has RETRACT INT +--R random : () -> % if Fraction(UP) has FINITE +--R rationalPoints : () -> List(List(F)) if F has FINITE +--R reduce : Fraction(UPUP) -> Union(%,"failed") if Fraction(UP) has FIELD +--R reduceBasisAtInfinity : Vector(%) -> Vector(%) +--R reducedSystem : Matrix(%) -> Matrix(Fraction(UP)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Fraction(UP)),vec: Vector(Fraction(UP))) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if Fraction(UP) has LINEXP(INT) +--R reducedSystem : Matrix(%) -> Matrix(Integer) if Fraction(UP) has LINEXP(INT) +--R regularRepresentation : % -> Matrix(Fraction(UP)) +--R regularRepresentation : (%,Vector(%)) -> Matrix(Fraction(UP)) +--R ?rem? : (%,%) -> % if Fraction(UP) has FIELD +--R representationType : () -> Union("prime",polynomial,normal,cyclic) if Fraction(UP) has FFIELDC +--R represents : Vector(Fraction(UP)) -> % +--R represents : (Vector(Fraction(UP)),Vector(%)) -> % +--R retract : % -> Fraction(Integer) if Fraction(UP) has RETRACT(FRAC(INT)) +--R retract : % -> Integer if Fraction(UP) has RETRACT(INT) +--R retractIfCan : % -> Union(Fraction(UP),"failed") +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if Fraction(UP) has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(Integer,"failed") if Fraction(UP) has RETRACT(INT) --R singularAtInfinity? : () -> Boolean ---R size : () -> NonNegativeInteger if Fraction UP has FINITE ---R sizeLess? : (%,%) -> Boolean if Fraction UP has FIELD ---R squareFree : % -> Factored % if Fraction UP has FIELD ---R squareFreePart : % -> % if Fraction UP has FIELD +--R size : () -> NonNegativeInteger if Fraction(UP) has FINITE +--R sizeLess? : (%,%) -> Boolean if Fraction(UP) has FIELD +--R squareFree : % -> Factored(%) if Fraction(UP) has FIELD +--R squareFreePart : % -> % if Fraction(UP) has FIELD --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if Fraction UP has FFIELDC ---R traceMatrix : () -> Matrix Fraction UP ---R traceMatrix : Vector % -> Matrix Fraction UP ---R unit? : % -> Boolean if Fraction UP has FIELD ---R unitCanonical : % -> % if Fraction UP has FIELD ---R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if Fraction UP has FIELD ---R yCoordinates : % -> Record(num: Vector UP,den: UP) +--R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if Fraction(UP) has FFIELDC +--R traceMatrix : () -> Matrix(Fraction(UP)) +--R traceMatrix : Vector(%) -> Matrix(Fraction(UP)) +--R unit? : % -> Boolean if Fraction(UP) has FIELD +--R unitCanonical : % -> % if Fraction(UP) has FIELD +--R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if Fraction(UP) has FIELD +--R yCoordinates : % -> Record(num: Vector(UP),den: UP) --R --E 1 @@ -76301,85 +76477,86 @@ digraph pic { --S 1 of 1 )show PseudoAlgebraicClosureOfAlgExtOfRationalNumberCategory +--R --R PseudoAlgebraicClosureOfAlgExtOfRationalNumberCategory is a category constructor --R Abbreviation for PseudoAlgebraicClosureOfAlgExtOfRationalNumberCategory is PACEXTC --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.2.pamphlet to see algebra source code for PACEXTC --R --R------------------------------- Operations -------------------------------- ---R ?*? : (%,Fraction Integer) -> % ?*? : (Fraction Integer,%) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (%,Fraction(Integer)) -> % ?*? : (Fraction(Integer),%) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % --R ?-? : (%,%) -> % -? : % -> % ---R ?/? : (%,Fraction Integer) -> % ?/? : (%,%) -> % +--R ?/? : (%,Fraction(Integer)) -> % ?/? : (%,%) -> % --R ?=? : (%,%) -> Boolean 1 : () -> % --R 0 : () -> % ?^? : (%,Integer) -> % --R ?^? : (%,PositiveInteger) -> % algebraic? : % -> Boolean ---R associates? : (%,%) -> Boolean coerce : Fraction Integer -> % ---R coerce : Fraction Integer -> % coerce : Integer -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R associates? : (%,%) -> Boolean coerce : Fraction(Integer) -> % +--R coerce : Fraction(Integer) -> % coerce : Integer -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm --R conjugate : % -> % dimension : () -> CardinalNumber ---R extDegree : % -> PositiveInteger factor : % -> Factored % ---R fullOutput : % -> OutputForm gcd : List % -> % +--R extDegree : % -> PositiveInteger factor : % -> Factored(%) +--R fullOutput : % -> OutputForm gcd : List(%) -> % --R gcd : (%,%) -> % ground? : % -> Boolean --R hash : % -> SingleInteger inGroundField? : % -> Boolean --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % ---R maxTower : List % -> % one? : % -> Boolean +--R lcm : List(%) -> % lcm : (%,%) -> % +--R maxTower : List(%) -> % one? : % -> Boolean --R previousTower : % -> % prime? : % -> Boolean --R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") ---R ?rem? : (%,%) -> % retract : % -> Fraction Integer ---R retract : % -> Fraction Integer retract : % -> Integer +--R ?rem? : (%,%) -> % retract : % -> Fraction(Integer) +--R retract : % -> Fraction(Integer) retract : % -> Integer --R sample : () -> % setTower! : % -> Void ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) --R squareFreePart : % -> % transcendent? : % -> Boolean --R unit? : % -> Boolean unitCanonical : % -> % ---R vectorise : (%,%) -> Vector % zero? : % -> Boolean +--R vectorise : (%,%) -> Vector(%) zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (%,PseudoAlgebraicClosureOfRationalNumber) -> % --R ?*? : (PseudoAlgebraicClosureOfRationalNumber,%) -> % --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,PseudoAlgebraicClosureOfRationalNumber) -> % ---R Frobenius : % -> % if PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction Integer has FINITE ---R Frobenius : (%,NonNegativeInteger) -> % if PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction Integer has FINITE +--R Frobenius : % -> % if PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction(Integer) has FINITE +--R Frobenius : (%,NonNegativeInteger) -> % if PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction(Integer) has FINITE --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R charthRoot : % -> Union(%,"failed") if PseudoAlgebraicClosureOfRationalNumber has CHARNZ or PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction Integer has CHARNZ or Fraction Integer has FINITE +--R charthRoot : % -> Union(%,"failed") if PseudoAlgebraicClosureOfRationalNumber has CHARNZ or PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction(Integer) has CHARNZ or Fraction(Integer) has FINITE --R coerce : PseudoAlgebraicClosureOfRationalNumber -> % --R coerce : PseudoAlgebraicClosureOfRationalNumber -> % ---R definingPolynomial : % -> SparseUnivariatePolynomial % ---R definingPolynomial : () -> SparseUnivariatePolynomial % ---R degree : % -> OnePointCompletion PositiveInteger ---R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if PseudoAlgebraicClosureOfRationalNumber has CHARNZ or PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction Integer has CHARNZ or Fraction Integer has FINITE ---R distinguishedRootsOf : (SparseUnivariatePolynomial %,%) -> List % +--R definingPolynomial : % -> SparseUnivariatePolynomial(%) +--R definingPolynomial : () -> SparseUnivariatePolynomial(%) +--R degree : % -> OnePointCompletion(PositiveInteger) +--R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if PseudoAlgebraicClosureOfRationalNumber has CHARNZ or PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction(Integer) has CHARNZ or Fraction(Integer) has FINITE +--R distinguishedRootsOf : (SparseUnivariatePolynomial(%),%) -> List(%) --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R extensionDegree : () -> OnePointCompletion PositiveInteger ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R lift : (%,%) -> SparseUnivariatePolynomial % ---R lift : % -> SparseUnivariatePolynomial % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R newElement : (SparseUnivariatePolynomial %,Symbol) -> % ---R newElement : (SparseUnivariatePolynomial %,%,Symbol) -> % ---R order : % -> OnePointCompletion PositiveInteger if PseudoAlgebraicClosureOfRationalNumber has CHARNZ or PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction Integer has CHARNZ or Fraction Integer has FINITE ---R primeFrobenius : % -> % if PseudoAlgebraicClosureOfRationalNumber has CHARNZ or PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction Integer has CHARNZ or Fraction Integer has FINITE ---R primeFrobenius : (%,NonNegativeInteger) -> % if PseudoAlgebraicClosureOfRationalNumber has CHARNZ or PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction Integer has CHARNZ or Fraction Integer has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R reduce : SparseUnivariatePolynomial % -> % +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R lift : (%,%) -> SparseUnivariatePolynomial(%) +--R lift : % -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R newElement : (SparseUnivariatePolynomial(%),Symbol) -> % +--R newElement : (SparseUnivariatePolynomial(%),%,Symbol) -> % +--R order : % -> OnePointCompletion(PositiveInteger) if PseudoAlgebraicClosureOfRationalNumber has CHARNZ or PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction(Integer) has CHARNZ or Fraction(Integer) has FINITE +--R primeFrobenius : % -> % if PseudoAlgebraicClosureOfRationalNumber has CHARNZ or PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction(Integer) has CHARNZ or Fraction(Integer) has FINITE +--R primeFrobenius : (%,NonNegativeInteger) -> % if PseudoAlgebraicClosureOfRationalNumber has CHARNZ or PseudoAlgebraicClosureOfRationalNumber has FINITE or Fraction(Integer) has CHARNZ or Fraction(Integer) has FINITE +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R reduce : SparseUnivariatePolynomial(%) -> % --R retract : % -> PseudoAlgebraicClosureOfRationalNumber --R retract : % -> PseudoAlgebraicClosureOfRationalNumber --R retractIfCan : % -> Union(PseudoAlgebraicClosureOfRationalNumber,"failed") --R retractIfCan : % -> Union(PseudoAlgebraicClosureOfRationalNumber,"failed") ---R retractIfCan : % -> Union(Fraction Integer,"failed") ---R retractIfCan : % -> Union(Fraction Integer,"failed") +--R retractIfCan : % -> Union(Fraction(Integer),"failed") +--R retractIfCan : % -> Union(Fraction(Integer),"failed") --R retractIfCan : % -> Union(Integer,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") --R transcendenceDegree : () -> NonNegativeInteger diff --git a/changelog b/changelog index df33128..700f1e1 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20120303 tpd src/axiom-website/patches.html 20120303.01.tpd.patch +20120303 tpd books/bookvol10.2 fix bug 7217 20120302 tpd src/axiom-website/patches.html 20120302.03.tpd.patch 20120302 tpd src/input/schaum9.input fix bug 7217 20120302 tpd src/input/schaum8.input fix bug 7217 diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 6989d21..e4a2765 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -3838,5 +3838,7 @@ books/bookvol0 add )tangle and )regress commands
buglist add bugs found during regression test review
20120302.03.tpd.patch src/input/* fix bug 7217
+20120303.01.tpd.patch +books/bookvol10.2 fix bug 7217