diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet index 3beba17..6bf7891 100644 --- a/books/bookvol10.3.pamphlet +++ b/books/bookvol10.3.pamphlet @@ -258,26 +258,27 @@ in the bootstrap set. Thus, --S 1 of 1 )show AffinePlane ---R AffinePlane K: Field is a domain constructor +--R +--R AffinePlane(K: Field) is a domain constructor --R Abbreviation for AffinePlane is AFFPL --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for AFFPL --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 @@ -336,7 +337,8 @@ AffinePlane(K):Exports == Implementation where --S 1 of 1 )show AffinePlaneOverPseudoAlgebraicClosureOfFiniteField ---R AffinePlaneOverPseudoAlgebraicClosureOfFiniteField K: FiniteFieldCategory is a domain constructor +--R +--R AffinePlaneOverPseudoAlgebraicClosureOfFiniteField(K: FiniteFieldCategory) is a domain constructor --R Abbreviation for AffinePlaneOverPseudoAlgebraicClosureOfFiniteField is AFFPLPS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for AFFPLPS @@ -345,21 +347,21 @@ AffinePlane(K):Exports == Implementation where --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R conjugate : % -> % degree : % -> PositiveInteger --R hash : % -> SingleInteger latex : % -> String ---R orbit : % -> List % origin : () -> % +--R orbit : % -> List(%) origin : () -> % --R rational? : % -> Boolean ?~=? : (%,%) -> Boolean ---R affinePoint : List PseudoAlgebraicClosureOfFiniteField K -> % ---R coerce : List PseudoAlgebraicClosureOfFiniteField K -> % ---R coerce : % -> List PseudoAlgebraicClosureOfFiniteField K +--R affinePoint : List(PseudoAlgebraicClosureOfFiniteField(K)) -> % +--R coerce : List(PseudoAlgebraicClosureOfFiniteField(K)) -> % +--R coerce : % -> List(PseudoAlgebraicClosureOfFiniteField(K)) --R conjugate : (%,NonNegativeInteger) -> % ---R definingField : % -> PseudoAlgebraicClosureOfFiniteField K ---R ?.? : (%,Integer) -> PseudoAlgebraicClosureOfFiniteField K ---R list : % -> List PseudoAlgebraicClosureOfFiniteField K ---R orbit : (%,NonNegativeInteger) -> List % ---R pointValue : % -> List PseudoAlgebraicClosureOfFiniteField K +--R definingField : % -> PseudoAlgebraicClosureOfFiniteField(K) +--R ?.? : (%,Integer) -> PseudoAlgebraicClosureOfFiniteField(K) +--R list : % -> List(PseudoAlgebraicClosureOfFiniteField(K)) +--R orbit : (%,NonNegativeInteger) -> List(%) +--R pointValue : % -> List(PseudoAlgebraicClosureOfFiniteField(K)) --R rational? : (%,NonNegativeInteger) -> Boolean ---R removeConjugate : List % -> List % ---R removeConjugate : (List %,NonNegativeInteger) -> List % ---R setelt : (%,Integer,PseudoAlgebraicClosureOfFiniteField K) -> PseudoAlgebraicClosureOfFiniteField K +--R removeConjugate : List(%) -> List(%) +--R removeConjugate : (List(%),NonNegativeInteger) -> List(%) +--R setelt : (%,Integer,PseudoAlgebraicClosureOfFiniteField(K)) -> PseudoAlgebraicClosureOfFiniteField(K) --R --E 1 @@ -436,26 +438,27 @@ AffinePlaneOverPseudoAlgebraicClosureOfFiniteField(K):Exports == Impl where --S 1 of 1 )show AffineSpace +--R --R AffineSpace(dim: NonNegativeInteger,K: Field) is a domain constructor --R Abbreviation for AffineSpace is AFFSP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for AFFSP --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 @@ -618,7 +621,8 @@ AffineSpace(dim,K):Exports == Implementation where --S 1 of 1 )show AlgebraGivenByStructuralConstants ---R AlgebraGivenByStructuralConstants(R: Field,n: PositiveInteger,ls: List Symbol,gamma: Vector Matrix R) is a domain constructor +--R +--R AlgebraGivenByStructuralConstants(R: Field,n: PositiveInteger,ls: List(Symbol),gamma: Vector(Matrix(R))) is a domain constructor --R Abbreviation for AlgebraGivenByStructuralConstants is ALGSC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ALGSC @@ -632,59 +636,59 @@ AffineSpace(dim,K):Exports == Implementation where --R ?=? : (%,%) -> Boolean 0 : () -> % --R alternative? : () -> Boolean antiAssociative? : () -> Boolean --R antiCommutative? : () -> Boolean antiCommutator : (%,%) -> % ---R apply : (Matrix R,%) -> % associative? : () -> Boolean ---R associator : (%,%,%) -> % basis : () -> Vector % ---R coerce : Vector R -> % coerce : % -> OutputForm +--R apply : (Matrix(R),%) -> % associative? : () -> Boolean +--R associator : (%,%,%) -> % basis : () -> Vector(%) +--R coerce : Vector(R) -> % 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 @@ -1190,161 +1194,163 @@ AlgebraGivenByStructuralConstants(R:Field, n : PositiveInteger,_ --S 1 of 1 )show AlgebraicFunctionField ---R AlgebraicFunctionField(F: Field,UP: UnivariatePolynomialCategory F,UPUP: UnivariatePolynomialCategory Fraction UP,modulus: UPUP) is a domain constructor +--R +--R AlgebraicFunctionField(F: Field,UP: UnivariatePolynomialCategory(F),UPUP: UnivariatePolynomialCategory(Fraction(UP)),modulus: UPUP) is a domain constructor --R Abbreviation for AlgebraicFunctionField is ALGFF --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ALGFF --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 Fraction UP has DIFRING and Fraction UP has FIELD or Fraction UP has FFIELDC ---R D : (%,NonNegativeInteger) -> % if Fraction UP has DIFRING and Fraction UP has FIELD or Fraction UP has FFIELDC ---R D : (%,Symbol) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R D : (%,List Symbol) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---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 Fraction(UP) has DIFRING and Fraction(UP) has FIELD or Fraction(UP) has FFIELDC +--R D : (%,NonNegativeInteger) -> % if Fraction(UP) has DIFRING and Fraction(UP) has FIELD or Fraction(UP) has FFIELDC +--R D : (%,Symbol) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--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 Fraction UP has DIFRING and Fraction UP has FIELD or Fraction UP has FFIELDC ---R differentiate : (%,NonNegativeInteger) -> % if Fraction UP has DIFRING and Fraction UP has FIELD or Fraction UP has FFIELDC ---R differentiate : (%,Symbol) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL +--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 Fraction(UP) has DIFRING and Fraction(UP) has FIELD or Fraction(UP) has FFIELDC +--R differentiate : (%,NonNegativeInteger) -> % if Fraction(UP) has DIFRING and Fraction(UP) has FIELD or Fraction(UP) has FFIELDC +--R differentiate : (%,Symbol) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) --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 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 knownInfBasis : NonNegativeInteger -> Void ---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 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 @@ -1642,6 +1648,7 @@ AlgebraicFunctionField(F, UP, UPUP, modulus): Exports == Impl where --S 1 of 1 )show AlgebraicNumber +--R --R AlgebraicNumber is a domain constructor --R Abbreviation for AlgebraicNumber is AN --R This constructor is exposed in this frame. @@ -1649,110 +1656,113 @@ AlgebraicFunctionField(F, UP, UPUP, modulus): Exports == Impl where --R --R------------------------------- Operations -------------------------------- --R ?*? : (PositiveInteger,%) -> % ?*? : (Integer,%) -> % ---R ?*? : (%,%) -> % ?*? : (%,Fraction Integer) -> % ---R ?*? : (Fraction Integer,%) -> % ?**? : (%,PositiveInteger) -> % ---R ?**? : (%,Integer) -> % ?**? : (%,Fraction Integer) -> % ---R ?+? : (%,%) -> % -? : % -> % ---R ?-? : (%,%) -> % ?/? : (%,%) -> % ---R ? Boolean ?<=? : (%,%) -> Boolean ---R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean ---R ?>=? : (%,%) -> Boolean D : % -> % ---R D : (%,NonNegativeInteger) -> % 1 : () -> % ---R 0 : () -> % ?^? : (%,PositiveInteger) -> % ---R ?^? : (%,Integer) -> % associates? : (%,%) -> Boolean ---R belong? : BasicOperator -> Boolean box : List % -> % ---R box : % -> % coerce : Integer -> % ---R coerce : % -> % coerce : Fraction Integer -> % ---R coerce : Kernel % -> % coerce : % -> OutputForm ---R convert : % -> Complex Float convert : % -> DoubleFloat ---R convert : % -> Float differentiate : % -> % ---R distribute : (%,%) -> % distribute : % -> % ---R elt : (BasicOperator,%,%) -> % elt : (BasicOperator,%) -> % ---R eval : (%,List %,List %) -> % eval : (%,%,%) -> % ---R eval : (%,Equation %) -> % eval : (%,List Equation %) -> % ---R eval : (%,Kernel %,%) -> % factor : % -> Factored % ---R freeOf? : (%,Symbol) -> Boolean freeOf? : (%,%) -> Boolean ---R gcd : (%,%) -> % gcd : List % -> % ---R hash : % -> SingleInteger height : % -> NonNegativeInteger ---R inv : % -> % is? : (%,Symbol) -> Boolean ---R kernel : (BasicOperator,%) -> % kernels : % -> List Kernel % ---R latex : % -> String lcm : (%,%) -> % ---R lcm : List % -> % map : ((% -> %),Kernel %) -> % +--R ?*? : (%,%) -> % ?*? : (%,Fraction(Integer)) -> % +--R ?*? : (Fraction(Integer),%) -> % ?**? : (%,PositiveInteger) -> % +--R ?**? : (%,Integer) -> % ?+? : (%,%) -> % +--R -? : % -> % ?-? : (%,%) -> % +--R ?/? : (%,%) -> % ? Boolean +--R ?<=? : (%,%) -> Boolean ?=? : (%,%) -> Boolean +--R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean +--R D : % -> % D : (%,NonNegativeInteger) -> % +--R 1 : () -> % 0 : () -> % +--R ?^? : (%,PositiveInteger) -> % ?^? : (%,Integer) -> % +--R associates? : (%,%) -> Boolean belong? : BasicOperator -> Boolean +--R box : List(%) -> % box : % -> % +--R coerce : Integer -> % coerce : % -> % +--R coerce : Fraction(Integer) -> % coerce : Kernel(%) -> % +--R coerce : % -> OutputForm convert : % -> Complex(Float) +--R convert : % -> DoubleFloat convert : % -> Float +--R differentiate : % -> % distribute : (%,%) -> % +--R distribute : % -> % elt : (BasicOperator,%,%) -> % +--R elt : (BasicOperator,%) -> % eval : (%,%,%) -> % +--R eval : (%,Equation(%)) -> % eval : (%,Kernel(%),%) -> % +--R factor : % -> Factored(%) freeOf? : (%,Symbol) -> Boolean +--R freeOf? : (%,%) -> Boolean gcd : (%,%) -> % +--R gcd : List(%) -> % hash : % -> SingleInteger +--R height : % -> NonNegativeInteger inv : % -> % +--R is? : (%,Symbol) -> Boolean kernel : (BasicOperator,%) -> % +--R kernels : % -> List(Kernel(%)) latex : % -> String +--R lcm : (%,%) -> % lcm : List(%) -> % --R max : (%,%) -> % min : (%,%) -> % ---R norm : (%,List Kernel %) -> % norm : (%,Kernel %) -> % +--R norm : (%,List(Kernel(%))) -> % norm : (%,Kernel(%)) -> % --R nthRoot : (%,Integer) -> % one? : % -> Boolean ---R paren : List % -> % paren : % -> % +--R paren : List(%) -> % paren : % -> % --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") reduce : % -> % ---R ?rem? : (%,%) -> % retract : % -> Fraction Integer ---R retract : % -> Integer retract : % -> Kernel % ---R rootOf : Polynomial % -> % rootsOf : Polynomial % -> List % ---R sample : () -> % sizeLess? : (%,%) -> Boolean ---R sqrt : % -> % squareFree : % -> Factored % ---R squareFreePart : % -> % subst : (%,Equation %) -> % ---R tower : % -> List Kernel % unit? : % -> Boolean ---R unitCanonical : % -> % zero? : % -> Boolean ---R zeroOf : Polynomial % -> % zerosOf : Polynomial % -> List % +--R ?rem? : (%,%) -> % retract : % -> Fraction(Integer) +--R retract : % -> Integer retract : % -> Kernel(%) +--R rootOf : Polynomial(%) -> % sample : () -> % +--R sizeLess? : (%,%) -> Boolean sqrt : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % +--R subst : (%,Equation(%)) -> % tower : % -> List(Kernel(%)) +--R unit? : % -> Boolean unitCanonical : % -> % +--R zero? : % -> Boolean zeroOf : Polynomial(%) -> % --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % +--R ?**? : (%,Fraction(Integer)) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R coerce : SparseMultivariatePolynomial(Integer,Kernel %) -> % +--R coerce : SparseMultivariatePolynomial(Integer,Kernel(%)) -> % --R definingPolynomial : % -> % if $ has RING ---R denom : % -> SparseMultivariatePolynomial(Integer,Kernel %) +--R denom : % -> SparseMultivariatePolynomial(Integer,Kernel(%)) --R differentiate : (%,NonNegativeInteger) -> % --R divide : (%,%) -> Record(quotient: %,remainder: %) ---R elt : (BasicOperator,List %) -> % +--R elt : (BasicOperator,List(%)) -> % --R elt : (BasicOperator,%,%,%,%) -> % --R elt : (BasicOperator,%,%,%) -> % --R euclideanSize : % -> NonNegativeInteger --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") +--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") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R is? : (%,BasicOperator) -> Boolean ---R kernel : (BasicOperator,List %) -> % ---R mainKernel : % -> Union(Kernel %,"failed") ---R minPoly : Kernel % -> SparseUnivariatePolynomial % if $ has RING ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R norm : (SparseUnivariatePolynomial %,List Kernel %) -> SparseUnivariatePolynomial % ---R norm : (SparseUnivariatePolynomial %,Kernel %) -> SparseUnivariatePolynomial % ---R numer : % -> SparseMultivariatePolynomial(Integer,Kernel %) ---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 multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R norm : (SparseUnivariatePolynomial(%),List(Kernel(%))) -> SparseUnivariatePolynomial(%) +--R norm : (SparseUnivariatePolynomial(%),Kernel(%)) -> SparseUnivariatePolynomial(%) +--R numer : % -> SparseMultivariatePolynomial(Integer,Kernel(%)) +--R odd? : % -> Boolean if $ has RETRACT(INT) --R operator : BasicOperator -> BasicOperator ---R operators : % -> List BasicOperator ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R reducedSystem : Matrix % -> Matrix Fraction Integer ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Fraction Integer,vec: Vector Fraction Integer) ---R reducedSystem : Matrix % -> Matrix Integer ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) ---R retractIfCan : % -> Union(Fraction Integer,"failed") +--R operators : % -> List(BasicOperator) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R reducedSystem : Matrix(%) -> Matrix(Fraction(Integer)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Fraction(Integer)),vec: Vector(Fraction(Integer))) +--R reducedSystem : Matrix(%) -> Matrix(Integer) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") --R retractIfCan : % -> Union(Integer,"failed") ---R retractIfCan : % -> Union(Kernel %,"failed") ---R rootOf : SparseUnivariatePolynomial % -> % ---R rootOf : (SparseUnivariatePolynomial %,Symbol) -> % ---R rootsOf : SparseUnivariatePolynomial % -> List % ---R rootsOf : (SparseUnivariatePolynomial %,Symbol) -> List % ---R subst : (%,List Kernel %,List %) -> % ---R subst : (%,List Equation %) -> % +--R retractIfCan : % -> Union(Kernel(%),"failed") +--R rootOf : SparseUnivariatePolynomial(%) -> % +--R rootOf : (SparseUnivariatePolynomial(%),Symbol) -> % +--R rootsOf : Polynomial(%) -> List(%) +--R rootsOf : SparseUnivariatePolynomial(%) -> List(%) +--R rootsOf : (SparseUnivariatePolynomial(%),Symbol) -> List(%) +--R subst : (%,List(Kernel(%)),List(%)) -> % +--R subst : (%,List(Equation(%))) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) ---R zeroOf : SparseUnivariatePolynomial % -> % ---R zeroOf : (SparseUnivariatePolynomial %,Symbol) -> % ---R zerosOf : SparseUnivariatePolynomial % -> List % ---R zerosOf : (SparseUnivariatePolynomial %,Symbol) -> List % +--R zeroOf : SparseUnivariatePolynomial(%) -> % +--R zeroOf : (SparseUnivariatePolynomial(%),Symbol) -> % +--R zerosOf : Polynomial(%) -> List(%) +--R zerosOf : SparseUnivariatePolynomial(%) -> List(%) +--R zerosOf : (SparseUnivariatePolynomial(%),Symbol) -> List(%) --R --E 1 @@ -2001,7 +2011,8 @@ AnonymousFunction():SetCategory == add --S 1 of 1 )show AntiSymm ---R AntiSymm(R: Ring,lVar: List Symbol) is a domain constructor +--R +--R AntiSymm(R: Ring,lVar: List(Symbol)) is a domain constructor --R Abbreviation for AntiSymm is ANTISYM --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ANTISYM @@ -2015,7 +2026,7 @@ AnonymousFunction():SetCategory == add --R 0 : () -> % ?^? : (%,PositiveInteger) -> % --R coefficient : (%,%) -> R coerce : R -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R degree : % -> NonNegativeInteger exp : List Integer -> % +--R degree : % -> NonNegativeInteger exp : List(Integer) -> % --R hash : % -> SingleInteger homogeneous? : % -> Boolean --R latex : % -> String leadingBasisTerm : % -> % --R leadingCoefficient : % -> R map : ((R -> R),%) -> % @@ -2304,7 +2315,7 @@ a:Any := [1,2] --R --R --R (1) [1,2] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 1 --S 2 of 18 @@ -2312,7 +2323,7 @@ b:Any := [1,2] --R --R --R (2) [1,2] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 2 --S 3 of 18 @@ -2328,7 +2339,7 @@ c := [1,2] --R --R --R (4) [1,2] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 4 --S 5 of 18 @@ -2343,7 +2354,7 @@ typeOf a typeOf c --R --R ---R (6) List PositiveInteger +--R (6) List(PositiveInteger) --R Type: Domain --E 6 @@ -2360,7 +2371,7 @@ b := [1,3] --R --R --R (8) [1,3] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 8 --S 9 of 18 @@ -2408,8 +2419,8 @@ Sae := SAE(FRAC INT, UP(x, FRAC INT), x^2-3) --R --R --R (14) ---R SimpleAlgebraicExtension(Fraction Integer,UnivariatePolynomial(x,Fraction Int ---R eger),x*x-3) +--R SimpleAlgebraicExtension(Fraction(Integer),UnivariatePolynomial(x,Fraction(In +--R teger)),x^2+-3) --R Type: Domain --E 14 @@ -2418,7 +2429,7 @@ a := generator()$Sae --R --R --R (15) x ---RType: SimpleAlgebraicExtension(Fraction Integer,UnivariatePolynomial(x,Fraction Integer),x*x-3) +--RType: SimpleAlgebraicExtension(Fraction(Integer),UnivariatePolynomial(x,Fraction(Integer)),x^2+-3) --E 15 --S 16 of 18 @@ -2426,7 +2437,7 @@ b := generator()$Sae --R --R --R (16) x ---RType: SimpleAlgebraicExtension(Fraction Integer,UnivariatePolynomial(x,Fraction Integer),x*x-3) +--RType: SimpleAlgebraicExtension(Fraction(Integer),UnivariatePolynomial(x,Fraction(Integer)),x^2+-3) --E 16 --S 17 of 18 @@ -2659,7 +2670,7 @@ a:ArrayStack INT:= arrayStack [1,2,3,4,5] --R --R --R (1) [1,2,3,4,5] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 1 --S 2 of 44 @@ -2675,7 +2686,7 @@ a --R --R --R (3) [2,3,4,5] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 3 --S 4 of 44 @@ -2691,7 +2702,7 @@ a --R --R --R (5) [3,4,5] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 5 --S 6 of 44 @@ -2707,7 +2718,7 @@ a --R --R --R (7) [9,3,4,5] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 7 --S 8 of 44 @@ -2715,7 +2726,7 @@ insert!(8,a) --R --R --R (8) [8,9,3,4,5] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 8 --S 9 of 44 @@ -2723,7 +2734,7 @@ a --R --R --R (9) [8,9,3,4,5] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 9 --S 10 of 44 @@ -2803,7 +2814,7 @@ parts a --R --R --R (19) [8,9,3,4,5] ---R Type: List Integer +--R Type: List(Integer) --E 19 --S 20 of 44 @@ -2811,7 +2822,7 @@ bag([1,2,3,4,5])$ArrayStack(INT) --R --R --R (20) [5,4,3,2,1] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 20 --S 21 of 44 @@ -2819,7 +2830,7 @@ b:=empty()$(ArrayStack INT) --R --R --R (21) [] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 21 --S 22 of 44 @@ -2835,7 +2846,7 @@ sample()$ArrayStack(INT) --R --R --R (23) [] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 23 --S 24 of 44 @@ -2843,7 +2854,7 @@ c:=copy a --R --R --R (24) [8,9,3,4,5] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 24 --S 25 of 44 @@ -2931,7 +2942,7 @@ map(x+->x+10,a) --R --R --R (35) [18,19,13,14,15] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 35 --S 36 of 44 @@ -2939,7 +2950,7 @@ a --R --R --R (36) [8,9,3,4,5] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 36 --S 37 of 44 @@ -2947,7 +2958,7 @@ map!(x+->x+10,a) --R --R --R (37) [18,19,13,14,15] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 37 --S 38 of 44 @@ -2955,7 +2966,7 @@ a --R --R --R (38) [18,19,13,14,15] ---R Type: ArrayStack Integer +--R Type: ArrayStack(Integer) --E 38 --S 39 of 44 @@ -2963,7 +2974,7 @@ members a --R --R --R (39) [18,19,13,14,15] ---R Type: List Integer +--R Type: List(Integer) --E 39 --S 40 of 44 @@ -3001,13 +3012,13 @@ latex a --S 44 of 44 )show ArrayStack --R ---R ArrayStack S: SetCategory is a domain constructor +--R ArrayStack(S: SetCategory) is a domain constructor --R Abbreviation for ArrayStack is ASTACK --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASTACK --R --R------------------------------- Operations -------------------------------- ---R arrayStack : List S -> % bag : List S -> % +--R arrayStack : List(S) -> % bag : List(S) -> % --R copy : % -> % depth : % -> NonNegativeInteger --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean extract! : % -> S @@ -3021,19 +3032,19 @@ latex a --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --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 $ has finiteAggregate and S has SETCAT ---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 @@ -3528,26 +3539,28 @@ ArrayStack(S:SetCategory): StackAggregate(S) with --S 1 of 1 )show Asp1 ---R Asp1 name: Symbol is a domain constructor +--R +--R Asp1(name: Symbol) is a domain constructor --R Abbreviation for Asp1 is ASP1 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP1 --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 retract : Polynomial(Float) -> % retract : Expression(Float) -> % --R coerce : FortranExpression([construct,QUOTEX],[construct],MachineFloat) -> % ---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 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 @@ -3698,28 +3711,29 @@ Asp1(name): Exports == Implementation where --S 1 of 1 )show Asp10 ---R Asp10 name: Symbol is a domain constructor +--R +--R Asp10(name: Symbol) is a domain constructor --R Abbreviation for Asp10 is ASP10 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP10 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct,QUOTEJINT,QUOTEX,QUOTEELAM],[construct],MachineFloat) -> % ---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 : Vector(FortranExpression([construct,QUOTEJINT,QUOTEX,QUOTEELAM],[construct],MachineFloat)) -> % +--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 @@ -3902,7 +3916,8 @@ Asp10(name): Exports == Implementation where --S 1 of 1 )show Asp12 ---R Asp12 name: Symbol is a domain constructor +--R +--R Asp12(name: Symbol) is a domain constructor --R Abbreviation for Asp12 is ASP12 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP12 @@ -4020,28 +4035,29 @@ Asp12(name): Exports == Implementation where --S 1 of 1 )show Asp19 ---R Asp19 name: Symbol is a domain constructor +--R +--R Asp19(name: Symbol) is a domain constructor --R Abbreviation for Asp19 is ASP19 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP19 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct],[construct,QUOTEXC],MachineFloat) -> % ---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 : Vector(FortranExpression([construct],[construct,QUOTEXC],MachineFloat)) -> % +--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 @@ -4358,28 +4374,29 @@ Asp19(name): Exports == Implementation where --S 1 of 1 )show Asp20 ---R Asp20 name: Symbol is a domain constructor +--R +--R Asp20(name: Symbol) is a domain constructor --R Abbreviation for Asp20 is ASP20 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP20 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Matrix FortranExpression([construct],[construct,QUOTEX,QUOTEHESS],MachineFloat) -> % ---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 : Matrix(FortranExpression([construct],[construct,QUOTEX,QUOTEHESS],MachineFloat)) -> % +--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 @@ -4588,26 +4605,28 @@ Asp20(name): Exports == Implementation where --S 1 of 1 )show Asp24 ---R Asp24 name: Symbol is a domain constructor +--R +--R Asp24(name: Symbol) is a domain constructor --R Abbreviation for Asp24 is ASP24 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP24 --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 retract : Polynomial(Float) -> % retract : Expression(Float) -> % --R coerce : FortranExpression([construct],[construct,QUOTEXC],MachineFloat) -> % ---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 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 @@ -4768,16 +4787,17 @@ Asp24(name): Exports == Implementation where --S 1 of 1 )show Asp27 ---R Asp27 name: Symbol is a domain constructor +--R +--R Asp27(name: Symbol) is a domain constructor --R Abbreviation for Asp27 is ASP27 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP27 --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 @@ -4917,16 +4937,17 @@ Asp27(name): Exports == Implementation where --S 1 of 1 )show Asp28 ---R Asp28 name: Symbol is a domain constructor +--R +--R Asp28(name: Symbol) is a domain constructor --R Abbreviation for Asp28 is ASP28 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP28 --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 @@ -5177,7 +5198,8 @@ Asp28(name): Exports == Implementation where --S 1 of 1 )show Asp29 ---R Asp29 name: Symbol is a domain constructor +--R +--R Asp29(name: Symbol) is a domain constructor --R Abbreviation for Asp29 is ASP29 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP29 @@ -5298,16 +5320,17 @@ Asp29(name): Exports == Implementation where --S 1 of 1 )show Asp30 ---R Asp30 name: Symbol is a domain constructor +--R +--R Asp30(name: Symbol) is a domain constructor --R Abbreviation for Asp30 is ASP30 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP30 --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 @@ -5477,28 +5500,29 @@ Asp30(name): Exports == Implementation where --S 1 of 1 )show Asp31 ---R Asp31 name: Symbol is a domain constructor +--R +--R Asp31(name: Symbol) is a domain constructor --R Abbreviation for Asp31 is ASP31 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP31 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct,QUOTEX],[construct,QUOTEY],MachineFloat) -> % ---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 : Vector(FortranExpression([construct,QUOTEX],[construct,QUOTEY],MachineFloat)) -> % +--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 @@ -5704,7 +5728,8 @@ Asp31(name): Exports == Implementation where --S 1 of 1 )show Asp33 ---R Asp33 name: Symbol is a domain constructor +--R +--R Asp33(name: Symbol) is a domain constructor --R Abbreviation for Asp33 is ASP33 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP33 @@ -5805,16 +5830,17 @@ Asp33(name): Exports == Implementation where --S 1 of 1 )show Asp34 ---R Asp34 name: Symbol is a domain constructor +--R +--R Asp34(name: Symbol) is a domain constructor --R Abbreviation for Asp34 is ASP34 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP34 --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 @@ -5956,28 +5982,29 @@ Asp34(name): Exports == Implementation where --S 1 of 1 )show Asp35 ---R Asp35 name: Symbol is a domain constructor +--R +--R Asp35(name: Symbol) is a domain constructor --R Abbreviation for Asp35 is ASP35 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP35 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct],[construct,QUOTEX],MachineFloat) -> % ---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 : Vector(FortranExpression([construct],[construct,QUOTEX],MachineFloat)) -> % +--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 @@ -6193,26 +6220,28 @@ Asp35(name): Exports == Implementation where --S 1 of 1 )show Asp4 ---R Asp4 name: Symbol is a domain constructor +--R +--R Asp4(name: Symbol) is a domain constructor --R Abbreviation for Asp4 is ASP4 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP4 --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 retract : Polynomial(Float) -> % retract : Expression(Float) -> % --R coerce : FortranExpression([construct],[construct,QUOTEX],MachineFloat) -> % ---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 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 @@ -6366,28 +6395,29 @@ Asp4(name): Exports == Implementation where --S 1 of 1 )show Asp41 +--R --R Asp41(nameOne: Symbol,nameTwo: Symbol,nameThree: Symbol) is a domain constructor --R Abbreviation for Asp41 is ASP41 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP41 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct,QUOTEX,QUOTEEPS],[construct,QUOTEY],MachineFloat) -> % ---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 : Vector(FortranExpression([construct,QUOTEX,QUOTEEPS],[construct,QUOTEY],MachineFloat)) -> % +--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 @@ -6649,28 +6679,29 @@ Asp41(nameOne,nameTwo,nameThree): Exports == Implementation where --S 1 of 1 )show Asp42 +--R --R Asp42(nameOne: Symbol,nameTwo: Symbol,nameThree: Symbol) is a domain constructor --R Abbreviation for Asp42 is ASP42 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP42 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct,QUOTEEPS],[construct,QUOTEYA,QUOTEYB],MachineFloat) -> % ---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 : Vector(FortranExpression([construct,QUOTEEPS],[construct,QUOTEYA,QUOTEYB],MachineFloat)) -> % +--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 @@ -6954,26 +6985,28 @@ Asp42(nameOne,nameTwo,nameThree): Exports == Implementation where --S 1 of 1 )show Asp49 ---R Asp49 name: Symbol is a domain constructor +--R +--R Asp49(name: Symbol) is a domain constructor --R Abbreviation for Asp49 is ASP49 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP49 --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 retract : Polynomial(Float) -> % retract : Expression(Float) -> % --R coerce : FortranExpression([construct],[construct,QUOTEX],MachineFloat) -> % ---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 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 @@ -7163,28 +7196,29 @@ Asp49(name): Exports == Implementation where --S 1 of 1 )show Asp50 ---R Asp50 name: Symbol is a domain constructor +--R +--R Asp50(name: Symbol) is a domain constructor --R Abbreviation for Asp50 is ASP50 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP50 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct],[construct,QUOTEXC],MachineFloat) -> % ---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 : Vector(FortranExpression([construct],[construct,QUOTEXC],MachineFloat)) -> % +--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 @@ -7390,28 +7424,29 @@ Asp50(name): Exports == Implementation where --S 1 of 1 )show Asp55 ---R Asp55 name: Symbol is a domain constructor +--R +--R Asp55(name: Symbol) is a domain constructor --R Abbreviation for Asp55 is ASP55 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP55 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct],[construct,QUOTEX],MachineFloat) -> % ---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 : Vector(FortranExpression([construct],[construct,QUOTEX],MachineFloat)) -> % +--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 @@ -7660,28 +7695,29 @@ Asp55(name): Exports == Implementation where --S 1 of 1 )show Asp6 ---R Asp6 name: Symbol is a domain constructor +--R +--R Asp6(name: Symbol) is a domain constructor --R Abbreviation for Asp6 is ASP6 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP6 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct],[construct,QUOTEX],MachineFloat) -> % ---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 : Vector(FortranExpression([construct],[construct,QUOTEX],MachineFloat)) -> % +--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 @@ -7873,28 +7909,29 @@ Asp6(name): Exports == Implementation where --S 1 of 1 )show Asp7 ---R Asp7 name: Symbol is a domain constructor +--R +--R Asp7(name: Symbol) is a domain constructor --R Abbreviation for Asp7 is ASP7 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP7 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct,QUOTEX],[construct,QUOTEY],MachineFloat) -> % ---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 : Vector(FortranExpression([construct,QUOTEX],[construct,QUOTEY],MachineFloat)) -> % +--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 @@ -8071,28 +8108,29 @@ Asp7(name): Exports == Implementation where --S 1 of 1 )show Asp73 ---R Asp73 name: Symbol is a domain constructor +--R +--R Asp73(name: Symbol) is a domain constructor --R Abbreviation for Asp73 is ASP73 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP73 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct,QUOTEX,QUOTEY],[construct],MachineFloat) -> % ---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 : Vector(FortranExpression([construct,QUOTEX,QUOTEY],[construct],MachineFloat)) -> % +--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 @@ -8281,28 +8319,29 @@ Asp73(name): Exports == Implementation where --S 1 of 1 )show Asp74 ---R Asp74 name: Symbol is a domain constructor +--R +--R Asp74(name: Symbol) is a domain constructor --R Abbreviation for Asp74 is ASP74 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP74 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Matrix FortranExpression([construct,QUOTEX,QUOTEY],[construct],MachineFloat) -> % ---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 : Matrix(FortranExpression([construct,QUOTEX,QUOTEY],[construct],MachineFloat)) -> % +--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 @@ -8533,28 +8572,29 @@ Asp74(name): Exports == Implementation where --S 1 of 1 )show Asp77 ---R Asp77 name: Symbol is a domain constructor +--R +--R Asp77(name: Symbol) is a domain constructor --R Abbreviation for Asp77 is ASP77 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP77 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Matrix FortranExpression([construct,QUOTEX],[construct],MachineFloat) -> % ---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 : Matrix(FortranExpression([construct,QUOTEX],[construct],MachineFloat)) -> % +--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 @@ -8750,28 +8790,29 @@ Asp77(name): Exports == Implementation where --S 1 of 1 )show Asp78 ---R Asp78 name: Symbol is a domain constructor +--R +--R Asp78(name: Symbol) is a domain constructor --R Abbreviation for Asp78 is ASP78 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP78 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Vector FortranExpression([construct,QUOTEX],[construct],MachineFloat) -> % ---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 : Vector(FortranExpression([construct,QUOTEX],[construct],MachineFloat)) -> % +--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 @@ -8942,16 +8983,17 @@ Asp78(name): Exports == Implementation where --S 1 of 1 )show Asp8 ---R Asp8 name: Symbol is a domain constructor +--R +--R Asp8(name: Symbol) is a domain constructor --R Abbreviation for Asp8 is ASP8 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP8 --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 @@ -9122,28 +9164,29 @@ Asp8(name): Exports == Implementation where --S 1 of 1 )show Asp80 ---R Asp80 name: Symbol is a domain constructor +--R +--R Asp80(name: Symbol) is a domain constructor --R Abbreviation for Asp80 is ASP80 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP80 --R --R------------------------------- Operations -------------------------------- ---R coerce : FortranCode -> % coerce : List FortranCode -> % +--R coerce : FortranCode -> % coerce : List(FortranCode) -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Matrix FortranExpression([construct,QUOTEXL,QUOTEXR,QUOTEELAM],[construct],MachineFloat) -> % ---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 : Matrix(FortranExpression([construct,QUOTEXL,QUOTEXR,QUOTEELAM],[construct],MachineFloat)) -> % +--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 @@ -9337,26 +9380,28 @@ Asp80(name): Exports == Implementation where --S 1 of 1 )show Asp9 ---R Asp9 name: Symbol is a domain constructor +--R +--R Asp9(name: Symbol) is a domain constructor --R Abbreviation for Asp9 is ASP9 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ASP9 --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 retract : Polynomial(Float) -> % retract : Expression(Float) -> % --R coerce : FortranExpression([construct,QUOTEX],[construct,QUOTEY],MachineFloat) -> % ---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 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 @@ -9528,7 +9573,8 @@ Asp9(name): Exports == Implementation where --S 1 of 1 )show AssociatedJordanAlgebra ---R AssociatedJordanAlgebra(R: CommutativeRing,A: NonAssociativeAlgebra R) is a domain constructor +--R +--R AssociatedJordanAlgebra(R: CommutativeRing,A: NonAssociativeAlgebra(R)) is a domain constructor --R Abbreviation for AssociatedJordanAlgebra is JORDAN --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for JORDAN @@ -9546,73 +9592,73 @@ Asp9(name): Exports == Implementation where --R latex : % -> String sample : () -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % ---R alternative? : () -> Boolean if A has FINAALG R ---R antiAssociative? : () -> Boolean if A has FINAALG R ---R antiCommutative? : () -> Boolean if A has FINAALG R ---R apply : (Matrix R,%) -> % if A has FRNAALG R ---R associative? : () -> Boolean if A has FINAALG R ---R associatorDependence : () -> List Vector R if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R basis : () -> Vector % if A has FRNAALG R ---R commutative? : () -> Boolean if A has FINAALG R ---R conditionsForIdempotents : Vector % -> List Polynomial R if A has FINAALG R ---R conditionsForIdempotents : () -> List Polynomial R if A has FRNAALG R ---R convert : % -> Vector R if A has FRNAALG R ---R convert : Vector R -> % if A has FRNAALG R ---R coordinates : (%,Vector %) -> Vector R if A has FINAALG R ---R coordinates : (Vector %,Vector %) -> Matrix R if A has FINAALG R ---R coordinates : % -> Vector R if A has FRNAALG R ---R coordinates : Vector % -> Matrix R if A has FRNAALG R ---R ?.? : (%,Integer) -> R if A has FRNAALG R ---R flexible? : () -> Boolean if A has FINAALG R ---R jacobiIdentity? : () -> Boolean if A has FINAALG R ---R jordanAdmissible? : () -> Boolean if A has FINAALG R ---R jordanAlgebra? : () -> Boolean if A has FINAALG R ---R leftAlternative? : () -> Boolean if A has FINAALG R ---R leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial R if A has FINAALG R ---R leftDiscriminant : Vector % -> R if A has FINAALG R ---R leftDiscriminant : () -> R if A has FRNAALG R ---R leftMinimalPolynomial : % -> SparseUnivariatePolynomial R if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R leftNorm : % -> R if A has FINAALG R +--R alternative? : () -> Boolean if A has FINAALG(R) +--R antiAssociative? : () -> Boolean if A has FINAALG(R) +--R antiCommutative? : () -> Boolean if A has FINAALG(R) +--R apply : (Matrix(R),%) -> % if A has FRNAALG(R) +--R associative? : () -> Boolean if A has FINAALG(R) +--R associatorDependence : () -> List(Vector(R)) if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R basis : () -> Vector(%) if A has FRNAALG(R) +--R commutative? : () -> Boolean if A has FINAALG(R) +--R conditionsForIdempotents : Vector(%) -> List(Polynomial(R)) if A has FINAALG(R) +--R conditionsForIdempotents : () -> List(Polynomial(R)) if A has FRNAALG(R) +--R convert : % -> Vector(R) if A has FRNAALG(R) +--R convert : Vector(R) -> % if A has FRNAALG(R) +--R coordinates : (%,Vector(%)) -> Vector(R) if A has FINAALG(R) +--R coordinates : (Vector(%),Vector(%)) -> Matrix(R) if A has FINAALG(R) +--R coordinates : % -> Vector(R) if A has FRNAALG(R) +--R coordinates : Vector(%) -> Matrix(R) if A has FRNAALG(R) +--R ?.? : (%,Integer) -> R if A has FRNAALG(R) +--R flexible? : () -> Boolean if A has FINAALG(R) +--R jacobiIdentity? : () -> Boolean if A has FINAALG(R) +--R jordanAdmissible? : () -> Boolean if A has FINAALG(R) +--R jordanAlgebra? : () -> Boolean if A has FINAALG(R) +--R leftAlternative? : () -> Boolean if A has FINAALG(R) +--R leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R) if A has FINAALG(R) +--R leftDiscriminant : Vector(%) -> R if A has FINAALG(R) +--R leftDiscriminant : () -> R if A has FRNAALG(R) +--R leftMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R leftNorm : % -> R if A has FINAALG(R) --R leftPower : (%,PositiveInteger) -> % ---R leftRankPolynomial : () -> SparseUnivariatePolynomial Polynomial R if A has FRNAALG R and R has FIELD ---R leftRecip : % -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R leftRegularRepresentation : (%,Vector %) -> Matrix R if A has FINAALG R ---R leftRegularRepresentation : % -> Matrix R if A has FRNAALG R ---R leftTrace : % -> R if A has FINAALG R ---R leftTraceMatrix : Vector % -> Matrix R if A has FINAALG R ---R leftTraceMatrix : () -> Matrix R if A has FRNAALG R ---R leftUnit : () -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R leftUnits : () -> Union(Record(particular: %,basis: List %),"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R lieAdmissible? : () -> Boolean if A has FINAALG R ---R lieAlgebra? : () -> Boolean if A has FINAALG R ---R noncommutativeJordanAlgebra? : () -> Boolean if A has FINAALG R +--R leftRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(R)) if A has FRNAALG(R) and R has FIELD +--R leftRecip : % -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R leftRegularRepresentation : (%,Vector(%)) -> Matrix(R) if A has FINAALG(R) +--R leftRegularRepresentation : % -> Matrix(R) if A has FRNAALG(R) +--R leftTrace : % -> R if A has FINAALG(R) +--R leftTraceMatrix : Vector(%) -> Matrix(R) if A has FINAALG(R) +--R leftTraceMatrix : () -> Matrix(R) if A has FRNAALG(R) +--R leftUnit : () -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R leftUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R lieAdmissible? : () -> Boolean if A has FINAALG(R) +--R lieAlgebra? : () -> Boolean if A has FINAALG(R) +--R noncommutativeJordanAlgebra? : () -> Boolean if A has FINAALG(R) --R plenaryPower : (%,PositiveInteger) -> % ---R powerAssociative? : () -> Boolean if A has FINAALG R ---R rank : () -> PositiveInteger if A has FINAALG R ---R recip : % -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R represents : (Vector R,Vector %) -> % if A has FINAALG R ---R represents : Vector R -> % if A has FRNAALG R ---R rightAlternative? : () -> Boolean if A has FINAALG R ---R rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial R if A has FINAALG R ---R rightDiscriminant : Vector % -> R if A has FINAALG R ---R rightDiscriminant : () -> R if A has FRNAALG R ---R rightMinimalPolynomial : % -> SparseUnivariatePolynomial R if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R rightNorm : % -> R if A has FINAALG R +--R powerAssociative? : () -> Boolean if A has FINAALG(R) +--R rank : () -> PositiveInteger if A has FINAALG(R) +--R recip : % -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R represents : (Vector(R),Vector(%)) -> % if A has FINAALG(R) +--R represents : Vector(R) -> % if A has FRNAALG(R) +--R rightAlternative? : () -> Boolean if A has FINAALG(R) +--R rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R) if A has FINAALG(R) +--R rightDiscriminant : Vector(%) -> R if A has FINAALG(R) +--R rightDiscriminant : () -> R if A has FRNAALG(R) +--R rightMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R rightNorm : % -> R if A has FINAALG(R) --R rightPower : (%,PositiveInteger) -> % ---R rightRankPolynomial : () -> SparseUnivariatePolynomial Polynomial R if A has FRNAALG R and R has FIELD ---R rightRecip : % -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R rightRegularRepresentation : (%,Vector %) -> Matrix R if A has FINAALG R ---R rightRegularRepresentation : % -> Matrix R if A has FRNAALG R ---R rightTrace : % -> R if A has FINAALG R ---R rightTraceMatrix : Vector % -> Matrix R if A has FINAALG R ---R rightTraceMatrix : () -> Matrix R if A has FRNAALG R ---R rightUnit : () -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R rightUnits : () -> Union(Record(particular: %,basis: List %),"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R someBasis : () -> Vector % if A has FINAALG R ---R structuralConstants : Vector % -> Vector Matrix R if A has FINAALG R ---R structuralConstants : () -> Vector Matrix R if A has FRNAALG R +--R rightRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(R)) if A has FRNAALG(R) and R has FIELD +--R rightRecip : % -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R rightRegularRepresentation : (%,Vector(%)) -> Matrix(R) if A has FINAALG(R) +--R rightRegularRepresentation : % -> Matrix(R) if A has FRNAALG(R) +--R rightTrace : % -> R if A has FINAALG(R) +--R rightTraceMatrix : Vector(%) -> Matrix(R) if A has FINAALG(R) +--R rightTraceMatrix : () -> Matrix(R) if A has FRNAALG(R) +--R rightUnit : () -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R rightUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R someBasis : () -> Vector(%) if A has FINAALG(R) +--R structuralConstants : Vector(%) -> Vector(Matrix(R)) if A has FINAALG(R) +--R structuralConstants : () -> Vector(Matrix(R)) if A has FRNAALG(R) --R subtractIfCan : (%,%) -> Union(%,"failed") ---R unit : () -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM +--R unit : () -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM --R --E 1 @@ -9787,7 +9833,8 @@ AssociatedJordanAlgebra(R:CommutativeRing,A:NonAssociativeAlgebra R): --S 1 of 1 )show AssociatedLieAlgebra ---R AssociatedLieAlgebra(R: CommutativeRing,A: NonAssociativeAlgebra R) is a domain constructor +--R +--R AssociatedLieAlgebra(R: CommutativeRing,A: NonAssociativeAlgebra(R)) is a domain constructor --R Abbreviation for AssociatedLieAlgebra is LIE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for LIE @@ -9805,73 +9852,73 @@ AssociatedJordanAlgebra(R:CommutativeRing,A:NonAssociativeAlgebra R): --R latex : % -> String sample : () -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % ---R alternative? : () -> Boolean if A has FINAALG R ---R antiAssociative? : () -> Boolean if A has FINAALG R ---R antiCommutative? : () -> Boolean if A has FINAALG R ---R apply : (Matrix R,%) -> % if A has FRNAALG R ---R associative? : () -> Boolean if A has FINAALG R ---R associatorDependence : () -> List Vector R if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R basis : () -> Vector % if A has FRNAALG R ---R commutative? : () -> Boolean if A has FINAALG R ---R conditionsForIdempotents : Vector % -> List Polynomial R if A has FINAALG R ---R conditionsForIdempotents : () -> List Polynomial R if A has FRNAALG R ---R convert : % -> Vector R if A has FRNAALG R ---R convert : Vector R -> % if A has FRNAALG R ---R coordinates : (%,Vector %) -> Vector R if A has FINAALG R ---R coordinates : (Vector %,Vector %) -> Matrix R if A has FINAALG R ---R coordinates : % -> Vector R if A has FRNAALG R ---R coordinates : Vector % -> Matrix R if A has FRNAALG R ---R ?.? : (%,Integer) -> R if A has FRNAALG R ---R flexible? : () -> Boolean if A has FINAALG R ---R jacobiIdentity? : () -> Boolean if A has FINAALG R ---R jordanAdmissible? : () -> Boolean if A has FINAALG R ---R jordanAlgebra? : () -> Boolean if A has FINAALG R ---R leftAlternative? : () -> Boolean if A has FINAALG R ---R leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial R if A has FINAALG R ---R leftDiscriminant : Vector % -> R if A has FINAALG R ---R leftDiscriminant : () -> R if A has FRNAALG R ---R leftMinimalPolynomial : % -> SparseUnivariatePolynomial R if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R leftNorm : % -> R if A has FINAALG R +--R alternative? : () -> Boolean if A has FINAALG(R) +--R antiAssociative? : () -> Boolean if A has FINAALG(R) +--R antiCommutative? : () -> Boolean if A has FINAALG(R) +--R apply : (Matrix(R),%) -> % if A has FRNAALG(R) +--R associative? : () -> Boolean if A has FINAALG(R) +--R associatorDependence : () -> List(Vector(R)) if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R basis : () -> Vector(%) if A has FRNAALG(R) +--R commutative? : () -> Boolean if A has FINAALG(R) +--R conditionsForIdempotents : Vector(%) -> List(Polynomial(R)) if A has FINAALG(R) +--R conditionsForIdempotents : () -> List(Polynomial(R)) if A has FRNAALG(R) +--R convert : % -> Vector(R) if A has FRNAALG(R) +--R convert : Vector(R) -> % if A has FRNAALG(R) +--R coordinates : (%,Vector(%)) -> Vector(R) if A has FINAALG(R) +--R coordinates : (Vector(%),Vector(%)) -> Matrix(R) if A has FINAALG(R) +--R coordinates : % -> Vector(R) if A has FRNAALG(R) +--R coordinates : Vector(%) -> Matrix(R) if A has FRNAALG(R) +--R ?.? : (%,Integer) -> R if A has FRNAALG(R) +--R flexible? : () -> Boolean if A has FINAALG(R) +--R jacobiIdentity? : () -> Boolean if A has FINAALG(R) +--R jordanAdmissible? : () -> Boolean if A has FINAALG(R) +--R jordanAlgebra? : () -> Boolean if A has FINAALG(R) +--R leftAlternative? : () -> Boolean if A has FINAALG(R) +--R leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R) if A has FINAALG(R) +--R leftDiscriminant : Vector(%) -> R if A has FINAALG(R) +--R leftDiscriminant : () -> R if A has FRNAALG(R) +--R leftMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R leftNorm : % -> R if A has FINAALG(R) --R leftPower : (%,PositiveInteger) -> % ---R leftRankPolynomial : () -> SparseUnivariatePolynomial Polynomial R if A has FRNAALG R and R has FIELD ---R leftRecip : % -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R leftRegularRepresentation : (%,Vector %) -> Matrix R if A has FINAALG R ---R leftRegularRepresentation : % -> Matrix R if A has FRNAALG R ---R leftTrace : % -> R if A has FINAALG R ---R leftTraceMatrix : Vector % -> Matrix R if A has FINAALG R ---R leftTraceMatrix : () -> Matrix R if A has FRNAALG R ---R leftUnit : () -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R leftUnits : () -> Union(Record(particular: %,basis: List %),"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R lieAdmissible? : () -> Boolean if A has FINAALG R ---R lieAlgebra? : () -> Boolean if A has FINAALG R ---R noncommutativeJordanAlgebra? : () -> Boolean if A has FINAALG R +--R leftRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(R)) if A has FRNAALG(R) and R has FIELD +--R leftRecip : % -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R leftRegularRepresentation : (%,Vector(%)) -> Matrix(R) if A has FINAALG(R) +--R leftRegularRepresentation : % -> Matrix(R) if A has FRNAALG(R) +--R leftTrace : % -> R if A has FINAALG(R) +--R leftTraceMatrix : Vector(%) -> Matrix(R) if A has FINAALG(R) +--R leftTraceMatrix : () -> Matrix(R) if A has FRNAALG(R) +--R leftUnit : () -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R leftUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R lieAdmissible? : () -> Boolean if A has FINAALG(R) +--R lieAlgebra? : () -> Boolean if A has FINAALG(R) +--R noncommutativeJordanAlgebra? : () -> Boolean if A has FINAALG(R) --R plenaryPower : (%,PositiveInteger) -> % ---R powerAssociative? : () -> Boolean if A has FINAALG R ---R rank : () -> PositiveInteger if A has FINAALG R ---R recip : % -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R represents : (Vector R,Vector %) -> % if A has FINAALG R ---R represents : Vector R -> % if A has FRNAALG R ---R rightAlternative? : () -> Boolean if A has FINAALG R ---R rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial R if A has FINAALG R ---R rightDiscriminant : Vector % -> R if A has FINAALG R ---R rightDiscriminant : () -> R if A has FRNAALG R ---R rightMinimalPolynomial : % -> SparseUnivariatePolynomial R if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R rightNorm : % -> R if A has FINAALG R +--R powerAssociative? : () -> Boolean if A has FINAALG(R) +--R rank : () -> PositiveInteger if A has FINAALG(R) +--R recip : % -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R represents : (Vector(R),Vector(%)) -> % if A has FINAALG(R) +--R represents : Vector(R) -> % if A has FRNAALG(R) +--R rightAlternative? : () -> Boolean if A has FINAALG(R) +--R rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R) if A has FINAALG(R) +--R rightDiscriminant : Vector(%) -> R if A has FINAALG(R) +--R rightDiscriminant : () -> R if A has FRNAALG(R) +--R rightMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R rightNorm : % -> R if A has FINAALG(R) --R rightPower : (%,PositiveInteger) -> % ---R rightRankPolynomial : () -> SparseUnivariatePolynomial Polynomial R if A has FRNAALG R and R has FIELD ---R rightRecip : % -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R rightRegularRepresentation : (%,Vector %) -> Matrix R if A has FINAALG R ---R rightRegularRepresentation : % -> Matrix R if A has FRNAALG R ---R rightTrace : % -> R if A has FINAALG R ---R rightTraceMatrix : Vector % -> Matrix R if A has FINAALG R ---R rightTraceMatrix : () -> Matrix R if A has FRNAALG R ---R rightUnit : () -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R rightUnits : () -> Union(Record(particular: %,basis: List %),"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM ---R someBasis : () -> Vector % if A has FINAALG R ---R structuralConstants : Vector % -> Vector Matrix R if A has FINAALG R ---R structuralConstants : () -> Vector Matrix R if A has FRNAALG R +--R rightRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(R)) if A has FRNAALG(R) and R has FIELD +--R rightRecip : % -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R rightRegularRepresentation : (%,Vector(%)) -> Matrix(R) if A has FINAALG(R) +--R rightRegularRepresentation : % -> Matrix(R) if A has FRNAALG(R) +--R rightTrace : % -> R if A has FINAALG(R) +--R rightTraceMatrix : Vector(%) -> Matrix(R) if A has FINAALG(R) +--R rightTraceMatrix : () -> Matrix(R) if A has FRNAALG(R) +--R rightUnit : () -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R rightUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM +--R someBasis : () -> Vector(%) if A has FINAALG(R) +--R structuralConstants : Vector(%) -> Vector(Matrix(R)) if A has FINAALG(R) +--R structuralConstants : () -> Vector(Matrix(R)) if A has FRNAALG(R) --R subtractIfCan : (%,%) -> Union(%,"failed") ---R unit : () -> Union(%,"failed") if A has FINAALG R and R has INTDOM or A has FRNAALG R and R has INTDOM +--R unit : () -> Union(%,"failed") if A has FINAALG(R) and R has INTDOM or A has FRNAALG(R) and R has INTDOM --R --E 1 @@ -10723,7 +10770,8 @@ AttributeButtons(): E == I where --S 1 of 1 )show Automorphism ---R Automorphism R: Ring is a domain constructor +--R +--R Automorphism(R: Ring) is a domain constructor --R Abbreviation for Automorphism is AUTOMOR --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for AUTOMOR @@ -11231,7 +11279,8 @@ BalancedBinaryTree(S: SetCategory): Exports == Implementation where --S 1 of 1 )show BalancedPAdicInteger ---R BalancedPAdicInteger p: Integer is a domain constructor +--R +--R BalancedPAdicInteger(p: Integer) is a domain constructor --R Abbreviation for BalancedPAdicInteger is BPADIC --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for BPADIC @@ -11245,10 +11294,10 @@ BalancedBinaryTree(S: SetCategory): Exports == Implementation where --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 : % -> % @@ -11264,14 +11313,14 @@ BalancedBinaryTree(S: SetCategory): Exports == Implementation where --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 @@ -11387,13 +11436,14 @@ BalancedPAdicInteger(p:Integer) == InnerPAdicInteger(p,false$Boolean) --S 1 of 1 )show BalancedPAdicRational ---R BalancedPAdicRational p: Integer is a domain constructor +--R +--R BalancedPAdicRational(p: Integer) is a domain constructor --R Abbreviation for BalancedPAdicRational is BPADICRT --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for BPADICRT --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -11401,111 +11451,111 @@ BalancedPAdicInteger(p:Integer) == InnerPAdicInteger(p,false$Boolean) --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 denominator : % -> % ---R factor : % -> Factored % gcd : List % -> % +--R factor : % -> Factored(%) gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R numerator : % -> % one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % --R removeZeroes : (Integer,%) -> % removeZeroes : % -> % --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (%,BalancedPAdicInteger p) -> % ---R ?*? : (BalancedPAdicInteger p,%) -> % +--R ?*? : (%,BalancedPAdicInteger(p)) -> % +--R ?*? : (BalancedPAdicInteger(p),%) -> % --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % ---R ?/? : (BalancedPAdicInteger p,BalancedPAdicInteger p) -> % ---R ? Boolean if BalancedPAdicInteger p has ORDSET ---R ?<=? : (%,%) -> Boolean if BalancedPAdicInteger p has ORDSET ---R ?>? : (%,%) -> Boolean if BalancedPAdicInteger p has ORDSET ---R ?>=? : (%,%) -> Boolean if BalancedPAdicInteger p has ORDSET ---R D : (%,(BalancedPAdicInteger p -> BalancedPAdicInteger p)) -> % ---R D : (%,(BalancedPAdicInteger p -> BalancedPAdicInteger p),NonNegativeInteger) -> % ---R D : (%,List Symbol,List NonNegativeInteger) -> % if BalancedPAdicInteger p has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if BalancedPAdicInteger p has PDRING SYMBOL ---R D : (%,List Symbol) -> % if BalancedPAdicInteger p has PDRING SYMBOL ---R D : (%,Symbol) -> % if BalancedPAdicInteger p has PDRING SYMBOL ---R D : (%,NonNegativeInteger) -> % if BalancedPAdicInteger p has DIFRING ---R D : % -> % if BalancedPAdicInteger p has DIFRING +--R ?/? : (BalancedPAdicInteger(p),BalancedPAdicInteger(p)) -> % +--R ? Boolean if BalancedPAdicInteger(p) has ORDSET +--R ?<=? : (%,%) -> Boolean if BalancedPAdicInteger(p) has ORDSET +--R ?>? : (%,%) -> Boolean if BalancedPAdicInteger(p) has ORDSET +--R ?>=? : (%,%) -> Boolean if BalancedPAdicInteger(p) has ORDSET +--R D : (%,(BalancedPAdicInteger(p) -> BalancedPAdicInteger(p))) -> % +--R D : (%,(BalancedPAdicInteger(p) -> BalancedPAdicInteger(p)),NonNegativeInteger) -> % +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if BalancedPAdicInteger(p) has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if BalancedPAdicInteger(p) has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if BalancedPAdicInteger(p) has PDRING(SYMBOL) +--R D : (%,Symbol) -> % if BalancedPAdicInteger(p) has PDRING(SYMBOL) +--R D : (%,NonNegativeInteger) -> % if BalancedPAdicInteger(p) has DIFRING +--R D : % -> % if BalancedPAdicInteger(p) has DIFRING --R ?^? : (%,NonNegativeInteger) -> % ---R abs : % -> % if BalancedPAdicInteger p has OINTDOM ---R approximate : (%,Integer) -> Fraction Integer ---R ceiling : % -> BalancedPAdicInteger p if BalancedPAdicInteger p has INS +--R abs : % -> % if BalancedPAdicInteger(p) has OINTDOM +--R approximate : (%,Integer) -> Fraction(Integer) +--R ceiling : % -> BalancedPAdicInteger(p) if BalancedPAdicInteger(p) has INS --R characteristic : () -> NonNegativeInteger ---R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and BalancedPAdicInteger p has PFECAT or BalancedPAdicInteger p has CHARNZ ---R coerce : Symbol -> % if BalancedPAdicInteger p has RETRACT SYMBOL ---R coerce : BalancedPAdicInteger p -> % ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and BalancedPAdicInteger p has PFECAT ---R continuedFraction : % -> ContinuedFraction Fraction Integer ---R convert : % -> DoubleFloat if BalancedPAdicInteger p has REAL ---R convert : % -> Float if BalancedPAdicInteger p has REAL ---R convert : % -> InputForm if BalancedPAdicInteger p has KONVERT INFORM ---R convert : % -> Pattern Float if BalancedPAdicInteger p has KONVERT PATTERN FLOAT ---R convert : % -> Pattern Integer if BalancedPAdicInteger p has KONVERT PATTERN INT ---R denom : % -> BalancedPAdicInteger p ---R differentiate : (%,(BalancedPAdicInteger p -> BalancedPAdicInteger p)) -> % ---R differentiate : (%,(BalancedPAdicInteger p -> BalancedPAdicInteger p),NonNegativeInteger) -> % ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if BalancedPAdicInteger p has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if BalancedPAdicInteger p has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if BalancedPAdicInteger p has PDRING SYMBOL ---R differentiate : (%,Symbol) -> % if BalancedPAdicInteger p has PDRING SYMBOL ---R differentiate : (%,NonNegativeInteger) -> % if BalancedPAdicInteger p has DIFRING ---R differentiate : % -> % if BalancedPAdicInteger p has DIFRING +--R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and BalancedPAdicInteger(p) has PFECAT or BalancedPAdicInteger(p) has CHARNZ +--R coerce : Symbol -> % if BalancedPAdicInteger(p) has RETRACT(SYMBOL) +--R coerce : BalancedPAdicInteger(p) -> % +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and BalancedPAdicInteger(p) has PFECAT +--R continuedFraction : % -> ContinuedFraction(Fraction(Integer)) +--R convert : % -> DoubleFloat if BalancedPAdicInteger(p) has REAL +--R convert : % -> Float if BalancedPAdicInteger(p) has REAL +--R convert : % -> InputForm if BalancedPAdicInteger(p) has KONVERT(INFORM) +--R convert : % -> Pattern(Float) if BalancedPAdicInteger(p) has KONVERT(PATTERN(FLOAT)) +--R convert : % -> Pattern(Integer) if BalancedPAdicInteger(p) has KONVERT(PATTERN(INT)) +--R denom : % -> BalancedPAdicInteger(p) +--R differentiate : (%,(BalancedPAdicInteger(p) -> BalancedPAdicInteger(p))) -> % +--R differentiate : (%,(BalancedPAdicInteger(p) -> BalancedPAdicInteger(p)),NonNegativeInteger) -> % +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if BalancedPAdicInteger(p) has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if BalancedPAdicInteger(p) has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if BalancedPAdicInteger(p) has PDRING(SYMBOL) +--R differentiate : (%,Symbol) -> % if BalancedPAdicInteger(p) has PDRING(SYMBOL) +--R differentiate : (%,NonNegativeInteger) -> % if BalancedPAdicInteger(p) has DIFRING +--R differentiate : % -> % if BalancedPAdicInteger(p) has DIFRING --R divide : (%,%) -> Record(quotient: %,remainder: %) ---R ?.? : (%,BalancedPAdicInteger p) -> % if BalancedPAdicInteger p has ELTAB(BPADIC p,BPADIC p) +--R ?.? : (%,BalancedPAdicInteger(p)) -> % if BalancedPAdicInteger(p) has ELTAB(BPADIC(p),BPADIC(p)) --R euclideanSize : % -> NonNegativeInteger ---R eval : (%,Symbol,BalancedPAdicInteger p) -> % if BalancedPAdicInteger p has IEVALAB(SYMBOL,BPADIC p) ---R eval : (%,List Symbol,List BalancedPAdicInteger p) -> % if BalancedPAdicInteger p has IEVALAB(SYMBOL,BPADIC p) ---R eval : (%,List Equation BalancedPAdicInteger p) -> % if BalancedPAdicInteger p has EVALAB BPADIC p ---R eval : (%,Equation BalancedPAdicInteger p) -> % if BalancedPAdicInteger p has EVALAB BPADIC p ---R eval : (%,BalancedPAdicInteger p,BalancedPAdicInteger p) -> % if BalancedPAdicInteger p has EVALAB BPADIC p ---R eval : (%,List BalancedPAdicInteger p,List BalancedPAdicInteger p) -> % if BalancedPAdicInteger p has EVALAB BPADIC p ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R eval : (%,Symbol,BalancedPAdicInteger(p)) -> % if BalancedPAdicInteger(p) has IEVALAB(SYMBOL,BPADIC(p)) +--R eval : (%,List(Symbol),List(BalancedPAdicInteger(p))) -> % if BalancedPAdicInteger(p) has IEVALAB(SYMBOL,BPADIC(p)) +--R eval : (%,List(Equation(BalancedPAdicInteger(p)))) -> % if BalancedPAdicInteger(p) has EVALAB(BPADIC(p)) +--R eval : (%,Equation(BalancedPAdicInteger(p))) -> % if BalancedPAdicInteger(p) has EVALAB(BPADIC(p)) +--R eval : (%,BalancedPAdicInteger(p),BalancedPAdicInteger(p)) -> % if BalancedPAdicInteger(p) has EVALAB(BPADIC(p)) +--R eval : (%,List(BalancedPAdicInteger(p)),List(BalancedPAdicInteger(p))) -> % if BalancedPAdicInteger(p) has EVALAB(BPADIC(p)) +--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 BalancedPAdicInteger p has PFECAT ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if BalancedPAdicInteger p has PFECAT ---R floor : % -> BalancedPAdicInteger p if BalancedPAdicInteger p has INS ---R fractionPart : % -> % if BalancedPAdicInteger p has EUCDOM ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R init : () -> % if BalancedPAdicInteger p has STEP ---R map : ((BalancedPAdicInteger p -> BalancedPAdicInteger p),%) -> % ---R max : (%,%) -> % if BalancedPAdicInteger p has ORDSET ---R min : (%,%) -> % if BalancedPAdicInteger p has ORDSET ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R negative? : % -> Boolean if BalancedPAdicInteger p has OINTDOM ---R nextItem : % -> Union(%,"failed") if BalancedPAdicInteger p has STEP ---R numer : % -> BalancedPAdicInteger p ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if BalancedPAdicInteger p has PATMAB FLOAT ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if BalancedPAdicInteger p has PATMAB INT ---R positive? : % -> Boolean if BalancedPAdicInteger p has OINTDOM ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R random : () -> % if BalancedPAdicInteger p has INS ---R reducedSystem : Matrix % -> Matrix BalancedPAdicInteger p ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix BalancedPAdicInteger p,vec: Vector BalancedPAdicInteger p) ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if BalancedPAdicInteger p has LINEXP INT ---R reducedSystem : Matrix % -> Matrix Integer if BalancedPAdicInteger p has LINEXP INT ---R retract : % -> Integer if BalancedPAdicInteger p has RETRACT INT ---R retract : % -> Fraction Integer if BalancedPAdicInteger p has RETRACT INT ---R retract : % -> Symbol if BalancedPAdicInteger p has RETRACT SYMBOL ---R retract : % -> BalancedPAdicInteger p ---R retractIfCan : % -> Union(Integer,"failed") if BalancedPAdicInteger p has RETRACT INT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if BalancedPAdicInteger p has RETRACT INT ---R retractIfCan : % -> Union(Symbol,"failed") if BalancedPAdicInteger p has RETRACT SYMBOL ---R retractIfCan : % -> Union(BalancedPAdicInteger p,"failed") ---R sign : % -> Integer if BalancedPAdicInteger p has OINTDOM ---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if BalancedPAdicInteger p has PFECAT ---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if BalancedPAdicInteger p has PFECAT +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if BalancedPAdicInteger(p) has PFECAT +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if BalancedPAdicInteger(p) has PFECAT +--R floor : % -> BalancedPAdicInteger(p) if BalancedPAdicInteger(p) has INS +--R fractionPart : % -> % if BalancedPAdicInteger(p) has EUCDOM +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R init : () -> % if BalancedPAdicInteger(p) has STEP +--R map : ((BalancedPAdicInteger(p) -> BalancedPAdicInteger(p)),%) -> % +--R max : (%,%) -> % if BalancedPAdicInteger(p) has ORDSET +--R min : (%,%) -> % if BalancedPAdicInteger(p) has ORDSET +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R negative? : % -> Boolean if BalancedPAdicInteger(p) has OINTDOM +--R nextItem : % -> Union(%,"failed") if BalancedPAdicInteger(p) has STEP +--R numer : % -> BalancedPAdicInteger(p) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if BalancedPAdicInteger(p) has PATMAB(FLOAT) +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if BalancedPAdicInteger(p) has PATMAB(INT) +--R positive? : % -> Boolean if BalancedPAdicInteger(p) has OINTDOM +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R random : () -> % if BalancedPAdicInteger(p) has INS +--R reducedSystem : Matrix(%) -> Matrix(BalancedPAdicInteger(p)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(BalancedPAdicInteger(p)),vec: Vector(BalancedPAdicInteger(p))) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if BalancedPAdicInteger(p) has LINEXP(INT) +--R reducedSystem : Matrix(%) -> Matrix(Integer) if BalancedPAdicInteger(p) has LINEXP(INT) +--R retract : % -> Integer if BalancedPAdicInteger(p) has RETRACT(INT) +--R retract : % -> Fraction(Integer) if BalancedPAdicInteger(p) has RETRACT(INT) +--R retract : % -> Symbol if BalancedPAdicInteger(p) has RETRACT(SYMBOL) +--R retract : % -> BalancedPAdicInteger(p) +--R retractIfCan : % -> Union(Integer,"failed") if BalancedPAdicInteger(p) has RETRACT(INT) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if BalancedPAdicInteger(p) has RETRACT(INT) +--R retractIfCan : % -> Union(Symbol,"failed") if BalancedPAdicInteger(p) has RETRACT(SYMBOL) +--R retractIfCan : % -> Union(BalancedPAdicInteger(p),"failed") +--R sign : % -> Integer if BalancedPAdicInteger(p) has OINTDOM +--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if BalancedPAdicInteger(p) has PFECAT +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if BalancedPAdicInteger(p) has PFECAT --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) ---R wholePart : % -> BalancedPAdicInteger p if BalancedPAdicInteger p has EUCDOM +--R wholePart : % -> BalancedPAdicInteger(p) if BalancedPAdicInteger(p) has EUCDOM --R --E 1 @@ -11657,16 +11707,17 @@ BalancedPAdicRational(p:Integer) == --S 1 of 1 )show BasicFunctions +--R --R BasicFunctions is a domain constructor --R Abbreviation for BasicFunctions is BFUNCT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for BFUNCT --R --R------------------------------- Operations -------------------------------- ---R ?=? : (%,%) -> Boolean bfKeys : () -> List Symbol +--R ?=? : (%,%) -> Boolean bfKeys : () -> List(Symbol) --R coerce : % -> OutputForm hash : % -> SingleInteger --R latex : % -> String ?~=? : (%,%) -> Boolean ---R bfEntry : Symbol -> Record(zeros: Stream DoubleFloat,ones: Stream DoubleFloat,singularities: Stream DoubleFloat) +--R bfEntry : Symbol -> Record(zeros: Stream(DoubleFloat),ones: Stream(DoubleFloat),singularities: Stream(DoubleFloat)) --R --E 1 @@ -11795,7 +11846,7 @@ deq := D(y x, x, 2) + D(y x, x) + y x = 0 --R ,, , --R (2) y (x) + y (x) + y(x)= 0 --R ---R Type: Equation Expression Integer +--R Type: Equation(Expression(Integer)) --E 2 --S 3 of 18 @@ -11807,7 +11858,7 @@ solve(deq, y, x) --R x\|3 2 2 x\|3 --R (3) [particular= 0,basis= [cos(-----)%e ,%e sin(-----)]] --R 2 2 ---RType: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) +--IType: Union(Record(particular: Expression(Integer),basis: ... --E 3 --S 4 of 18 @@ -12843,7 +12894,7 @@ r + binary(6/7) --R 0.000000100111011, 0.000000100111, --R ____________________________________________________ --R 0.00000010011010100100001110011111011001010110111100011] ---R Type: List BinaryExpansion +--R Type: List(BinaryExpansion) --E 3 --S 4 of 7 @@ -12869,7 +12920,7 @@ p := binary(1/4)*x**2 + binary(2/3)*x + binary(4/9) --R --R 2 __ ______ --R (5) 0.01x + 0.10x + 0.011100 ---R Type: Polynomial BinaryExpansion +--R Type: Polynomial(BinaryExpansion) --E 5 --S 6 of 7 @@ -12878,7 +12929,7 @@ q := D(p, x) --R --R __ --R (6) 0.1x + 0.10 ---R Type: Polynomial BinaryExpansion +--R Type: Polynomial(BinaryExpansion) --E 6 --S 7 of 7 @@ -12887,7 +12938,7 @@ g := gcd(p, q) --R --R __ --R (7) x + 1.01 ---R Type: Polynomial BinaryExpansion +--R Type: Polynomial(BinaryExpansion) --E 7 )spool )lisp (bye) @@ -13299,7 +13350,7 @@ lv := [8,3,5,4,6,2,1,5,7] --R --R --R (1) [8,3,5,4,6,2,1,5,7] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 1 --S 2 of 12 @@ -13307,7 +13358,7 @@ t := binarySearchTree lv --R --R --R (2) [[[1,2,.],3,[4,5,[5,6,7]]],8,.] ---R Type: BinarySearchTree PositiveInteger +--R Type: BinarySearchTree(PositiveInteger) --E 2 --S 3 of 12 @@ -13315,7 +13366,7 @@ emptybst := empty()$BSTREE(INT) --R --R --R (3) [] ---R Type: BinarySearchTree Integer +--R Type: BinarySearchTree(Integer) --E 3 --S 4 of 12 @@ -13323,7 +13374,7 @@ t1 := insert!(8,emptybst) --R --R --R (4) 8 ---R Type: BinarySearchTree Integer +--R Type: BinarySearchTree(Integer) --E 4 --S 5 of 12 @@ -13331,7 +13382,7 @@ insert!(3,t1) --R --R --R (5) [3,8,.] ---R Type: BinarySearchTree Integer +--R Type: BinarySearchTree(Integer) --E 5 --S 6 of 12 @@ -13339,7 +13390,7 @@ leaves t --R --R --R (6) [1,4,5,7] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 6 --S 7 of 12 @@ -13347,7 +13398,7 @@ split(3,t) --R --R --R (7) [less= [1,2,.],greater= [[.,3,[4,5,[5,6,7]]],8,.]] ---RType: Record(less: BinarySearchTree PositiveInteger,greater: BinarySearchTree PositiveInteger) +--IType: Record(less: BinarySearchTree(PositiveInteger),greater: ... --E 7 --S 8 of 12 @@ -13373,13 +13424,13 @@ buildFromRoot ls == reduce(insertRoot,ls,emptybst) --S 11 of 12 rt := buildFromRoot reverse lv --R ---R Compiling function buildFromRoot with type List PositiveInteger -> ---R BinarySearchTree Integer ---R Compiling function insertRoot with type (Integer,BinarySearchTree ---R Integer) -> BinarySearchTree Integer +--R Compiling function buildFromRoot with type List(PositiveInteger) -> +--R BinarySearchTree(Integer) +--R Compiling function insertRoot with type (Integer,BinarySearchTree( +--R Integer)) -> BinarySearchTree(Integer) --R --R (11) [[[1,2,.],3,[4,5,[5,6,7]]],8,.] ---R Type: BinarySearchTree Integer +--R Type: BinarySearchTree(Integer) --E 11 --S 12 of 12 @@ -13646,21 +13697,22 @@ both BinaryTree(S) --S 1 of 1 )show BinaryTournament ---R BinaryTournament S: OrderedSet is a domain constructor +--R +--R BinaryTournament(S: OrderedSet) is a domain constructor --R Abbreviation for BinaryTournament is BTOURN --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for BTOURN --R --R------------------------------- Operations -------------------------------- ---R binaryTournament : List S -> % children : % -> List % +--R binaryTournament : List(S) -> % children : % -> List(%) --R copy : % -> % cyclic? : % -> Boolean --R distance : (%,%) -> Integer ?.right : (%,right) -> % --R ?.left : (%,left) -> % ?.value : (%,value) -> S --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean insert! : (S,%) -> % ---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 @@ -13670,21 +13722,21 @@ both BinaryTree(S) --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --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 $ has finiteAggregate and S has SETCAT ---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 @@ -13826,21 +13878,22 @@ BinaryTournament(S: OrderedSet): Exports == Implementation where --S 1 of 1 )show BinaryTree ---R BinaryTree S: SetCategory is a domain constructor +--R +--R BinaryTree(S: SetCategory) is a domain constructor --R Abbreviation for BinaryTree is BTREE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for BTREE --R --R------------------------------- Operations -------------------------------- --R binaryTree : (%,S,%) -> % binaryTree : S -> % ---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 @@ -13850,21 +13903,21 @@ BinaryTournament(S: OrderedSet): Exports == Implementation where --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --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 $ has finiteAggregate and S has SETCAT ---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 @@ -14022,6 +14075,7 @@ BinaryTree(S: SetCategory): Exports == Implementation where --S 1 of 1 )show Bits +--R --R Bits is a domain constructor --R Abbreviation for Bits is BITS --R This constructor is exposed in this frame. @@ -14034,13 +14088,13 @@ BinaryTree(S: SetCategory): Exports == Implementation where --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? : % -> % @@ -14051,18 +14105,18 @@ BinaryTree(S: SetCategory): Exports == Implementation where --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R any? : ((Boolean -> Boolean),%) -> Boolean if $ has finiteAggregate --R bits : (NonNegativeInteger,Boolean) -> % ---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 $ has finiteAggregate and Boolean has SETCAT ---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") @@ -14074,13 +14128,13 @@ BinaryTree(S: SetCategory): Exports == Implementation where --R map! : ((Boolean -> Boolean),%) -> % if $ has shallowlyMutable --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (Boolean,%) -> Boolean if $ has finiteAggregate and Boolean has SETCAT ---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 @@ -14094,7 +14148,7 @@ BinaryTree(S: SetCategory): Exports == Implementation where --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 @@ -14241,6 +14295,7 @@ Bits(): Exports == Implementation where --S 1 of 1 )show BlowUpWithHamburgerNoether +--R --R BlowUpWithHamburgerNoether is a domain constructor --R Abbreviation for BlowUpWithHamburgerNoether is BLHN --R This constructor is exposed in this frame. @@ -14248,7 +14303,7 @@ Bits(): Exports == Implementation where --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 @@ -14347,6 +14402,7 @@ BlowUpWithHamburgerNoether: Exports == Implementation where --S 1 of 1 )show BlowUpWithQuadTrans +--R --R BlowUpWithQuadTrans is a domain constructor --R Abbreviation for BlowUpWithQuadTrans is BLQT --R This constructor is exposed in this frame. @@ -14354,7 +14410,7 @@ BlowUpWithHamburgerNoether: Exports == Implementation where --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 @@ -14726,7 +14782,7 @@ countable? A1 --R --R --R (12) [4,Aleph(1)] ---R Type: List CardinalNumber +--R Type: List(CardinalNumber) --E 12 --S 13 of 20 @@ -14734,7 +14790,7 @@ countable? A1 --R --R --R (13) [0,2,4,0,Aleph(1),Aleph(1),Aleph(1)] ---R Type: List CardinalNumber +--R Type: List(CardinalNumber) --E 13 --S 14 of 20 @@ -14742,7 +14798,7 @@ countable? A1 --R --R --R (14) [1,2,4,1,Aleph(1),Aleph(1)] ---R Type: List CardinalNumber +--R Type: List(CardinalNumber) --E 14 --S 15 of 20 @@ -14750,7 +14806,7 @@ countable? A1 --R --R --R (15) [1,0,"failed",Aleph(1),Aleph(1),"failed"] ---R Type: List Union(CardinalNumber,"failed") +--R Type: List(Union(CardinalNumber,"failed")) --E 15 --S 16 of 20 @@ -14766,7 +14822,7 @@ generalizedContinuumHypothesisAssumed true --R --R --R (17) [0,1,Aleph(1),Aleph(1),Aleph(2),Aleph(1),Aleph(2)] ---R Type: List CardinalNumber +--R Type: List(CardinalNumber) --E 17 --S 18 of 20 @@ -15355,7 +15411,7 @@ Tmv = m * v --R --R --R (19) [11,32]= [11,32] ---R Type: Equation CartesianTensor(1,2,Integer) +--R Type: Equation(CartesianTensor(1,2,Integer)) --E 19 --S 20 of 48 @@ -15465,7 +15521,7 @@ contract(Tmn,1,2) = trace(m) * n --R +12 18+ +12 18+ --R (32) | |= | | --R +0 6 + +0 6 + ---R Type: Equation CartesianTensor(1,2,Integer) +--R Type: Equation(CartesianTensor(1,2,Integer)) --E 32 --S 33 of 48 @@ -15475,7 +15531,7 @@ contract(Tmn,1,3) = transpose(m) * n --R +2 7 + +2 7 + --R (33) | |= | | --R +4 11+ +4 11+ ---R Type: Equation CartesianTensor(1,2,Integer) +--R Type: Equation(CartesianTensor(1,2,Integer)) --E 33 --S 34 of 48 @@ -15485,7 +15541,7 @@ contract(Tmn,1,4) = transpose(m) * transpose(n) --R +14 4+ +14 4+ --R (34) | |= | | --R +19 5+ +19 5+ ---R Type: Equation CartesianTensor(1,2,Integer) +--R Type: Equation(CartesianTensor(1,2,Integer)) --E 34 --S 35 of 48 @@ -15495,7 +15551,7 @@ contract(Tmn,2,3) = m * n --R +2 5 + +2 5 + --R (35) | |= | | --R +8 17+ +8 17+ ---R Type: Equation CartesianTensor(1,2,Integer) +--R Type: Equation(CartesianTensor(1,2,Integer)) --E 35 --S 36 of 48 @@ -15505,7 +15561,7 @@ contract(Tmn,2,4) = m * transpose(n) --R +8 2+ +8 2+ --R (36) | |= | | --R +23 5+ +23 5+ ---R Type: Equation CartesianTensor(1,2,Integer) +--R Type: Equation(CartesianTensor(1,2,Integer)) --E 36 --S 37 of 48 @@ -15515,7 +15571,7 @@ contract(Tmn,3,4) = trace(n) * m --R +3 6 + +3 6 + --R (37) | |= | | --R +12 15+ +12 15+ ---R Type: Equation CartesianTensor(1,2,Integer) +--R Type: Equation(CartesianTensor(1,2,Integer)) --E 37 --S 38 of 48 @@ -15553,7 +15609,7 @@ transpose Tm = transpose m --R +1 4+ +1 4+ --R (40) | |= | | --R +2 5+ +2 5+ ---R Type: Equation CartesianTensor(1,2,Integer) +--R Type: Equation(CartesianTensor(1,2,Integer)) --E 40 --S 41 of 48 @@ -15623,7 +15679,7 @@ contract(Tmn, 2, delta, 1) = reindex(Tmn, [1,3,4,2]) --R |+8 10+ +0 0+| |+8 10+ +0 0+| --R || | | || || | | || --R ++12 15+ +4 5++ ++12 15+ +4 5++ ---R Type: Equation CartesianTensor(1,2,Integer) +--R Type: Equation(CartesianTensor(1,2,Integer)) --E 46 --S 47 of 48 @@ -15641,7 +15697,7 @@ contract(epsilon*Tm*epsilon, 1,2) = 2 * determinant m --R --R --R (48) - 6= - 6 ---R Type: Equation CartesianTensor(1,2,Integer) +--R Type: Equation(CartesianTensor(1,2,Integer)) --E 48 )spool )lisp (bye) @@ -16783,7 +16839,7 @@ chars := [char "a", char "A", char "X", char "8", char "+"] --R --R --R (1) [a,A,X,8,+] ---R Type: List Character +--R Type: List(Character) --E 1 --S 2 of 13 @@ -16815,7 +16871,7 @@ escape() --R --R --R (5) [97,65,88,56,43] ---R Type: List Integer +--R Type: List(Integer) --E 5 --S 6 of 13 @@ -16823,7 +16879,7 @@ escape() --R --R --R (6) [A,A,X,8,+] ---R Type: List Character +--R Type: List(Character) --E 6 --S 7 of 13 @@ -16831,7 +16887,7 @@ escape() --R --R --R (7) [a,a,x,8,+] ---R Type: List Character +--R Type: List(Character) --E 7 --S 8 of 13 @@ -16839,7 +16895,7 @@ escape() --R --R --R (8) [true,true,true,false,false] ---R Type: List Boolean +--R Type: List(Boolean) --E 8 --S 9 of 13 @@ -16847,7 +16903,7 @@ escape() --R --R --R (9) [false,true,true,false,false] ---R Type: List Boolean +--R Type: List(Boolean) --E 9 --S 10 of 13 @@ -16855,7 +16911,7 @@ escape() --R --R --R (10) [true,false,false,false,false] ---R Type: List Boolean +--R Type: List(Boolean) --E 10 --S 11 of 13 @@ -16863,7 +16919,7 @@ escape() --R --R --R (11) [false,false,false,true,false] ---R Type: List Boolean +--R Type: List(Boolean) --E 11 --S 12 of 13 @@ -16871,7 +16927,7 @@ escape() --R --R --R (12) [true,true,false,true,false] ---R Type: List Boolean +--R Type: List(Boolean) --E 12 --S 13 of 13 @@ -16879,7 +16935,7 @@ escape() --R --R --R (13) [true,true,true,true,false] ---R Type: List Boolean +--R Type: List(Boolean) --E 13 )spool )lisp (bye) @@ -17786,7 +17842,7 @@ $\mathbb{R}_{m,m}$ & --------$>$ & $\mathbb{R}^{4^m}$ \\ K := Fraction Polynomial Integer --R --R ---R (1) Fraction Polynomial Integer +--R (1) Fraction(Polynomial(Integer)) --R Type: Domain --E 1 @@ -17795,14 +17851,14 @@ m := matrix [ [-1] ] --R --R --R (2) [- 1] ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 2 --S 3 of 36 C := CliffordAlgebra(1, K, quadraticForm m) --R --R ---R (3) CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) +--R (3) CliffordAlgebra(1,Fraction(Polynomial(Integer)),[[-1]]) --R Type: Domain --E 3 @@ -17812,7 +17868,7 @@ i: C := e(1) --R --R (4) e --R 1 ---R Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(1,Fraction(Polynomial(Integer)),[[-1]]) --E 4 --S 5 of 36 @@ -17821,7 +17877,7 @@ x := a + b * i --R --R (5) a + b e --R 1 ---R Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(1,Fraction(Polynomial(Integer)),[[-1]]) --E 5 --S 6 of 36 @@ -17830,7 +17886,7 @@ y := c + d * i --R --R (6) c + d e --R 1 ---R Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(1,Fraction(Polynomial(Integer)),[[-1]]) --E 6 --S 7 of 36 @@ -17839,7 +17895,7 @@ x * y --R --R (7) - b d + a c + (a d + b c)e --R 1 ---R Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(1,Fraction(Polynomial(Integer)),[[-1]]) --E 7 )clear all @@ -17847,7 +17903,7 @@ x * y K := Fraction Polynomial Integer --R --R ---R (1) Fraction Polynomial Integer +--R (1) Fraction(Polynomial(Integer)) --R Type: Domain --E 8 @@ -17858,14 +17914,14 @@ m := matrix [ [-1,0],[0,-1] ] --R +- 1 0 + --R (2) | | --R + 0 - 1+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 9 --S 10 of 36 H := CliffordAlgebra(2, K, quadraticForm m) --R --R ---R (3) CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +--R (3) CliffordAlgebra(2,Fraction(Polynomial(Integer)),[[-1,0],[0,-1]]) --R Type: Domain --E 10 @@ -17875,7 +17931,7 @@ i: H := e(1) --R --R (4) e --R 1 ---R Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(2,Fraction(Polynomial(Integer)),[[-1,0],[0,-1]]) --E 11 --S 12 of 36 @@ -17884,7 +17940,7 @@ j: H := e(2) --R --R (5) e --R 2 ---R Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(2,Fraction(Polynomial(Integer)),[[-1,0],[0,-1]]) --E 12 --S 13 of 36 @@ -17893,7 +17949,7 @@ k: H := i * j --R --R (6) e e --R 1 2 ---R Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(2,Fraction(Polynomial(Integer)),[[-1,0],[0,-1]]) --E 13 --S 14 of 36 @@ -17902,7 +17958,7 @@ x := a + b * i + c * j + d * k --R --R (7) a + b e + c e + d e e --R 1 2 1 2 ---R Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(2,Fraction(Polynomial(Integer)),[[-1,0],[0,-1]]) --E 14 --S 15 of 36 @@ -17911,7 +17967,7 @@ y := e + f * i + g * j + h * k --R --R (8) e + f e + g e + h e e --R 1 2 1 2 ---R Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(2,Fraction(Polynomial(Integer)),[[-1,0],[0,-1]]) --E 15 --S 16 of 36 @@ -17920,7 +17976,7 @@ x + y --R --R (9) e + a + (f + b)e + (g + c)e + (h + d)e e --R 1 2 1 2 ---R Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(2,Fraction(Polynomial(Integer)),[[-1,0],[0,-1]]) --E 16 --S 17 of 36 @@ -17933,7 +17989,7 @@ x * y --R + --R (- b h + a g + d f + c e)e + (a h + b g - c f + d e)e e --R 2 1 2 ---R Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(2,Fraction(Polynomial(Integer)),[[-1,0],[0,-1]]) --E 17 --S 18 of 36 @@ -17946,7 +18002,7 @@ y * x --R + --R (b h + a g - d f + c e)e + (a h - b g + c f + d e)e e --R 2 1 2 ---R Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +--R Type: CliffordAlgebra(2,Fraction(Polynomial(Integer)),[[-1,0],[0,-1]]) --E 18 )clear all @@ -17954,7 +18010,7 @@ y * x K := Fraction Polynomial Integer --R --R ---R (1) Fraction Polynomial Integer +--R (1) Fraction(Polynomial(Integer)) --R Type: Domain --E 19 @@ -17962,7 +18018,8 @@ K := Fraction Polynomial Integer Ext := CliffordAlgebra(3, K, quadraticForm 0) --R --R ---R (2) CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +--R (2) +--R CliffordAlgebra(3,Fraction(Polynomial(Integer)),[[0,0,0],[0,0,0],[0,0,0]]) --R Type: Domain --E 20 @@ -17972,7 +18029,7 @@ i: Ext := e(1) --R --R (3) e --R 1 ---R Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +--RType: CliffordAlgebra(3,Fraction(Polynomial(Integer)),[[0,0,0],[0,0,0],[0,0,0]]) --E 21 --S 22 of 36 @@ -17981,7 +18038,7 @@ j: Ext := e(2) --R --R (4) e --R 2 ---R Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +--RType: CliffordAlgebra(3,Fraction(Polynomial(Integer)),[[0,0,0],[0,0,0],[0,0,0]]) --E 22 --S 23 of 36 @@ -17990,7 +18047,7 @@ k: Ext := e(3) --R --R (5) e --R 3 ---R Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +--RType: CliffordAlgebra(3,Fraction(Polynomial(Integer)),[[0,0,0],[0,0,0],[0,0,0]]) --E 23 --S 24 of 36 @@ -17999,7 +18056,7 @@ x := x1*i + x2*j + x3*k --R --R (6) x1 e + x2 e + x3 e --R 1 2 3 ---R Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +--RType: CliffordAlgebra(3,Fraction(Polynomial(Integer)),[[0,0,0],[0,0,0],[0,0,0]]) --E 24 --S 25 of 36 @@ -18008,7 +18065,7 @@ y := y1*i + y2*j + y3*k --R --R (7) y1 e + y2 e + y3 e --R 1 2 3 ---R Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +--RType: CliffordAlgebra(3,Fraction(Polynomial(Integer)),[[0,0,0],[0,0,0],[0,0,0]]) --E 25 --S 26 of 36 @@ -18017,7 +18074,7 @@ x + y --R --R (8) (y1 + x1)e + (y2 + x2)e + (y3 + x3)e --R 1 2 3 ---R Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +--RType: CliffordAlgebra(3,Fraction(Polynomial(Integer)),[[0,0,0],[0,0,0],[0,0,0]]) --E 26 --S 27 of 36 @@ -18025,7 +18082,7 @@ x * y + y * x --R --R --R (9) 0 ---R Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +--RType: CliffordAlgebra(3,Fraction(Polynomial(Integer)),[[0,0,0],[0,0,0],[0,0,0]]) --E 27 --S 28 of 36 @@ -18037,13 +18094,14 @@ dual2 a == coefficient(a,[2,3]) * i + coefficient(a,[3,1]) * j + coefficient(a,[ --S 29 of 36 dual2(x*y) --R ---R Compiling function dual2 with type CliffordAlgebra(3,Fraction ---R Polynomial Integer,MATRIX) -> CliffordAlgebra(3,Fraction ---R Polynomial Integer,MATRIX) +--R Compiling function dual2 with type CliffordAlgebra(3,Fraction( +--R Polynomial(Integer)),[[0,0,0],[0,0,0],[0,0,0]]) -> +--R CliffordAlgebra(3,Fraction(Polynomial(Integer)),[[0,0,0],[0,0,0], +--R [0,0,0]]) --R --R (11) (x2 y3 - x3 y2)e + (- x1 y3 + x3 y1)e + (x1 y2 - x2 y1)e --R 1 2 3 ---R Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +--RType: CliffordAlgebra(3,Fraction(Polynomial(Integer)),[[0,0,0],[0,0,0],[0,0,0]]) --E 29 )clear all @@ -18051,7 +18109,7 @@ dual2(x*y) K := Fraction Integer --R --R ---R (1) Fraction Integer +--R (1) Fraction(Integer) --R Type: Domain --E 30 @@ -18066,14 +18124,16 @@ g := matrix [ [1,0,0,0], [0,-1,0,0], [0,0,-1,0], [0,0,0,-1] ] --R |0 0 - 1 0 | --R | | --R +0 0 0 - 1+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 31 --S 32 of 36 D := CliffordAlgebra(4,K, quadraticForm g) --R --R ---R (3) CliffordAlgebra(4,Fraction Integer,MATRIX) +--R (3) +--R CliffordAlgebra(4,Fraction(Integer),[[1,0,0,0],[0,-1,0,0],[0,0,-1,0],[0,0,0,- +--R 1]]) --R Type: Domain --E 32 @@ -18083,7 +18143,7 @@ gam := [e(i)$D for i in 1..4] --R --R (4) [e ,e ,e ,e ] --R 1 2 3 4 ---R Type: List CliffordAlgebra(4,Fraction Integer,MATRIX) +--RType: List(CliffordAlgebra(4,Fraction(Integer),[[1,0,0,0],[0,-1,0,0],[0,0,-1,0],[0,0,0,-1]])) --E 33 --S 34 of 36 @@ -18099,7 +18159,7 @@ lhs := reduce(+, [reduce(+, [ g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t) f --R --R (6) - 4e e e e --R 1 2 3 4 ---R Type: CliffordAlgebra(4,Fraction Integer,MATRIX) +--RType: CliffordAlgebra(4,Fraction(Integer),[[1,0,0,0],[0,-1,0,0],[0,0,-1,0],[0,0,0,-1]]) --E 35 --S 36 of 36 @@ -18108,7 +18168,7 @@ rhs := 2*(gam s * gam m*gam n*gam r + gam r*gam n*gam m*gam s) --R --R (7) - 4e e e e --R 1 2 3 4 ---R Type: CliffordAlgebra(4,Fraction Integer,MATRIX) +--RType: CliffordAlgebra(4,Fraction(Integer),[[1,0,0,0],[0,-1,0,0],[0,0,-1,0],[0,0,0,-1]]) --E 36 )spool )lisp (bye) @@ -18925,7 +18985,7 @@ a := complex(4/3,5/2) --R 4 5 --R (1) - + - %i --R 3 2 ---R Type: Complex Fraction Integer +--R Type: Complex(Fraction(Integer)) --E 1 --S 2 of 16 @@ -18935,7 +18995,7 @@ b := complex(4/3,-5/2) --R 4 5 --R (2) - - - %i --R 3 2 ---R Type: Complex Fraction Integer +--R Type: Complex(Fraction(Integer)) --E 2 --S 3 of 16 @@ -18945,7 +19005,7 @@ a + b --R 8 --R (3) - --R 3 ---R Type: Complex Fraction Integer +--R Type: Complex(Fraction(Integer)) --E 3 --S 4 of 16 @@ -18953,7 +19013,7 @@ a - b --R --R --R (4) 5%i ---R Type: Complex Fraction Integer +--R Type: Complex(Fraction(Integer)) --E 4 --S 5 of 16 @@ -18963,7 +19023,7 @@ a * b --R 289 --R (5) --- --R 36 ---R Type: Complex Fraction Integer +--R Type: Complex(Fraction(Integer)) --E 5 --S 6 of 16 @@ -18973,7 +19033,7 @@ a / b --R 161 240 --R (6) - --- + --- %i --R 289 289 ---R Type: Complex Fraction Integer +--R Type: Complex(Fraction(Integer)) --E 6 --S 7 of 16 @@ -18983,7 +19043,7 @@ a / b --R - 15 + 8%i --R (7) ---------- --R 15 + 8%i ---R Type: Fraction Complex Integer +--R Type: Fraction(Complex(Integer)) --E 7 --S 8 of 16 @@ -18991,7 +19051,7 @@ a / b --R --R --R (8) 3.4 + 6.7 %i ---R Type: Complex Float +--R Type: Complex(Float) --E 8 --S 9 of 16 @@ -19001,7 +19061,7 @@ conjugate a --R 4 5 --R (9) - - - %i --R 3 2 ---R Type: Complex Fraction Integer +--R Type: Complex(Fraction(Integer)) --E 9 --S 10 of 16 @@ -19011,7 +19071,7 @@ norm a --R 289 --R (10) --- --R 36 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 10 --S 11 of 16 @@ -19021,7 +19081,7 @@ real a --R 4 --R (11) - --R 3 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 11 --S 12 of 16 @@ -19031,7 +19091,7 @@ imag a --R 5 --R (12) - --R 2 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 12 --S 13 of 16 @@ -19039,7 +19099,7 @@ gcd(13 - 13*%i,31 + 27*%i) --R --R --R (13) 5 + %i ---R Type: Complex Integer +--R Type: Complex(Integer) --E 13 --S 14 of 16 @@ -19047,7 +19107,7 @@ lcm(13 - 13*%i,31 + 27*%i) --R --R --R (14) 143 - 39%i ---R Type: Complex Integer +--R Type: Complex(Integer) --E 14 --S 15 of 16 @@ -19055,7 +19115,7 @@ factor(13 - 13*%i) --R --R --R (15) - (1 + %i)(2 + 3%i)(3 + 2%i) ---R Type: Factored Complex Integer +--R Type: Factored(Complex(Integer)) --E 15 --S 16 of 16 @@ -19064,7 +19124,7 @@ factor complex(2,0) --R --R 2 --R (16) - %i (1 + %i) ---R Type: Factored Complex Integer +--R Type: Factored(Complex(Integer)) --E 16 )spool )lisp (bye) @@ -19439,6 +19499,7 @@ Complex(R:CommutativeRing): ComplexCategory(R) with --S 1 of 6 )show ComplexDoubleFloatMatrix +--R --R ComplexDoubleFloatMatrix is a domain constructor --R Abbreviation for ComplexDoubleFloatMatrix is CDFMAT --R This constructor is exposed in this frame. @@ -19449,7 +19510,7 @@ Complex(R:CommutativeRing): ComplexCategory(R) with --R ?+? : (%,%) -> % -? : % -> % --R ?-? : (%,%) -> % antisymmetric? : % -> Boolean --R copy : % -> % diagonal? : % -> Boolean ---R diagonalMatrix : List % -> % empty : () -> % +--R diagonalMatrix : List(%) -> % empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean --R horizConcat : (%,%) -> % maxColIndex : % -> Integer --R maxRowIndex : % -> Integer minColIndex : % -> Integer @@ -19461,60 +19522,60 @@ Complex(R:CommutativeRing): ComplexCategory(R) with --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?*? : (ComplexDoubleFloatVector,%) -> ComplexDoubleFloatVector --R ?*? : (%,ComplexDoubleFloatVector) -> ComplexDoubleFloatVector ---R ?*? : (%,Complex DoubleFloat) -> % ---R ?*? : (Complex DoubleFloat,%) -> % ---R ?**? : (%,Integer) -> % if Complex DoubleFloat has FIELD +--R ?*? : (%,Complex(DoubleFloat)) -> % +--R ?*? : (Complex(DoubleFloat),%) -> % +--R ?**? : (%,Integer) -> % if Complex(DoubleFloat) has FIELD --R ?**? : (%,NonNegativeInteger) -> % ---R ?/? : (%,Complex DoubleFloat) -> % if Complex DoubleFloat has FIELD ---R ?=? : (%,%) -> Boolean if Complex DoubleFloat has SETCAT ---R any? : ((Complex DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate +--R ?/? : (%,Complex(DoubleFloat)) -> % if Complex(DoubleFloat) has FIELD +--R ?=? : (%,%) -> Boolean if Complex(DoubleFloat) has SETCAT +--R any? : ((Complex(DoubleFloat) -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : ComplexDoubleFloatVector -> % ---R coerce : % -> OutputForm if Complex DoubleFloat has SETCAT +--R coerce : % -> OutputForm if Complex(DoubleFloat) has SETCAT --R column : (%,Integer) -> ComplexDoubleFloatVector ---R columnSpace : % -> List ComplexDoubleFloatVector if Complex DoubleFloat has EUCDOM ---R count : (Complex DoubleFloat,%) -> NonNegativeInteger if $ has finiteAggregate and Complex DoubleFloat has SETCAT ---R count : ((Complex DoubleFloat -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R determinant : % -> Complex DoubleFloat if Complex DoubleFloat has commutative * ---R diagonalMatrix : List Complex DoubleFloat -> % ---R elt : (%,List Integer,List Integer) -> % ---R elt : (%,Integer,Integer,Complex DoubleFloat) -> Complex DoubleFloat ---R elt : (%,Integer,Integer) -> Complex DoubleFloat ---R eval : (%,List Complex DoubleFloat,List Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT ---R eval : (%,Complex DoubleFloat,Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT ---R eval : (%,Equation Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT ---R eval : (%,List Equation Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT ---R every? : ((Complex DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate ---R exquo : (%,Complex DoubleFloat) -> Union(%,"failed") if Complex DoubleFloat has INTDOM ---R fill! : (%,Complex DoubleFloat) -> % ---R hash : % -> SingleInteger if Complex DoubleFloat has SETCAT ---R inverse : % -> Union(%,"failed") if Complex DoubleFloat has FIELD ---R latex : % -> String if Complex DoubleFloat has SETCAT +--R columnSpace : % -> List(ComplexDoubleFloatVector) if Complex(DoubleFloat) has EUCDOM +--R count : (Complex(DoubleFloat),%) -> NonNegativeInteger if $ has finiteAggregate and Complex(DoubleFloat) has SETCAT +--R count : ((Complex(DoubleFloat) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate +--R determinant : % -> Complex(DoubleFloat) if Complex(DoubleFloat) has commutative(*) +--R diagonalMatrix : List(Complex(DoubleFloat)) -> % +--R elt : (%,List(Integer),List(Integer)) -> % +--R elt : (%,Integer,Integer,Complex(DoubleFloat)) -> Complex(DoubleFloat) +--R elt : (%,Integer,Integer) -> Complex(DoubleFloat) +--R eval : (%,List(Complex(DoubleFloat)),List(Complex(DoubleFloat))) -> % if Complex(DoubleFloat) has EVALAB(COMPLEX(DFLOAT)) and Complex(DoubleFloat) has SETCAT +--R eval : (%,Complex(DoubleFloat),Complex(DoubleFloat)) -> % if Complex(DoubleFloat) has EVALAB(COMPLEX(DFLOAT)) and Complex(DoubleFloat) has SETCAT +--R eval : (%,Equation(Complex(DoubleFloat))) -> % if Complex(DoubleFloat) has EVALAB(COMPLEX(DFLOAT)) and Complex(DoubleFloat) has SETCAT +--R eval : (%,List(Equation(Complex(DoubleFloat)))) -> % if Complex(DoubleFloat) has EVALAB(COMPLEX(DFLOAT)) and Complex(DoubleFloat) has SETCAT +--R every? : ((Complex(DoubleFloat) -> Boolean),%) -> Boolean if $ has finiteAggregate +--R exquo : (%,Complex(DoubleFloat)) -> Union(%,"failed") if Complex(DoubleFloat) has INTDOM +--R fill! : (%,Complex(DoubleFloat)) -> % +--R hash : % -> SingleInteger if Complex(DoubleFloat) has SETCAT +--R inverse : % -> Union(%,"failed") if Complex(DoubleFloat) has FIELD +--R latex : % -> String if Complex(DoubleFloat) has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean ---R listOfLists : % -> List List Complex DoubleFloat ---R map : (((Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat),%,%,Complex DoubleFloat) -> % ---R map : (((Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat),%,%) -> % ---R map : ((Complex DoubleFloat -> Complex DoubleFloat),%) -> % ---R map! : ((Complex DoubleFloat -> Complex DoubleFloat),%) -> % ---R matrix : List List Complex DoubleFloat -> % ---R member? : (Complex DoubleFloat,%) -> Boolean if $ has finiteAggregate and Complex DoubleFloat has SETCAT ---R members : % -> List Complex DoubleFloat if $ has finiteAggregate ---R minordet : % -> Complex DoubleFloat if Complex DoubleFloat has commutative * +--R listOfLists : % -> List(List(Complex(DoubleFloat))) +--R map : (((Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat)),%,%,Complex(DoubleFloat)) -> % +--R map : (((Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat)),%,%) -> % +--R map : ((Complex(DoubleFloat) -> Complex(DoubleFloat)),%) -> % +--R map! : ((Complex(DoubleFloat) -> Complex(DoubleFloat)),%) -> % +--R matrix : List(List(Complex(DoubleFloat))) -> % +--R member? : (Complex(DoubleFloat),%) -> Boolean if $ has finiteAggregate and Complex(DoubleFloat) has SETCAT +--R members : % -> List(Complex(DoubleFloat)) if $ has finiteAggregate +--R minordet : % -> Complex(DoubleFloat) if Complex(DoubleFloat) has commutative(*) --R more? : (%,NonNegativeInteger) -> Boolean ---R new : (NonNegativeInteger,NonNegativeInteger,Complex DoubleFloat) -> % ---R nullSpace : % -> List ComplexDoubleFloatVector if Complex DoubleFloat has INTDOM ---R nullity : % -> NonNegativeInteger if Complex DoubleFloat has INTDOM ---R parts : % -> List Complex DoubleFloat ---R pfaffian : % -> Complex DoubleFloat if Complex DoubleFloat has COMRING ---R qelt : (%,Integer,Integer) -> Complex DoubleFloat ---R qsetelt! : (%,Integer,Integer,Complex DoubleFloat) -> Complex DoubleFloat ---R rank : % -> NonNegativeInteger if Complex DoubleFloat has INTDOM +--R new : (NonNegativeInteger,NonNegativeInteger,Complex(DoubleFloat)) -> % +--R nullSpace : % -> List(ComplexDoubleFloatVector) if Complex(DoubleFloat) has INTDOM +--R nullity : % -> NonNegativeInteger if Complex(DoubleFloat) has INTDOM +--R parts : % -> List(Complex(DoubleFloat)) +--R pfaffian : % -> Complex(DoubleFloat) if Complex(DoubleFloat) has COMRING +--R qelt : (%,Integer,Integer) -> Complex(DoubleFloat) +--R qsetelt! : (%,Integer,Integer,Complex(DoubleFloat)) -> Complex(DoubleFloat) +--R rank : % -> NonNegativeInteger if Complex(DoubleFloat) has INTDOM --R row : (%,Integer) -> ComplexDoubleFloatVector ---R rowEchelon : % -> % if Complex DoubleFloat has EUCDOM ---R scalarMatrix : (NonNegativeInteger,Complex DoubleFloat) -> % +--R rowEchelon : % -> % if Complex(DoubleFloat) has EUCDOM +--R scalarMatrix : (NonNegativeInteger,Complex(DoubleFloat)) -> % --R setColumn! : (%,Integer,ComplexDoubleFloatVector) -> % --R setRow! : (%,Integer,ComplexDoubleFloatVector) -> % ---R setelt : (%,List Integer,List Integer,%) -> % ---R setelt : (%,Integer,Integer,Complex DoubleFloat) -> Complex DoubleFloat +--R setelt : (%,List(Integer),List(Integer),%) -> % +--R setelt : (%,Integer,Integer,Complex(DoubleFloat)) -> Complex(DoubleFloat) --R setsubMatrix! : (%,Integer,Integer,%) -> % --R size? : (%,NonNegativeInteger) -> Boolean --R subMatrix : (%,Integer,Integer,Integer,Integer) -> % @@ -19522,7 +19583,7 @@ Complex(R:CommutativeRing): ComplexCategory(R) with --R swapRows! : (%,Integer,Integer) -> % --R transpose : ComplexDoubleFloatVector -> % --R zero : (NonNegativeInteger,NonNegativeInteger) -> % ---R ?~=? : (%,%) -> Boolean if Complex DoubleFloat has SETCAT +--R ?~=? : (%,%) -> Boolean if Complex(DoubleFloat) has SETCAT --R --E 1 @@ -19539,7 +19600,7 @@ a:CDFMAT:=qnew(2,3) qsetelt!(a,1,1,1.0+2*%i) --R --R (2) 1. + 2. %i ---R Type: Complex DoubleFloat +--R Type: Complex(DoubleFloat) --E 3 --S 4 of 6 @@ -19555,7 +19616,7 @@ a qsetelt!(a,0,0,2.0+4*%i) --R --R (4) 2. + 4. %i ---R Type: Complex DoubleFloat +--R Type: Complex(DoubleFloat) --E 5 --S 6 of 6 @@ -19755,103 +19816,104 @@ ComplexDoubleFloatMatrix : MatrixCategory(Complex DoubleFloat, --S 1 of 6 )show ComplexDoubleFloatVector +--R --R ComplexDoubleFloatVector is a domain constructor --R Abbreviation for ComplexDoubleFloatVector is CDFVEC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for CDFVEC --R --R------------------------------- Operations -------------------------------- ---R concat : List % -> % concat : (%,%) -> % +--R concat : List(%) -> % concat : (%,%) -> % --R copy : % -> % delete : (%,Integer) -> % --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean index? : (Integer,%) -> Boolean ---R indices : % -> List Integer insert : (%,%,Integer) -> % +--R indices : % -> List(Integer) insert : (%,%,Integer) -> % --R qnew : Integer -> % reverse : % -> % --R sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate ---R ?*? : (%,Complex DoubleFloat) -> % if Complex DoubleFloat has MONOID ---R ?*? : (Complex DoubleFloat,%) -> % if Complex DoubleFloat has MONOID ---R ?*? : (Integer,%) -> % if Complex DoubleFloat has ABELGRP ---R ?+? : (%,%) -> % if Complex DoubleFloat has ABELSG ---R ?-? : (%,%) -> % if Complex DoubleFloat has ABELGRP ---R -? : % -> % if Complex DoubleFloat has ABELGRP ---R ? Boolean if Complex DoubleFloat has ORDSET ---R ?<=? : (%,%) -> Boolean if Complex DoubleFloat has ORDSET ---R ?=? : (%,%) -> Boolean if Complex DoubleFloat has SETCAT ---R ?>? : (%,%) -> Boolean if Complex DoubleFloat has ORDSET ---R ?>=? : (%,%) -> Boolean if Complex DoubleFloat has ORDSET ---R any? : ((Complex DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate ---R coerce : % -> OutputForm if Complex DoubleFloat has SETCAT ---R concat : (Complex DoubleFloat,%) -> % ---R concat : (%,Complex DoubleFloat) -> % ---R construct : List Complex DoubleFloat -> % ---R convert : % -> InputForm if Complex DoubleFloat has KONVERT INFORM +--R ?*? : (%,Complex(DoubleFloat)) -> % if Complex(DoubleFloat) has MONOID +--R ?*? : (Complex(DoubleFloat),%) -> % if Complex(DoubleFloat) has MONOID +--R ?*? : (Integer,%) -> % if Complex(DoubleFloat) has ABELGRP +--R ?+? : (%,%) -> % if Complex(DoubleFloat) has ABELSG +--R ?-? : (%,%) -> % if Complex(DoubleFloat) has ABELGRP +--R -? : % -> % if Complex(DoubleFloat) has ABELGRP +--R ? Boolean if Complex(DoubleFloat) has ORDSET +--R ?<=? : (%,%) -> Boolean if Complex(DoubleFloat) has ORDSET +--R ?=? : (%,%) -> Boolean if Complex(DoubleFloat) has SETCAT +--R ?>? : (%,%) -> Boolean if Complex(DoubleFloat) has ORDSET +--R ?>=? : (%,%) -> Boolean if Complex(DoubleFloat) has ORDSET +--R any? : ((Complex(DoubleFloat) -> Boolean),%) -> Boolean if $ has finiteAggregate +--R coerce : % -> OutputForm if Complex(DoubleFloat) has SETCAT +--R concat : (Complex(DoubleFloat),%) -> % +--R concat : (%,Complex(DoubleFloat)) -> % +--R construct : List(Complex(DoubleFloat)) -> % +--R convert : % -> InputForm if Complex(DoubleFloat) has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable ---R count : (Complex DoubleFloat,%) -> NonNegativeInteger if $ has finiteAggregate and Complex DoubleFloat has SETCAT ---R count : ((Complex DoubleFloat -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R cross : (%,%) -> % if Complex DoubleFloat has RING ---R delete : (%,UniversalSegment Integer) -> % ---R dot : (%,%) -> Complex DoubleFloat if Complex DoubleFloat has RING ---R ?.? : (%,UniversalSegment Integer) -> % ---R ?.? : (%,Integer) -> Complex DoubleFloat ---R elt : (%,Integer,Complex DoubleFloat) -> Complex DoubleFloat ---R entries : % -> List Complex DoubleFloat ---R entry? : (Complex DoubleFloat,%) -> Boolean if $ has finiteAggregate and Complex DoubleFloat has SETCAT ---R eval : (%,List Complex DoubleFloat,List Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT ---R eval : (%,Complex DoubleFloat,Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT ---R eval : (%,Equation Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT ---R eval : (%,List Equation Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT ---R every? : ((Complex DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate ---R fill! : (%,Complex DoubleFloat) -> % if $ has shallowlyMutable ---R find : ((Complex DoubleFloat -> Boolean),%) -> Union(Complex DoubleFloat,"failed") ---R first : % -> Complex DoubleFloat if Integer has ORDSET ---R hash : % -> SingleInteger if Complex DoubleFloat has SETCAT ---R insert : (Complex DoubleFloat,%,Integer) -> % ---R latex : % -> String if Complex DoubleFloat has SETCAT ---R length : % -> Complex DoubleFloat if Complex DoubleFloat has RADCAT and Complex DoubleFloat has RING +--R count : (Complex(DoubleFloat),%) -> NonNegativeInteger if $ has finiteAggregate and Complex(DoubleFloat) has SETCAT +--R count : ((Complex(DoubleFloat) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate +--R cross : (%,%) -> % if Complex(DoubleFloat) has RING +--R delete : (%,UniversalSegment(Integer)) -> % +--R dot : (%,%) -> Complex(DoubleFloat) if Complex(DoubleFloat) has RING +--R ?.? : (%,UniversalSegment(Integer)) -> % +--R ?.? : (%,Integer) -> Complex(DoubleFloat) +--R elt : (%,Integer,Complex(DoubleFloat)) -> Complex(DoubleFloat) +--R entries : % -> List(Complex(DoubleFloat)) +--R entry? : (Complex(DoubleFloat),%) -> Boolean if $ has finiteAggregate and Complex(DoubleFloat) has SETCAT +--R eval : (%,List(Complex(DoubleFloat)),List(Complex(DoubleFloat))) -> % if Complex(DoubleFloat) has EVALAB(COMPLEX(DFLOAT)) and Complex(DoubleFloat) has SETCAT +--R eval : (%,Complex(DoubleFloat),Complex(DoubleFloat)) -> % if Complex(DoubleFloat) has EVALAB(COMPLEX(DFLOAT)) and Complex(DoubleFloat) has SETCAT +--R eval : (%,Equation(Complex(DoubleFloat))) -> % if Complex(DoubleFloat) has EVALAB(COMPLEX(DFLOAT)) and Complex(DoubleFloat) has SETCAT +--R eval : (%,List(Equation(Complex(DoubleFloat)))) -> % if Complex(DoubleFloat) has EVALAB(COMPLEX(DFLOAT)) and Complex(DoubleFloat) has SETCAT +--R every? : ((Complex(DoubleFloat) -> Boolean),%) -> Boolean if $ has finiteAggregate +--R fill! : (%,Complex(DoubleFloat)) -> % if $ has shallowlyMutable +--R find : ((Complex(DoubleFloat) -> Boolean),%) -> Union(Complex(DoubleFloat),"failed") +--R first : % -> Complex(DoubleFloat) if Integer has ORDSET +--R hash : % -> SingleInteger if Complex(DoubleFloat) has SETCAT +--R insert : (Complex(DoubleFloat),%,Integer) -> % +--R latex : % -> String if Complex(DoubleFloat) has SETCAT +--R length : % -> Complex(DoubleFloat) if Complex(DoubleFloat) has RADCAT and Complex(DoubleFloat) has RING --R less? : (%,NonNegativeInteger) -> Boolean ---R magnitude : % -> Complex DoubleFloat if Complex DoubleFloat has RADCAT and Complex DoubleFloat has RING ---R map : (((Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat),%,%) -> % ---R map : ((Complex DoubleFloat -> Complex DoubleFloat),%) -> % ---R map! : ((Complex DoubleFloat -> Complex DoubleFloat),%) -> % if $ has shallowlyMutable ---R max : (%,%) -> % if Complex DoubleFloat has ORDSET +--R magnitude : % -> Complex(DoubleFloat) if Complex(DoubleFloat) has RADCAT and Complex(DoubleFloat) has RING +--R map : (((Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat)),%,%) -> % +--R map : ((Complex(DoubleFloat) -> Complex(DoubleFloat)),%) -> % +--R map! : ((Complex(DoubleFloat) -> Complex(DoubleFloat)),%) -> % if $ has shallowlyMutable +--R max : (%,%) -> % if Complex(DoubleFloat) has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET ---R member? : (Complex DoubleFloat,%) -> Boolean if $ has finiteAggregate and Complex DoubleFloat has SETCAT ---R members : % -> List Complex DoubleFloat if $ has finiteAggregate ---R merge : (%,%) -> % if Complex DoubleFloat has ORDSET ---R merge : (((Complex DoubleFloat,Complex DoubleFloat) -> Boolean),%,%) -> % ---R min : (%,%) -> % if Complex DoubleFloat has ORDSET +--R member? : (Complex(DoubleFloat),%) -> Boolean if $ has finiteAggregate and Complex(DoubleFloat) has SETCAT +--R members : % -> List(Complex(DoubleFloat)) if $ has finiteAggregate +--R merge : (%,%) -> % if Complex(DoubleFloat) has ORDSET +--R merge : (((Complex(DoubleFloat),Complex(DoubleFloat)) -> Boolean),%,%) -> % +--R min : (%,%) -> % if Complex(DoubleFloat) has ORDSET --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean ---R new : (NonNegativeInteger,Complex DoubleFloat) -> % ---R outerProduct : (%,%) -> Matrix Complex DoubleFloat if Complex DoubleFloat has RING ---R parts : % -> List Complex DoubleFloat if $ has finiteAggregate ---R position : (Complex DoubleFloat,%,Integer) -> Integer if Complex DoubleFloat has SETCAT ---R position : (Complex DoubleFloat,%) -> Integer if Complex DoubleFloat has SETCAT ---R position : ((Complex DoubleFloat -> Boolean),%) -> Integer ---R qelt : (%,Integer) -> Complex DoubleFloat ---R qsetelt! : (%,Integer,Complex DoubleFloat) -> Complex DoubleFloat if $ has shallowlyMutable ---R reduce : (((Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat),%) -> Complex DoubleFloat if $ has finiteAggregate ---R reduce : (((Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat),%,Complex DoubleFloat) -> Complex DoubleFloat if $ has finiteAggregate ---R reduce : (((Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat),%,Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat if $ has finiteAggregate and Complex DoubleFloat has SETCAT ---R remove : ((Complex DoubleFloat -> Boolean),%) -> % if $ has finiteAggregate ---R remove : (Complex DoubleFloat,%) -> % if $ has finiteAggregate and Complex DoubleFloat has SETCAT ---R removeDuplicates : % -> % if $ has finiteAggregate and Complex DoubleFloat has SETCAT +--R new : (NonNegativeInteger,Complex(DoubleFloat)) -> % +--R outerProduct : (%,%) -> Matrix(Complex(DoubleFloat)) if Complex(DoubleFloat) has RING +--R parts : % -> List(Complex(DoubleFloat)) if $ has finiteAggregate +--R position : (Complex(DoubleFloat),%,Integer) -> Integer if Complex(DoubleFloat) has SETCAT +--R position : (Complex(DoubleFloat),%) -> Integer if Complex(DoubleFloat) has SETCAT +--R position : ((Complex(DoubleFloat) -> Boolean),%) -> Integer +--R qelt : (%,Integer) -> Complex(DoubleFloat) +--R qsetelt! : (%,Integer,Complex(DoubleFloat)) -> Complex(DoubleFloat) if $ has shallowlyMutable +--R reduce : (((Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat)),%) -> Complex(DoubleFloat) if $ has finiteAggregate +--R reduce : (((Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat)),%,Complex(DoubleFloat)) -> Complex(DoubleFloat) if $ has finiteAggregate +--R reduce : (((Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat)),%,Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat) if $ has finiteAggregate and Complex(DoubleFloat) has SETCAT +--R remove : ((Complex(DoubleFloat) -> Boolean),%) -> % if $ has finiteAggregate +--R remove : (Complex(DoubleFloat),%) -> % if $ has finiteAggregate and Complex(DoubleFloat) has SETCAT +--R removeDuplicates : % -> % if $ has finiteAggregate and Complex(DoubleFloat) has SETCAT --R reverse! : % -> % if $ has shallowlyMutable ---R select : ((Complex DoubleFloat -> Boolean),%) -> % if $ has finiteAggregate ---R setelt : (%,UniversalSegment Integer,Complex DoubleFloat) -> Complex DoubleFloat if $ has shallowlyMutable ---R setelt : (%,Integer,Complex DoubleFloat) -> Complex DoubleFloat if $ has shallowlyMutable +--R select : ((Complex(DoubleFloat) -> Boolean),%) -> % if $ has finiteAggregate +--R setelt : (%,UniversalSegment(Integer),Complex(DoubleFloat)) -> Complex(DoubleFloat) if $ has shallowlyMutable +--R setelt : (%,Integer,Complex(DoubleFloat)) -> Complex(DoubleFloat) if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean ---R sort : % -> % if Complex DoubleFloat has ORDSET ---R sort : (((Complex DoubleFloat,Complex DoubleFloat) -> Boolean),%) -> % ---R sort! : % -> % if $ has shallowlyMutable and Complex DoubleFloat has ORDSET ---R sort! : (((Complex DoubleFloat,Complex DoubleFloat) -> Boolean),%) -> % if $ has shallowlyMutable ---R sorted? : % -> Boolean if Complex DoubleFloat has ORDSET ---R sorted? : (((Complex DoubleFloat,Complex DoubleFloat) -> Boolean),%) -> Boolean +--R sort : % -> % if Complex(DoubleFloat) has ORDSET +--R sort : (((Complex(DoubleFloat),Complex(DoubleFloat)) -> Boolean),%) -> % +--R sort! : % -> % if $ has shallowlyMutable and Complex(DoubleFloat) has ORDSET +--R sort! : (((Complex(DoubleFloat),Complex(DoubleFloat)) -> Boolean),%) -> % if $ has shallowlyMutable +--R sorted? : % -> Boolean if Complex(DoubleFloat) has ORDSET +--R sorted? : (((Complex(DoubleFloat),Complex(DoubleFloat)) -> Boolean),%) -> Boolean --R swap! : (%,Integer,Integer) -> Void if $ has shallowlyMutable ---R vector : List Complex DoubleFloat -> % ---R zero : NonNegativeInteger -> % if Complex DoubleFloat has ABELMON ---R ?~=? : (%,%) -> Boolean if Complex DoubleFloat has SETCAT +--R vector : List(Complex(DoubleFloat)) -> % +--R zero : NonNegativeInteger -> % if Complex(DoubleFloat) has ABELMON +--R ?~=? : (%,%) -> Boolean if Complex(DoubleFloat) has SETCAT --R --E 1 @@ -19867,7 +19929,7 @@ t1:CDFVEC:=qnew(5) t1.1:=1.0+2*%i --R --R (2) 1. + 2. %i ---R Type: Complex DoubleFloat +--R Type: Complex(DoubleFloat) --E 3 --S 4 of 6 @@ -19881,7 +19943,7 @@ t1 t1.0:=3.0+4.0*%i --R --R (4) 3. + 4. %i ---R Type: Complex DoubleFloat +--R Type: Complex(DoubleFloat) --E 5 --S 6 of 6 @@ -20079,7 +20141,7 @@ c := continuedFraction(314159/100000) --R 1 | 1 | 1 | 1 | 1 | 1 | 1 | --R (1) 3 + +---+ + +----+ + +---+ + +----+ + +---+ + +---+ + +---+ --R | 7 | 15 | 1 | 25 | 1 | 7 | 4 ---R Type: ContinuedFraction Integer +--R Type: ContinuedFraction(Integer) --E 1 --S 2 of 22 @@ -20087,7 +20149,7 @@ partialQuotients c --R --R --R (2) [3,7,15,1,25,1,7,4] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 2 --S 3 of 22 @@ -20097,7 +20159,7 @@ convergents c --R 22 333 355 9208 9563 76149 314159 --R (3) [3,--,---,---,----,----,-----,------] --R 7 106 113 2931 3044 24239 100000 ---R Type: Stream Fraction Integer +--R Type: Stream(Fraction(Integer)) --E 3 --S 4 of 22 @@ -20108,7 +20170,7 @@ approximants c --R 22 333 355 9208 9563 76149 314159 --R (4) [3,--,---,---,----,----,-----,------] --R 7 106 113 2931 3044 24239 100000 ---R Type: Stream Fraction Integer +--R Type: Stream(Fraction(Integer)) --E 4 --S 5 of 22 @@ -20116,7 +20178,7 @@ pq := partialQuotients(1/c) --R --R --R (5) [0,3,7,15,1,25,1,7,4] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 5 --S 6 of 22 @@ -20126,7 +20188,7 @@ continuedFraction(first pq,repeating [1],rest pq) --R 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | --R (6) +---+ + +---+ + +----+ + +---+ + +----+ + +---+ + +---+ + +---+ --R | 3 | 7 | 15 | 1 | 25 | 1 | 7 | 4 ---R Type: ContinuedFraction Integer +--R Type: ContinuedFraction(Integer) --E 6 --S 7 of 22 @@ -20141,7 +20203,7 @@ z:=continuedFraction(3,repeating [1],repeating [3,6]) --R 1 | --R +---+ + ... --R | 6 ---R Type: ContinuedFraction Integer +--R Type: ContinuedFraction(Integer) --E 7 --S 8 of 22 @@ -20149,7 +20211,7 @@ dens:Stream Integer := cons(1,generate((x+->x+4),6)) --R --R --R (8) [1,6,10,14,18,22,26,30,34,38,...] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 8 --S 9 of 22 @@ -20164,7 +20226,7 @@ cf := continuedFraction(0,repeating [1],dens) --R 1 | 1 | --R +----+ + +----+ + ... --R | 34 | 38 ---R Type: ContinuedFraction Integer +--R Type: ContinuedFraction(Integer) --E 9 --S 10 of 22 @@ -20174,7 +20236,7 @@ ccf := convergents cf --R 6 61 860 15541 342762 8927353 268163352 9126481321 --R (10) [0,1,-,--,----,-----,------,--------,---------,-----------,...] --R 7 71 1001 18089 398959 10391023 312129649 10622799089 ---R Type: Stream Fraction Integer +--R Type: Stream(Fraction(Integer)) --E 10 --S 11 of 22 @@ -20184,7 +20246,7 @@ eConvergents := [2*e + 1 for e in ccf] --R 19 193 2721 49171 1084483 28245729 848456353 28875761731 --R (11) [1,3,--,---,----,-----,-------,--------,---------,-----------,...] --R 7 71 1001 18089 398959 10391023 312129649 10622799089 ---R Type: Stream Fraction Integer +--R Type: Stream(Fraction(Integer)) --E 11 --S 12 of 22 @@ -20196,7 +20258,7 @@ eConvergents :: Stream Float --R 2.7182817182 817182817, 2.7182818287 356957267, 2.7182818284 585634113, --R 2.7182818284 590458514, 2.7182818284 590452348, 2.7182818284 590452354, --R ...] ---R Type: Stream Float +--R Type: Stream(Float) --E 12 --S 13 of 22 @@ -20219,7 +20281,7 @@ cf := continuedFraction(1,[(2*i+1)**2 for i in 0..],repeating [2]) --R 289 | 361 | --R +-----+ + +-----+ + ... --R | 2 | 2 ---R Type: ContinuedFraction Integer +--R Type: ContinuedFraction(Integer) --E 14 --S 15 of 22 @@ -20229,7 +20291,7 @@ ccf := convergents cf --R 3 15 105 315 3465 45045 45045 765765 14549535 --R (15) [1,-,--,---,---,----,-----,-----,------,--------,...] --R 2 13 76 263 2578 36979 33976 622637 11064338 ---R Type: Stream Fraction Integer +--R Type: Stream(Fraction(Integer)) --E 15 --S 16 of 22 @@ -20239,7 +20301,7 @@ piConvergents := [4/p for p in ccf] --R 8 52 304 1052 10312 147916 135904 2490548 44257352 --R (16) [4,-,--,---,----,-----,------,------,-------,--------,...] --R 3 15 105 315 3465 45045 45045 765765 14549535 ---R Type: Stream Fraction Integer +--R Type: Stream(Fraction(Integer)) --E 16 --S 17 of 22 @@ -20251,7 +20313,7 @@ piConvergents :: Stream Float --R 2.8952380952 380952381, 3.3396825396 825396825, 2.9760461760 461760462, --R 3.2837384837 384837385, 3.0170718170 718170718, 3.2523659347 188758953, --R 3.0418396189 294022111, ...] ---R Type: Stream Float +--R Type: Stream(Float) --E 17 --S 18 of 22 @@ -20261,7 +20323,7 @@ continuedFraction((- 122 + 597*%i)/(4 - 4*%i)) --R 1 | 1 | --R (18) - 90 + 59%i + +---------+ + +-----------+ --R | 1 - 2%i | - 1 + 2%i ---R Type: ContinuedFraction Complex Integer +--R Type: ContinuedFraction(Complex(Integer)) --E 18 --S 19 of 22 @@ -20279,7 +20341,7 @@ r := ((x - 1) * (x - 2)) / ((x-3) * (x-4)) --R (20) ------------ --R 2 --R x - 7x + 12 ---R Type: Fraction UnivariatePolynomial(x,Fraction Integer) +--R Type: Fraction(UnivariatePolynomial(x,Fraction(Integer))) --E 20 --S 21 of 22 @@ -20291,7 +20353,7 @@ continuedFraction r --R | 1 9 | 16 40 --R | - x - - | -- x - -- --R | 4 8 | 3 3 ---R Type: ContinuedFraction UnivariatePolynomial(x,Fraction Integer) +--R Type: ContinuedFraction(UnivariatePolynomial(x,Fraction(Integer))) --E 21 --S 22 of 22 @@ -20303,7 +20365,7 @@ continuedFraction r --R 10.9999860763 98799786, 11.0000006979 29731039, 10.9999999650 15834446, --R 11.0000000017 53603304, 10.9999999999 12099531, 11.0000000000 04406066, --R ...] ---R Type: Stream Float +--R Type: Stream(Float) --E 22 )spool )lisp (bye) @@ -21023,7 +21085,8 @@ ContinuedFraction(R): Exports == Implementation where --S 1 of 1 )show Database ---R Database S where +--R +--R Database(S) where --R S: OrderedSet with --R ?.? : (%,Symbol) -> String --R display : % -> Void @@ -21034,12 +21097,12 @@ ContinuedFraction(R): Exports == Implementation where --R --R------------------------------- Operations -------------------------------- --R ?+? : (%,%) -> % ?-? : (%,%) -> % ---R ?=? : (%,%) -> Boolean coerce : List S -> % +--R ?=? : (%,%) -> Boolean coerce : List(S) -> % --R coerce : % -> OutputForm display : % -> Void --R ?.? : (%,QueryEquation) -> % fullDisplay : % -> Void --R hash : % -> SingleInteger latex : % -> String --R ?~=? : (%,%) -> Boolean ---R ?.? : (%,Symbol) -> DataList String +--R ?.? : (%,Symbol) -> DataList(String) --R fullDisplay : (%,PositiveInteger,PositiveInteger) -> Void --R --E 1 @@ -21149,35 +21212,36 @@ Database(S): Exports == Implementation where --S 1 of 1 )show DataList ---R DataList S: OrderedSet is a domain constructor +--R +--R DataList(S: OrderedSet) is a domain constructor --R Abbreviation for DataList is DLIST --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for DLIST --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % coerce : % -> List S ---R coerce : List S -> % concat : (%,S) -> % ---R concat : List % -> % concat : (S,%) -> % +--R children : % -> List(%) coerce : % -> List(S) +--R coerce : List(S) -> % 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 datalist : List S -> % delete : (%,Integer) -> % +--R datalist : List(S) -> % delete : (%,Integer) -> % --R delete! : (%,Integer) -> % distance : (%,%) -> Integer --R ?.sort : (%,sort) -> % ?.unique : (%,unique) -> % --R elt : (%,Integer,S) -> S ?.? : (%,Integer) -> S --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 insert! : (S,%,Integer) -> % insert! : (%,%,Integer) -> % --R last : % -> S leaf? : % -> Boolean ---R leaves : % -> List S list : S -> % +--R leaves : % -> List(S) 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 rest : % -> % reverse : % -> % --R sample : () -> % second : % -> S @@ -21192,21 +21256,21 @@ Database(S): Exports == Implementation where --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 $ has finiteAggregate and S has SETCAT --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 delete : (%,UniversalSegment(Integer)) -> % +--R delete! : (%,UniversalSegment(Integer)) -> % --R ?.count : (%,count) -> NonNegativeInteger ---R ?.? : (%,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") @@ -21219,7 +21283,7 @@ Database(S): Exports == Implementation where --R max : (%,%) -> % if S has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---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),%,%) -> % @@ -21228,7 +21292,7 @@ Database(S): Exports == Implementation where --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 @@ -21246,9 +21310,9 @@ Database(S): Exports == Implementation where --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 @@ -21472,7 +21536,7 @@ r + decimal(6/7) --R [0.00285714, 0.002849, 0.0028409, 0.00283286118980169971671388101983, --R __________________________________________________________ --R 0.00282485875706214689265536723163841807909604519774011299435] ---R Type: List DecimalExpansion +--R Type: List(DecimalExpansion) --E 3 --S 4 of 7 @@ -21496,7 +21560,7 @@ p := decimal(1/4)*x**2 + decimal(2/3)*x + decimal(4/9) --R --R 2 _ _ --R (5) 0.25x + 0.6x + 0.4 ---R Type: Polynomial DecimalExpansion +--R Type: Polynomial(DecimalExpansion) --E 5 --S 6 of 7 @@ -21505,7 +21569,7 @@ q := differentiate(p, x) --R --R _ --R (6) 0.5x + 0.6 ---R Type: Polynomial DecimalExpansion +--R Type: Polynomial(DecimalExpansion) --E 6 --S 7 of 7 @@ -21514,7 +21578,7 @@ g := gcd(p, q) --R --R _ --R (7) x + 1.3 ---R Type: Polynomial DecimalExpansion +--R Type: Polynomial(DecimalExpansion) --E 7 )spool )lisp (bye) @@ -23505,7 +23569,7 @@ a:Dequeue INT:= dequeue [1,2,3,4,5] --R --R --R (1) [1,2,3,4,5] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 1 --S 2 of 63 @@ -23521,7 +23585,7 @@ a --R --R --R (3) [2,3,4,5] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 3 --S 4 of 63 @@ -23537,7 +23601,7 @@ a --R --R --R (5) [3,4,5] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 5 --S 6 of 63 @@ -23553,7 +23617,7 @@ a --R --R --R (7) [3,4,5,9] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 7 --S 8 of 63 @@ -23561,7 +23625,7 @@ insert!(8,a) --R --R --R (8) [3,4,5,9,8] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 8 --S 9 of 63 @@ -23569,7 +23633,7 @@ a --R --R --R (9) [3,4,5,9,8] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 9 --S 10 of 63 @@ -23601,7 +23665,7 @@ a --R --R --R (13) [3,4,5,9] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 13 --S 14 of 63 @@ -23633,7 +23697,7 @@ a --R --R --R (17) [3,4,5,9,6] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 17 --S 18 of 63 @@ -23649,7 +23713,7 @@ a --R --R --R (19) [3,4,5,9] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 19 --S 20 of 63 @@ -23665,7 +23729,7 @@ a --R --R --R (21) [7,3,4,5,9] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 21 --S 22 of 63 @@ -23681,7 +23745,7 @@ a --R --R --R (23) [3,4,5,9] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 23 --S 24 of 63 @@ -23697,7 +23761,7 @@ a --R --R --R (25) [3,4,5,9] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 25 --S 26 of 63 @@ -23713,7 +23777,7 @@ a --R --R --R (27) [4,5,9] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 27 --S 28 of 63 @@ -23721,7 +23785,7 @@ reverse! a --R --R --R (28) [9,5,4] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 28 --S 29 of 63 @@ -23729,7 +23793,7 @@ rotate! a --R --R --R (29) [5,4,9] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 29 --S 30 of 63 @@ -23801,7 +23865,7 @@ parts a --R --R --R (38) [5,4,9] ---R Type: List Integer +--R Type: List(Integer) --E 38 --S 39 of 63 @@ -23809,7 +23873,7 @@ bag([1,2,3,4,5])$Dequeue(INT) --R --R --R (39) [1,2,3,4,5] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 39 --S 40 of 63 @@ -23817,7 +23881,7 @@ b:=empty()$(Dequeue INT) --R --R --R (40) [] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 40 --S 41 of 63 @@ -23833,7 +23897,7 @@ sample()$Dequeue(INT) --R --R --R (42) [] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 42 --S 43 of 63 @@ -23841,7 +23905,7 @@ c:=copy a --R --R --R (43) [5,4,9] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 43 --S 44 of 63 @@ -23929,7 +23993,7 @@ map(x+->x+10,a) --R --R --R (54) [15,14,19] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 54 --S 55 of 63 @@ -23937,7 +24001,7 @@ a --R --R --R (55) [5,4,9] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 55 --S 56 of 63 @@ -23945,7 +24009,7 @@ map!(x+->x+10,a) --R --R --R (56) [15,14,19] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 56 --S 57 of 63 @@ -23953,7 +24017,7 @@ a --R --R --R (57) [15,14,19] ---R Type: Dequeue Integer +--R Type: Dequeue(Integer) --E 57 --S 58 of 63 @@ -23961,7 +24025,7 @@ members a --R --R --R (58) [15,14,19] ---R Type: List Integer +--R Type: List(Integer) --E 58 --S 59 of 63 @@ -23999,15 +24063,15 @@ latex a --S 63 of 63 )show Dequeue --R ---R Dequeue S: SetCategory is a domain constructor +--R Dequeue(S: SetCategory) is a domain constructor --R Abbreviation for Dequeue is DEQUEUE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for DEQUEUE --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 @@ -24026,19 +24090,19 @@ latex a --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --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 $ has finiteAggregate and S has SETCAT ---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 @@ -24722,7 +24786,7 @@ lv : List Symbol := [x,y,z] --R --R --R (2) [x,y,z] ---R Type: List Symbol +--R Type: List(Symbol) --E 2 --S 3 of 34 @@ -24737,7 +24801,7 @@ der := DERHAM(coefRing,lv) R := Expression coefRing --R --R ---R (4) Expression Integer +--R (4) Expression(Integer) --R Type: Domain --E 4 @@ -24747,7 +24811,7 @@ f : R := x**2*y*z-5*x**3*y**2*z**5 --R --R 3 2 5 2 --R (5) - 5x y z + x y z ---R Type: Expression Integer +--R Type: Expression(Integer) --E 5 --S 6 of 34 @@ -24756,7 +24820,7 @@ g : R := z**2*y*cos(z)-7*sin(x**3*y**2)*z**2 --R --R 2 3 2 2 --R (6) - 7z sin(x y ) + y z cos(z) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 6 --S 7 of 34 @@ -24765,7 +24829,7 @@ h : R :=x*y*z-2*x**3*y*z**2 --R --R 3 2 --R (7) - 2x y z + x y z ---R Type: Expression Integer +--R Type: Expression(Integer) --E 7 --S 8 of 34 @@ -24797,7 +24861,7 @@ dz : der := generator(3) --R --R --R (11) [dx,dy,dz] ---R Type: List DeRhamComplex(Integer,[x,y,z]) +--R Type: List(DeRhamComplex(Integer,[x,y,z])) --E 11 --S 12 of 34 @@ -24997,7 +25061,7 @@ coefficient(gamma, dx*dy) --R --R 2 3 2 2 4 2 5 3 --R (31) (7z sin(x y ) - y z cos(z))cos(tan(x y z) + x y z) - 5x y z + x y z ---R Type: Expression Integer +--R Type: Expression(Integer) --E 31 --S 32 of 34 @@ -25005,7 +25069,7 @@ coefficient(gamma, one) --R --R --R (32) 0 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 32 --S 33 of 34 @@ -25013,7 +25077,7 @@ coefficient(g1,one) --R --R --R (33) a(x,t,y,u,v,z,e) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 33 --S 34 of 34 @@ -25455,22 +25519,23 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where --S 1 of 1 )show DesingTree ---R DesingTree S: SetCategory is a domain constructor +--R +--R DesingTree(S: SetCategory) is a domain constructor --R Abbreviation for DesingTree is DSTREE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for DSTREE --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % copy : % -> % +--R children : % -> List(%) copy : % -> % --R cyclic? : % -> Boolean distance : (%,%) -> Integer --R ?.value : (%,value) -> S empty : () -> % --R empty? : % -> Boolean encode : % -> String --R eq? : (%,%) -> Boolean fullOut : % -> OutputForm --R fullOutput : () -> Boolean fullOutput : Boolean -> 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 @@ -25479,21 +25544,21 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --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 $ has finiteAggregate and S has SETCAT ---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 @@ -25653,7 +25718,8 @@ DesingTree(S: SetCategory): T==C where --S 1 of 1 )show DifferentialSparseMultivariatePolynomial ---R DifferentialSparseMultivariatePolynomial(R: Ring,S: OrderedSet,V: DifferentialVariableCategory S) is a domain constructor +--R +--R DifferentialSparseMultivariatePolynomial(R: Ring,S: OrderedSet,V: DifferentialVariableCategory(S)) is a domain constructor --R Abbreviation for DifferentialSparseMultivariatePolynomial is DSMP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for DSMP @@ -25665,32 +25731,31 @@ DesingTree(S: SetCategory): T==C where --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) -> % coefficients : % -> List R +--R ?^? : (%,PositiveInteger) -> % coefficients : % -> List(R) --R coerce : S -> % coerce : V -> % --R coerce : R -> % coerce : Integer -> % ---R coerce : % -> OutputForm degree : % -> IndexedExponents V ---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 coerce : % -> OutputForm degree : % -> IndexedExponents(V) +--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 initial : % -> % --R isobaric? : % -> Boolean latex : % -> String --R leader : % -> V leadingCoefficient : % -> R --R leadingMonomial : % -> % map : ((R -> R),%) -> % ---R monomial? : % -> Boolean monomials : % -> List % +--R monomial? : % -> Boolean monomials : % -> List(%) --R one? : % -> Boolean order : % -> NonNegativeInteger ---R primitiveMonomials : % -> List % 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 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 ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,R) -> % if R has FIELD @@ -25699,114 +25764,117 @@ DesingTree(S: SetCategory): T==C where --R ?>? : (%,%) -> Boolean if R has ORDSET --R ?>=? : (%,%) -> Boolean if R has ORDSET --R D : (%,(R -> R),NonNegativeInteger) -> % ---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL ---R D : (%,List Symbol) -> % if R has PDRING SYMBOL ---R D : (%,Symbol) -> % if R has PDRING SYMBOL +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R D : (%,Symbol) -> % if R has PDRING(SYMBOL) --R D : (%,NonNegativeInteger) -> % if R has DIFRING ---R D : (%,List 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 $ has CHARNZ and R has PFECAT or R has CHARNZ ---R coefficient : (%,List V,List NonNegativeInteger) -> % +--R coefficient : (%,List(V),List(NonNegativeInteger)) -> % --R coefficient : (%,V,NonNegativeInteger) -> % ---R coefficient : (%,IndexedExponents V) -> R +--R coefficient : (%,IndexedExponents(V)) -> R --R coerce : % -> % if R has INTDOM ---R coerce : Fraction Integer -> % if R has ALGEBRA FRAC INT or R has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT)) --R coerce : SparseMultivariatePolynomial(R,S) -> % ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and R has PFECAT +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and R has PFECAT --R content : (%,V) -> % if R has GCDDOM --R content : % -> R if R has GCDDOM ---R convert : % -> InputForm if R has KONVERT INFORM and V has KONVERT INFORM ---R convert : % -> Pattern Integer if R has KONVERT PATTERN INT and V has KONVERT PATTERN INT ---R convert : % -> Pattern Float if R has KONVERT PATTERN FLOAT and V has KONVERT PATTERN FLOAT +--R convert : % -> InputForm if R has KONVERT(INFORM) and V has KONVERT(INFORM) +--R convert : % -> Pattern(Integer) if R has KONVERT(PATTERN(INT)) and V has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if R has KONVERT(PATTERN(FLOAT)) and V 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 mapExponents : ((IndexedExponents V -> IndexedExponents V),%) -> % +--R mapExponents : ((IndexedExponents(V) -> IndexedExponents(V)),%) -> % --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 minimumDegree : % -> IndexedExponents V +--R minimumDegree : % -> IndexedExponents(V) --R monicDivide : (%,%,V) -> Record(quotient: %,remainder: %) ---R monomial : (%,List V,List NonNegativeInteger) -> % +--R monomial : (%,List(V),List(NonNegativeInteger)) -> % --R monomial : (%,V,NonNegativeInteger) -> % ---R monomial : (R,IndexedExponents V) -> % ---R multivariate : (SparseUnivariatePolynomial %,V) -> % ---R multivariate : (SparseUnivariatePolynomial R,V) -> % +--R monomial : (R,IndexedExponents(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 R has PATMAB INT and V has PATMAB INT ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB FLOAT and V has PATMAB FLOAT ---R pomopo! : (%,R,IndexedExponents V,%) -> % +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if R has PATMAB(INT) and V has PATMAB(INT) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB(FLOAT) and V has PATMAB(FLOAT) +--R pomopo! : (%,R,IndexedExponents(V),%) -> % --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 : % -> SparseMultivariatePolynomial(R,S) ---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(SparseMultivariatePolynomial(R,S),"failed") --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 @@ -25990,6 +26058,7 @@ DifferentialSparseMultivariatePolynomial(R, S, V): --S 1 of 1 )show DirectProduct +--R --R DirectProduct(dim: NonNegativeInteger,R: Type) is a domain constructor --R Abbreviation for DirectProduct is DIRPROD --R This constructor is not exposed in this frame. @@ -25997,12 +26066,12 @@ DifferentialSparseMultivariatePolynomial(R, S, V): --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 @@ -26024,10 +26093,10 @@ DifferentialSparseMultivariatePolynomial(R, S, V): --R ?>=? : (%,%) -> Boolean if R has OAMONS or R has ORDRING --R D : (%,(R -> R)) -> % if R has RING --R D : (%,(R -> R),NonNegativeInteger) -> % if R has RING ---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL and R has RING ---R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL and R has RING ---R D : (%,List Symbol) -> % if R has PDRING SYMBOL and R has RING ---R D : (%,Symbol) -> % if R has PDRING SYMBOL and R has RING +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) and R has RING +--R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) and R has RING +--R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) and R has RING +--R D : (%,Symbol) -> % if R has PDRING(SYMBOL) and R has RING --R D : (%,NonNegativeInteger) -> % if R has DIFRING and R has RING --R D : % -> % if R has DIFRING and R has RING --R ?^? : (%,PositiveInteger) -> % if R has MONOID @@ -26036,26 +26105,26 @@ DifferentialSparseMultivariatePolynomial(R, S, V): --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 R has RETRACT FRAC INT and R has SETCAT ---R coerce : Integer -> % if R has RETRACT INT and R has SETCAT or R has RING +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) and R has SETCAT +--R coerce : Integer -> % if R has RETRACT(INT) and R has SETCAT or R has RING --R coerce : % -> OutputForm if R has SETCAT --R count : (R,%) -> NonNegativeInteger if $ has finiteAggregate and R has SETCAT --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 R has PDRING SYMBOL and R has RING ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL and R has RING ---R differentiate : (%,List Symbol) -> % if R has PDRING SYMBOL and R has RING ---R differentiate : (%,Symbol) -> % if R has PDRING SYMBOL and R has RING +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) and R has RING +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) and R has RING +--R differentiate : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) and R has RING +--R differentiate : (%,Symbol) -> % if R has PDRING(SYMBOL) and R has RING --R differentiate : (%,NonNegativeInteger) -> % if R has DIFRING and R has RING --R differentiate : % -> % if R has DIFRING and R has 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 @@ -26068,27 +26137,27 @@ DifferentialSparseMultivariatePolynomial(R, S, V): --R max : (%,%) -> % if R has OAMONS or R has ORDRING --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (R,%) -> Boolean if $ has finiteAggregate and R has SETCAT ---R members : % -> List R if $ has finiteAggregate +--R members : % -> List(R) if $ has finiteAggregate --R min : (%,%) -> % if R has OAMONS or R has ORDRING --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 R has LINEXP INT and R has RING ---R reducedSystem : Matrix % -> Matrix Integer if R has LINEXP INT and R has RING +--R reducedSystem : Matrix(%) -> Matrix(R) if R has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(R),vec: Vector(R)) if R has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if R has LINEXP(INT) and R has RING +--R reducedSystem : Matrix(%) -> Matrix(Integer) if R has LINEXP(INT) and R has RING --R retract : % -> R if R has SETCAT ---R retract : % -> Fraction Integer if R has RETRACT FRAC INT and R has SETCAT ---R retract : % -> Integer if R has RETRACT INT and R has SETCAT +--R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT)) and R has SETCAT +--R retract : % -> Integer if R has RETRACT(INT) and R has SETCAT --R retractIfCan : % -> Union(R,"failed") if R has SETCAT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if R has RETRACT FRAC INT and R has SETCAT ---R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT INT and R has SETCAT +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has RETRACT(FRAC(INT)) and R has SETCAT +--R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT(INT) and R has SETCAT --R setelt : (%,Integer,R) -> R if $ has shallowlyMutable --R sign : % -> Integer if R has ORDRING --R size : () -> NonNegativeInteger if R has FINITE @@ -26317,7 +26386,8 @@ DirectProduct(dim:NonNegativeInteger, R:Type): --S 1 of 1 )show DirectProductMatrixModule ---R DirectProductMatrixModule(n: PositiveInteger,R: Ring,M: SquareMatrixCategory(n,R,DirectProduct(n,R),DirectProduct(n,R)),S: LeftModule R) is a domain constructor +--R +--R DirectProductMatrixModule(n: PositiveInteger,R: Ring,M: SquareMatrixCategory(n,R,DirectProduct(n,R),DirectProduct(n,R)),S: LeftModule(R)) is a domain constructor --R Abbreviation for DirectProductMatrixModule is DPMM --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for DPMM @@ -26328,22 +26398,22 @@ DirectProduct(dim:NonNegativeInteger, R:Type): --R ?+? : (%,%) -> % -? : % -> % --R ?-? : (%,%) -> % ?=? : (%,%) -> Boolean --R 0 : () -> % coerce : % -> OutputForm ---R coerce : % -> Vector S copy : % -> % ---R directProduct : Vector S -> % ?.? : (%,Integer) -> S +--R coerce : % -> Vector(S) copy : % -> % +--R directProduct : Vector(S) -> % ?.? : (%,Integer) -> S --R elt : (%,Integer,S) -> S empty : () -> % ---R empty? : % -> Boolean entries : % -> List S +--R empty? : % -> Boolean entries : % -> List(S) --R eq? : (%,%) -> Boolean hash : % -> SingleInteger ---R index? : (Integer,%) -> Boolean indices : % -> List Integer +--R index? : (Integer,%) -> Boolean indices : % -> List(Integer) --R latex : % -> String map : ((S -> S),%) -> % --R qelt : (%,Integer) -> S sample : () -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate ---R ?*? : (%,%) -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING +--R ?*? : (%,%) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING --R ?*? : (S,%) -> % if S has RING --R ?*? : (%,S) -> % if S has RING --R ?*? : (NonNegativeInteger,%) -> % ---R ?**? : (%,PositiveInteger) -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING ---R ?**? : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING +--R ?**? : (%,PositiveInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING +--R ?**? : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING --R ?/? : (%,S) -> % if S has FIELD --R ? Boolean if S has OAMONS or S has ORDRING --R ?<=? : (%,%) -> Boolean if S has OAMONS or S has ORDRING @@ -26351,38 +26421,38 @@ DirectProduct(dim:NonNegativeInteger, R:Type): --R ?>=? : (%,%) -> Boolean if S has OAMONS or S has ORDRING --R D : % -> % if S has DIFRING and S has RING --R D : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING ---R D : (%,Symbol) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,List Symbol) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING +--R D : (%,Symbol) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) and S has RING --R D : (%,(S -> S)) -> % if S has RING --R D : (%,(S -> S),NonNegativeInteger) -> % if S has RING ---R 1 : () -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING ---R ?^? : (%,PositiveInteger) -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING ---R ?^? : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING +--R 1 : () -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING +--R ?^? : (%,PositiveInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING +--R ?^? : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING --R abs : % -> % if S has ORDRING --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R characteristic : () -> NonNegativeInteger if S has RING ---R coerce : Fraction Integer -> % if S has RETRACT FRAC INT and S has SETCAT ---R coerce : Integer -> % if S has RETRACT INT and S has SETCAT or S has RING +--R coerce : Fraction(Integer) -> % if S has RETRACT(FRAC(INT)) and S has SETCAT +--R coerce : Integer -> % if S has RETRACT(INT) and S has SETCAT or S has RING --R coerce : S -> % if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R differentiate : % -> % if S has DIFRING and S has RING --R differentiate : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING ---R differentiate : (%,Symbol) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,List Symbol) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING +--R differentiate : (%,Symbol) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) and S has RING --R differentiate : (%,(S -> S)) -> % if S has RING --R differentiate : (%,(S -> S),NonNegativeInteger) -> % if S has RING --R dimension : () -> CardinalNumber if S has FIELD --R dot : (%,%) -> S if S has RING --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 first : % -> S if Integer has ORDSET @@ -26393,26 +26463,26 @@ DirectProduct(dim:NonNegativeInteger, R:Type): --R max : (%,%) -> % if S has OAMONS or S has ORDRING --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R min : (%,%) -> % if S has OAMONS or S has ORDRING --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R negative? : % -> Boolean if S has ORDRING ---R one? : % -> Boolean if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING ---R parts : % -> List S if $ has finiteAggregate +--R one? : % -> Boolean if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING +--R parts : % -> List(S) if $ has finiteAggregate --R positive? : % -> Boolean if S has ORDRING --R qsetelt! : (%,Integer,S) -> S if $ has shallowlyMutable --R random : () -> % if S has FINITE ---R recip : % -> Union(%,"failed") if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING ---R reducedSystem : Matrix % -> Matrix Integer if S has LINEXP INT and S has RING ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if S has LINEXP INT and S has RING ---R reducedSystem : Matrix % -> Matrix S if S has RING ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix S,vec: Vector S) if S has RING ---R retract : % -> Fraction Integer if S has RETRACT FRAC INT and S has SETCAT ---R retract : % -> Integer if S has RETRACT INT and S has SETCAT +--R recip : % -> Union(%,"failed") if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING +--R reducedSystem : Matrix(%) -> Matrix(Integer) if S has LINEXP(INT) and S has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if S has LINEXP(INT) and S has RING +--R reducedSystem : Matrix(%) -> Matrix(S) if S has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(S),vec: Vector(S)) if S has RING +--R retract : % -> Fraction(Integer) if S has RETRACT(FRAC(INT)) and S has SETCAT +--R retract : % -> Integer if S has RETRACT(INT) and S has SETCAT --R retract : % -> S if S has SETCAT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if S has RETRACT FRAC INT and S has SETCAT ---R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT INT and S has SETCAT +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if S has RETRACT(FRAC(INT)) and S has SETCAT +--R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT(INT) and S has SETCAT --R retractIfCan : % -> Union(S,"failed") if S has SETCAT --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable --R sign : % -> Integer if S has ORDRING @@ -26575,7 +26645,8 @@ DirectProductMatrixModule(n, R, M, S): DPcategory == DPcapsule where --S 1 of 1 )show DirectProductModule ---R DirectProductModule(n: NonNegativeInteger,R: Ring,S: LeftModule R) is a domain constructor +--R +--R DirectProductModule(n: NonNegativeInteger,R: Ring,S: LeftModule(R)) is a domain constructor --R Abbreviation for DirectProductModule is DPMO --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for DPMO @@ -26585,23 +26656,23 @@ DirectProductMatrixModule(n, R, M, S): DPcategory == DPcapsule where --R ?*? : (R,%) -> % ?+? : (%,%) -> % --R -? : % -> % ?-? : (%,%) -> % --R ?=? : (%,%) -> Boolean 0 : () -> % ---R coerce : % -> OutputForm coerce : % -> Vector S ---R copy : % -> % directProduct : Vector S -> % +--R coerce : % -> OutputForm coerce : % -> Vector(S) +--R copy : % -> % directProduct : Vector(S) -> % --R ?.? : (%,Integer) -> S elt : (%,Integer,S) -> S --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List S eq? : (%,%) -> Boolean +--R entries : % -> List(S) eq? : (%,%) -> Boolean --R hash : % -> SingleInteger index? : (Integer,%) -> Boolean ---R indices : % -> List Integer latex : % -> String +--R indices : % -> List(Integer) latex : % -> String --R map : ((S -> S),%) -> % qelt : (%,Integer) -> S --R sample : () -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate ---R ?*? : (%,%) -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING +--R ?*? : (%,%) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING --R ?*? : (S,%) -> % if S has RING --R ?*? : (%,S) -> % if S has RING --R ?*? : (NonNegativeInteger,%) -> % ---R ?**? : (%,PositiveInteger) -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING ---R ?**? : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING +--R ?**? : (%,PositiveInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING +--R ?**? : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING --R ?/? : (%,S) -> % if S has FIELD --R ? Boolean if S has OAMONS or S has ORDRING --R ?<=? : (%,%) -> Boolean if S has OAMONS or S has ORDRING @@ -26609,38 +26680,38 @@ DirectProductMatrixModule(n, R, M, S): DPcategory == DPcapsule where --R ?>=? : (%,%) -> Boolean if S has OAMONS or S has ORDRING --R D : % -> % if S has DIFRING and S has RING --R D : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING ---R D : (%,Symbol) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,List Symbol) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING +--R D : (%,Symbol) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) and S has RING --R D : (%,(S -> S)) -> % if S has RING --R D : (%,(S -> S),NonNegativeInteger) -> % if S has RING ---R 1 : () -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING ---R ?^? : (%,PositiveInteger) -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING ---R ?^? : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING +--R 1 : () -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING +--R ?^? : (%,PositiveInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING +--R ?^? : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING --R abs : % -> % if S has ORDRING --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R characteristic : () -> NonNegativeInteger if S has RING ---R coerce : Fraction Integer -> % if S has RETRACT FRAC INT and S has SETCAT ---R coerce : Integer -> % if S has RETRACT INT and S has SETCAT or S has RING +--R coerce : Fraction(Integer) -> % if S has RETRACT(FRAC(INT)) and S has SETCAT +--R coerce : Integer -> % if S has RETRACT(INT) and S has SETCAT or S has RING --R coerce : S -> % if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R differentiate : % -> % if S has DIFRING and S has RING --R differentiate : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING ---R differentiate : (%,Symbol) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,List Symbol) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING +--R differentiate : (%,Symbol) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) and S has RING --R differentiate : (%,(S -> S)) -> % if S has RING --R differentiate : (%,(S -> S),NonNegativeInteger) -> % if S has RING --R dimension : () -> CardinalNumber if S has FIELD --R dot : (%,%) -> S if S has RING --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 first : % -> S if Integer has ORDSET @@ -26651,26 +26722,26 @@ DirectProductMatrixModule(n, R, M, S): DPcategory == DPcapsule where --R max : (%,%) -> % if S has OAMONS or S has ORDRING --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R min : (%,%) -> % if S has OAMONS or S has ORDRING --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R negative? : % -> Boolean if S has ORDRING ---R one? : % -> Boolean if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING ---R parts : % -> List S if $ has finiteAggregate +--R one? : % -> Boolean if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING +--R parts : % -> List(S) if $ has finiteAggregate --R positive? : % -> Boolean if S has ORDRING --R qsetelt! : (%,Integer,S) -> S if $ has shallowlyMutable --R random : () -> % if S has FINITE ---R recip : % -> Union(%,"failed") if S has DIFRING and S has RING or S has LINEXP INT and S has RING or S has MONOID or S has PDRING SYMBOL and S has RING ---R reducedSystem : Matrix % -> Matrix Integer if S has LINEXP INT and S has RING ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if S has LINEXP INT and S has RING ---R reducedSystem : Matrix % -> Matrix S if S has RING ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix S,vec: Vector S) if S has RING ---R retract : % -> Fraction Integer if S has RETRACT FRAC INT and S has SETCAT ---R retract : % -> Integer if S has RETRACT INT and S has SETCAT +--R recip : % -> Union(%,"failed") if S has DIFRING and S has RING or S has LINEXP(INT) and S has RING or S has MONOID or S has PDRING(SYMBOL) and S has RING +--R reducedSystem : Matrix(%) -> Matrix(Integer) if S has LINEXP(INT) and S has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if S has LINEXP(INT) and S has RING +--R reducedSystem : Matrix(%) -> Matrix(S) if S has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(S),vec: Vector(S)) if S has RING +--R retract : % -> Fraction(Integer) if S has RETRACT(FRAC(INT)) and S has SETCAT +--R retract : % -> Integer if S has RETRACT(INT) and S has SETCAT --R retract : % -> S if S has SETCAT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if S has RETRACT FRAC INT and S has SETCAT ---R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT INT and S has SETCAT +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if S has RETRACT(FRAC(INT)) and S has SETCAT +--R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT(INT) and S has SETCAT --R retractIfCan : % -> Union(S,"failed") if S has SETCAT --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable --R sign : % -> Integer if S has ORDRING @@ -26850,7 +26921,7 @@ t1:DIRRING INT := (n:PI):INT +-> moebiusMu n --R --R --R (1) [1,- 1,- 1,0,- 1,1,- 1,0,0,1,...] ---R Type: DirichletRing Integer +--R Type: DirichletRing(Integer) --E 1 --S 2 of 21 @@ -26858,7 +26929,7 @@ t1:DIRRING INT := (n:PI):INT +-> moebiusMu n --R --R --R (2) [1,- 1,- 1,0] ---R Type: List Integer +--R Type: List(Integer) --E 2 --S 3 of 21 @@ -26866,7 +26937,7 @@ t2:DIRRING INT := [moebiusMu n for n in 1..] --R --R --R (3) [1,- 1,- 1,0,- 1,1,- 1,0,0,1,...] ---R Type: DirichletRing Integer +--R Type: DirichletRing(Integer) --E 3 --S 4 of 21 @@ -26874,7 +26945,7 @@ t2:DIRRING INT := [moebiusMu n for n in 1..] --R --R --R (4) [1,- 1,- 1,0] ---R Type: List Integer +--R Type: List(Integer) --E 4 --S 5 of 21 @@ -26890,7 +26961,7 @@ mu:DIRRING FRAC INT := (n:PI):FRAC INT +-> moebiusMu n --R --R --R (6) [1,- 1,- 1,0,- 1,1,- 1,0,0,1,...] ---R Type: DirichletRing Fraction Integer +--R Type: DirichletRing(Fraction(Integer)) --E 6 --S 7 of 21 @@ -26898,7 +26969,7 @@ phi:DIRRING FRAC INT := (n:PI):FRAC INT +-> eulerPhi n --R --R --R (7) [1,1,2,2,4,2,6,4,6,4,...] ---R Type: DirichletRing Fraction Integer +--R Type: DirichletRing(Fraction(Integer)) --E 7 --S 8 of 21 @@ -26906,7 +26977,7 @@ t3:=[(recip mu * phi).n for n in 1..10] --R --R --R (8) [1,2,3,4,5,6,7,8,9,10] ---R Type: List Fraction Integer +--R Type: List(Fraction(Integer)) --E 8 --S 9 of 21 @@ -26914,7 +26985,7 @@ t4:=[(phi * recip mu).n for n in 1..10] --R --R --R (9) [1,2,3,4,5,6,7,8,9,10] ---R Type: List Fraction Integer +--R Type: List(Fraction(Integer)) --E 9 --S 10 of 21 @@ -26940,7 +27011,7 @@ t5:=[(1/2 * phi).n for n in 1..10] --R 1 1 --R (12) [-,-,1,1,2,1,3,2,3,2] --R 2 2 ---R Type: List Fraction Integer +--R Type: List(Fraction(Integer)) --E 12 --S 13 of 21 @@ -26950,7 +27021,7 @@ t6:=[eulerPhi n/2 for n in 1..10] --R 1 1 --R (13) [-,-,1,1,2,1,3,2,3,2] --R 2 2 ---R Type: List Fraction Integer +--R Type: List(Fraction(Integer)) --E 13 --S 14 of 21 @@ -26966,7 +27037,7 @@ t7:=[(recip mu).n for n in 1..10] --R --R --R (15) [1,1,1,1,1,1,1,1,1,1] ---R Type: List Fraction Integer +--R Type: List(Fraction(Integer)) --E 15 --S 16 of 21 @@ -26974,7 +27045,7 @@ t8:=[1 for n in 1..10] --R --R --R (16) [1,1,1,1,1,1,1,1,1,1] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 16 --S 17 of 21 @@ -26990,7 +27061,7 @@ t9:=[(recip mu * phi).n for n in 1..10] --R --R --R (18) [1,2,3,4,5,6,7,8,9,10] ---R Type: List Fraction Integer +--R Type: List(Fraction(Integer)) --E 18 --S 19 of 21 @@ -26998,7 +27069,7 @@ t10:=[n for n in 1..10] --R --R --R (19) [1,2,3,4,5,6,7,8,9,10] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 19 --S 20 of 21 @@ -27011,7 +27082,8 @@ reduce(_and,[(x = y)@Boolean for x in t9 for y in t10]) --S 21 of 21 )show DirichletRing ---R DirichletRing Coef: Ring is a domain constructor +--R +--R DirichletRing(Coef: Ring) is a domain constructor --R Abbreviation for DirichletRing is DIRRING --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for DIRRING @@ -27022,8 +27094,8 @@ reduce(_and,[(x = y)@Boolean for x in t9 for y in t10]) --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % ---R ?^? : (%,PositiveInteger) -> % coerce : % -> Stream Coef ---R coerce : Stream Coef -> % coerce : Integer -> % +--R ?^? : (%,PositiveInteger) -> % coerce : % -> Stream(Coef) +--R coerce : Stream(Coef) -> % coerce : Integer -> % --R coerce : % -> OutputForm ?.? : (%,PositiveInteger) -> Coef --R hash : % -> SingleInteger latex : % -> String --R one? : % -> Boolean recip : % -> Union(%,"failed") @@ -27259,7 +27331,7 @@ d1 := -4*z + 4*y**2*x + 16*x**2 + 1 --R --R 2 2 --R (2) - 4z + 4y x + 16x + 1 ---R Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 2 --S 3 of 10 @@ -27268,7 +27340,7 @@ d2 := 2*z*y**2 + 4*x + 1 --R --R 2 --R (3) 2z y + 4x + 1 ---R Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 3 --S 4 of 10 @@ -27277,7 +27349,7 @@ d3 := 2*z*x**2 - 2*y**2 - x --R --R 2 2 --R (4) 2z x - 2y - x ---R Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 4 --S 5 of 10 @@ -27294,7 +27366,7 @@ groebner [d1,d2,d3] --R 7 29 6 17 4 11 3 1 2 15 1 --R x + -- x - -- x - -- x + -- x + -- x + -] --R 4 16 8 32 16 4 ---R Type: List DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: List(DistributedMultivariatePolynomial([z,y,x],Fraction(Integer))) --E 5 --S 6 of 10 @@ -27309,7 +27381,7 @@ n1 := d1 --R --R 2 2 --R (7) 4y x + 16x - 4z + 1 ---R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 7 --S 8 of 10 @@ -27318,7 +27390,7 @@ n2 := d2 --R --R 2 --R (8) 2z y + 4x + 1 ---R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 8 --S 9 of 10 @@ -27327,7 +27399,7 @@ n3 := d3 --R --R 2 2 --R (9) 2z x - 2y - x ---R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 9 --S 10 of 10 @@ -27344,7 +27416,7 @@ groebner [n1,n2,n3] --R 2 2 2 1 3 --R z - 4y + 2x - - z - - x] --R 4 2 ---RType: List HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: List(HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer))) --E 10 )spool )lisp (bye) @@ -27600,7 +27672,8 @@ DistributedMultivariatePolynomial(vl,R): public == private where --S 1 of 1 )show Divisor ---R Divisor S: SetCategoryWithDegree is a domain constructor +--R +--R Divisor(S: SetCategoryWithDegree) is a domain constructor --R Abbreviation for Divisor is DIV --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for DIV @@ -27621,9 +27694,9 @@ DistributedMultivariatePolynomial(vl,R): public == private where --R mapGen : ((S -> S),%) -> % nthCoef : (%,Integer) -> Integer --R nthFactor : (%,Integer) -> S reductum : % -> % --R retract : % -> S sample : () -> % ---R size : % -> NonNegativeInteger split : % -> List % ---R supp : % -> List S suppOfPole : % -> List S ---R suppOfZero : % -> List S zero? : % -> Boolean +--R size : % -> NonNegativeInteger split : % -> List(%) +--R supp : % -> List(S) suppOfPole : % -> List(S) +--R suppOfZero : % -> List(S) zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R head : % -> Record(gen: S,exp: Integer) @@ -27631,7 +27704,7 @@ DistributedMultivariatePolynomial(vl,R): public == private where --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 @@ -28054,7 +28127,7 @@ avg l == --S 7 of 13 avg [] --R ---R Compiling function avg with type List DoubleFloat -> DoubleFloat +--R Compiling function avg with type List(DoubleFloat) -> DoubleFloat --R --R (7) 0. --R Type: DoubleFloat @@ -28097,7 +28170,7 @@ integerDecode a --R --R --R (12) [6004799503160662,- 54,- 1] ---R Type: List Integer +--R Type: List(Integer) --E 12 --S 13 of 13 @@ -28107,7 +28180,7 @@ machineFraction a --R 3002399751580331 --R (13) - ---------------- --R 9007199254740992 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 13 )spool @@ -28715,6 +28788,7 @@ DoubleFloat(): Join(FloatingPointSystem, DifferentialRing, OpenMath, --S 1 of 6 )show DoubleFloatMatrix +--R --R DoubleFloatMatrix is a domain constructor --R Abbreviation for DoubleFloatMatrix is DFMAT --R This constructor is exposed in this frame. @@ -28726,13 +28800,13 @@ DoubleFloat(): Join(FloatingPointSystem, DifferentialRing, OpenMath, --R ?+? : (%,%) -> % -? : % -> % --R ?-? : (%,%) -> % antisymmetric? : % -> Boolean --R coerce : DoubleFloatVector -> % copy : % -> % ---R diagonal? : % -> Boolean diagonalMatrix : List % -> % +--R diagonal? : % -> Boolean diagonalMatrix : List(%) -> % --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean fill! : (%,DoubleFloat) -> % --R horizConcat : (%,%) -> % maxColIndex : % -> Integer --R maxRowIndex : % -> Integer minColIndex : % -> Integer --R minRowIndex : % -> Integer ncols : % -> NonNegativeInteger ---R nrows : % -> NonNegativeInteger parts : % -> List DoubleFloat +--R nrows : % -> NonNegativeInteger parts : % -> List(DoubleFloat) --R qnew : (Integer,Integer) -> % sample : () -> % --R square? : % -> Boolean squareTop : % -> % --R symmetric? : % -> Boolean transpose : % -> % @@ -28747,36 +28821,36 @@ DoubleFloat(): Join(FloatingPointSystem, DifferentialRing, OpenMath, --R any? : ((DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if DoubleFloat has SETCAT --R column : (%,Integer) -> DoubleFloatVector ---R columnSpace : % -> List DoubleFloatVector if DoubleFloat has EUCDOM +--R columnSpace : % -> List(DoubleFloatVector) if DoubleFloat has EUCDOM --R count : (DoubleFloat,%) -> NonNegativeInteger if $ has finiteAggregate and DoubleFloat has SETCAT --R count : ((DoubleFloat -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R determinant : % -> DoubleFloat if DoubleFloat has commutative * ---R diagonalMatrix : List DoubleFloat -> % ---R elt : (%,List Integer,List Integer) -> % +--R determinant : % -> DoubleFloat if DoubleFloat has commutative(*) +--R diagonalMatrix : List(DoubleFloat) -> % +--R elt : (%,List(Integer),List(Integer)) -> % --R elt : (%,Integer,Integer,DoubleFloat) -> DoubleFloat --R elt : (%,Integer,Integer) -> DoubleFloat ---R eval : (%,List DoubleFloat,List DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT ---R eval : (%,DoubleFloat,DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT ---R eval : (%,Equation DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT ---R eval : (%,List Equation DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT +--R eval : (%,List(DoubleFloat),List(DoubleFloat)) -> % if DoubleFloat has EVALAB(DFLOAT) and DoubleFloat has SETCAT +--R eval : (%,DoubleFloat,DoubleFloat) -> % if DoubleFloat has EVALAB(DFLOAT) and DoubleFloat has SETCAT +--R eval : (%,Equation(DoubleFloat)) -> % if DoubleFloat has EVALAB(DFLOAT) and DoubleFloat has SETCAT +--R eval : (%,List(Equation(DoubleFloat))) -> % if DoubleFloat has EVALAB(DFLOAT) and DoubleFloat has SETCAT --R every? : ((DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate --R exquo : (%,DoubleFloat) -> Union(%,"failed") if DoubleFloat has INTDOM --R hash : % -> SingleInteger if DoubleFloat has SETCAT --R inverse : % -> Union(%,"failed") if DoubleFloat has FIELD --R latex : % -> String if DoubleFloat has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean ---R listOfLists : % -> List List DoubleFloat +--R listOfLists : % -> List(List(DoubleFloat)) --R map : (((DoubleFloat,DoubleFloat) -> DoubleFloat),%,%,DoubleFloat) -> % --R map : (((DoubleFloat,DoubleFloat) -> DoubleFloat),%,%) -> % --R map : ((DoubleFloat -> DoubleFloat),%) -> % --R map! : ((DoubleFloat -> DoubleFloat),%) -> % ---R matrix : List List DoubleFloat -> % +--R matrix : List(List(DoubleFloat)) -> % --R member? : (DoubleFloat,%) -> Boolean if $ has finiteAggregate and DoubleFloat has SETCAT ---R members : % -> List DoubleFloat if $ has finiteAggregate ---R minordet : % -> DoubleFloat if DoubleFloat has commutative * +--R members : % -> List(DoubleFloat) if $ has finiteAggregate +--R minordet : % -> DoubleFloat if DoubleFloat has commutative(*) --R more? : (%,NonNegativeInteger) -> Boolean --R new : (NonNegativeInteger,NonNegativeInteger,DoubleFloat) -> % ---R nullSpace : % -> List DoubleFloatVector if DoubleFloat has INTDOM +--R nullSpace : % -> List(DoubleFloatVector) if DoubleFloat has INTDOM --R nullity : % -> NonNegativeInteger if DoubleFloat has INTDOM --R pfaffian : % -> DoubleFloat if DoubleFloat has COMRING --R qelt : (%,Integer,Integer) -> DoubleFloat @@ -28787,7 +28861,7 @@ DoubleFloat(): Join(FloatingPointSystem, DifferentialRing, OpenMath, --R scalarMatrix : (NonNegativeInteger,DoubleFloat) -> % --R setColumn! : (%,Integer,DoubleFloatVector) -> % --R setRow! : (%,Integer,DoubleFloatVector) -> % ---R setelt : (%,List Integer,List Integer,%) -> % +--R setelt : (%,List(Integer),List(Integer),%) -> % --R setelt : (%,Integer,Integer,DoubleFloat) -> DoubleFloat --R setsubMatrix! : (%,Integer,Integer,%) -> % --R size? : (%,NonNegativeInteger) -> Boolean @@ -29038,22 +29112,22 @@ DoubleFloatMatrix : MatrixCategory(DoubleFloat, --S 1 of 6 )show DoubleFloatVector +--R --R DoubleFloatVector is a domain constructor --R Abbreviation for DoubleFloatVector is DFVEC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for DFVEC --R --R------------------------------- Operations -------------------------------- ---R concat : List % -> % concat : (%,%) -> % +--R concat : List(%) -> % concat : (%,%) -> % --R concat : (DoubleFloat,%) -> % concat : (%,DoubleFloat) -> % ---R construct : List DoubleFloat -> % copy : % -> % ---R delete : (%,Integer) -> % ?.? : (%,Integer) -> DoubleFloat ---R empty : () -> % empty? : % -> Boolean ---R entries : % -> List DoubleFloat eq? : (%,%) -> Boolean ---R index? : (Integer,%) -> Boolean indices : % -> List Integer ---R insert : (%,%,Integer) -> % qelt : (%,Integer) -> DoubleFloat ---R qnew : Integer -> % reverse : % -> % ---R sample : () -> % +--R copy : % -> % delete : (%,Integer) -> % +--R ?.? : (%,Integer) -> DoubleFloat empty : () -> % +--R empty? : % -> Boolean entries : % -> List(DoubleFloat) +--R eq? : (%,%) -> Boolean index? : (Integer,%) -> Boolean +--R indices : % -> List(Integer) insert : (%,%,Integer) -> % +--R qelt : (%,Integer) -> DoubleFloat qnew : Integer -> % +--R reverse : % -> % sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?*? : (%,DoubleFloat) -> % if DoubleFloat has MONOID --R ?*? : (DoubleFloat,%) -> % if DoubleFloat has MONOID @@ -29068,20 +29142,21 @@ DoubleFloatMatrix : MatrixCategory(DoubleFloat, --R ?>=? : (%,%) -> Boolean if DoubleFloat has ORDSET --R any? : ((DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if DoubleFloat has SETCAT ---R convert : % -> InputForm if DoubleFloat has KONVERT INFORM +--R construct : List(DoubleFloat) -> % +--R convert : % -> InputForm if DoubleFloat has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable --R count : (DoubleFloat,%) -> NonNegativeInteger if $ has finiteAggregate and DoubleFloat has SETCAT --R count : ((DoubleFloat -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R cross : (%,%) -> % if DoubleFloat has RING ---R delete : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % --R dot : (%,%) -> DoubleFloat if DoubleFloat has RING ---R ?.? : (%,UniversalSegment Integer) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R elt : (%,Integer,DoubleFloat) -> DoubleFloat --R entry? : (DoubleFloat,%) -> Boolean if $ has finiteAggregate and DoubleFloat has SETCAT ---R eval : (%,List DoubleFloat,List DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT ---R eval : (%,DoubleFloat,DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT ---R eval : (%,Equation DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT ---R eval : (%,List Equation DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT +--R eval : (%,List(DoubleFloat),List(DoubleFloat)) -> % if DoubleFloat has EVALAB(DFLOAT) and DoubleFloat has SETCAT +--R eval : (%,DoubleFloat,DoubleFloat) -> % if DoubleFloat has EVALAB(DFLOAT) and DoubleFloat has SETCAT +--R eval : (%,Equation(DoubleFloat)) -> % if DoubleFloat has EVALAB(DFLOAT) and DoubleFloat has SETCAT +--R eval : (%,List(Equation(DoubleFloat))) -> % if DoubleFloat has EVALAB(DFLOAT) and DoubleFloat has SETCAT --R every? : ((DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,DoubleFloat) -> % if $ has shallowlyMutable --R find : ((DoubleFloat -> Boolean),%) -> Union(DoubleFloat,"failed") @@ -29098,15 +29173,15 @@ DoubleFloatMatrix : MatrixCategory(DoubleFloat, --R max : (%,%) -> % if DoubleFloat has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (DoubleFloat,%) -> Boolean if $ has finiteAggregate and DoubleFloat has SETCAT ---R members : % -> List DoubleFloat if $ has finiteAggregate +--R members : % -> List(DoubleFloat) if $ has finiteAggregate --R merge : (%,%) -> % if DoubleFloat has ORDSET --R merge : (((DoubleFloat,DoubleFloat) -> Boolean),%,%) -> % --R min : (%,%) -> % if DoubleFloat has ORDSET --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R new : (NonNegativeInteger,DoubleFloat) -> % ---R outerProduct : (%,%) -> Matrix DoubleFloat if DoubleFloat has RING ---R parts : % -> List DoubleFloat if $ has finiteAggregate +--R outerProduct : (%,%) -> Matrix(DoubleFloat) if DoubleFloat has RING +--R parts : % -> List(DoubleFloat) if $ has finiteAggregate --R position : (DoubleFloat,%,Integer) -> Integer if DoubleFloat has SETCAT --R position : (DoubleFloat,%) -> Integer if DoubleFloat has SETCAT --R position : ((DoubleFloat -> Boolean),%) -> Integer @@ -29119,7 +29194,7 @@ DoubleFloatMatrix : MatrixCategory(DoubleFloat, --R removeDuplicates : % -> % if $ has finiteAggregate and DoubleFloat has SETCAT --R reverse! : % -> % if $ has shallowlyMutable --R select : ((DoubleFloat -> Boolean),%) -> % if $ has finiteAggregate ---R setelt : (%,UniversalSegment Integer,DoubleFloat) -> DoubleFloat if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),DoubleFloat) -> DoubleFloat if $ has shallowlyMutable --R setelt : (%,Integer,DoubleFloat) -> DoubleFloat if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean --R sort : % -> % if DoubleFloat has ORDSET @@ -29347,6 +29422,7 @@ DoubleFloatVector : VectorCategory DoubleFloat with --S 1 of 1 )show DrawOption +--R --R DrawOption is a domain constructor --R Abbreviation for DrawOption is DROPT --R This constructor is exposed in this frame. @@ -29354,25 +29430,26 @@ DoubleFloatVector : VectorCategory DoubleFloat with --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean adaptive : Boolean -> % ---R clip : List Segment Float -> % clip : Boolean -> % +--R clip : List(Segment(Float)) -> % clip : Boolean -> % --R coerce : % -> OutputForm curveColor : Palette -> % --R curveColor : Float -> % hash : % -> SingleInteger --R latex : % -> String pointColor : Palette -> % ---R pointColor : Float -> % range : List Segment Float -> % ---R ranges : List Segment Float -> % style : String -> % ---R title : String -> % toScale : Boolean -> % ---R tubePoints : PositiveInteger -> % tubeRadius : Float -> % ---R unit : List Float -> % var1Steps : PositiveInteger -> % ---R var2Steps : PositiveInteger -> % ?~=? : (%,%) -> Boolean +--R pointColor : Float -> % range : List(Segment(Float)) -> % +--R style : String -> % title : String -> % +--R toScale : Boolean -> % tubePoints : PositiveInteger -> % +--R tubeRadius : Float -> % unit : List(Float) -> % +--R var1Steps : PositiveInteger -> % var2Steps : PositiveInteger -> % +--R ?~=? : (%,%) -> Boolean --R colorFunction : ((DoubleFloat,DoubleFloat,DoubleFloat) -> DoubleFloat) -> % --R colorFunction : ((DoubleFloat,DoubleFloat) -> DoubleFloat) -> % --R colorFunction : (DoubleFloat -> DoubleFloat) -> % ---R coord : (Point DoubleFloat -> Point DoubleFloat) -> % ---R coordinates : (Point DoubleFloat -> Point DoubleFloat) -> % ---R option : (List %,Symbol) -> Union(Any,"failed") ---R option? : (List %,Symbol) -> Boolean ---R range : List Segment Fraction Integer -> % ---R space : ThreeSpace DoubleFloat -> % +--R coord : (Point(DoubleFloat) -> Point(DoubleFloat)) -> % +--R coordinates : (Point(DoubleFloat) -> Point(DoubleFloat)) -> % +--R option : (List(%),Symbol) -> Union(Any,"failed") +--R option? : (List(%),Symbol) -> Boolean +--R range : List(Segment(Fraction(Integer))) -> % +--R ranges : List(Segment(Float)) -> % +--R space : ThreeSpace(DoubleFloat) -> % --R viewpoint : Record(theta: DoubleFloat,phi: DoubleFloat,scale: DoubleFloat,scaleX: DoubleFloat,scaleY: DoubleFloat,scaleZ: DoubleFloat,deltaX: DoubleFloat,deltaY: DoubleFloat) -> % --R --E 1 @@ -29655,6 +29732,7 @@ DrawOption(): Exports == Implementation where --S 1 of 1 )show d01ajfAnnaType +--R --R d01ajfAnnaType is a domain constructor --R Abbreviation for d01ajfAnnaType is D01AJFA --R This constructor is exposed in this frame. @@ -29664,10 +29742,10 @@ DrawOption(): Exports == Implementation where --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 @@ -29772,6 +29850,7 @@ d01ajfAnnaType(): NumericalIntegrationCategory == Result add --S 1 of 1 )show d01akfAnnaType +--R --R d01akfAnnaType is a domain constructor --R Abbreviation for d01akfAnnaType is D01AKFA --R This constructor is exposed in this frame. @@ -29781,10 +29860,10 @@ d01ajfAnnaType(): NumericalIntegrationCategory == Result add --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 @@ -29894,6 +29973,7 @@ d01akfAnnaType(): NumericalIntegrationCategory == Result add --S 1 of 1 )show d01alfAnnaType +--R --R d01alfAnnaType is a domain constructor --R Abbreviation for d01alfAnnaType is D01ALFA --R This constructor is exposed in this frame. @@ -29903,10 +29983,10 @@ d01akfAnnaType(): NumericalIntegrationCategory == Result add --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 @@ -30028,6 +30108,7 @@ d01alfAnnaType(): NumericalIntegrationCategory == Result add --S 1 of 1 )show d01amfAnnaType +--R --R d01amfAnnaType is a domain constructor --R Abbreviation for d01amfAnnaType is D01AMFA --R This constructor is exposed in this frame. @@ -30037,10 +30118,10 @@ d01alfAnnaType(): NumericalIntegrationCategory == Result add --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 @@ -30158,6 +30239,7 @@ d01amfAnnaType(): NumericalIntegrationCategory == Result add --S 1 of 1 )show d01anfAnnaType +--R --R d01anfAnnaType is a domain constructor --R Abbreviation for d01anfAnnaType is D01ANFA --R This constructor is exposed in this frame. @@ -30167,10 +30249,10 @@ d01amfAnnaType(): NumericalIntegrationCategory == Result add --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 @@ -30290,6 +30372,7 @@ d01anfAnnaType(): NumericalIntegrationCategory == Result add --S 1 of 1 )show d01apfAnnaType +--R --R d01apfAnnaType is a domain constructor --R Abbreviation for d01apfAnnaType is D01APFA --R This constructor is exposed in this frame. @@ -30299,10 +30382,10 @@ d01anfAnnaType(): NumericalIntegrationCategory == Result add --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 @@ -30435,6 +30518,7 @@ d01apfAnnaType(): NumericalIntegrationCategory == Result add --S 1 of 1 )show d01aqfAnnaType +--R --R d01aqfAnnaType is a domain constructor --R Abbreviation for d01aqfAnnaType is D01AQFA --R This constructor is exposed in this frame. @@ -30444,10 +30528,10 @@ d01apfAnnaType(): NumericalIntegrationCategory == Result add --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 @@ -30576,6 +30660,7 @@ d01aqfAnnaType(): NumericalIntegrationCategory == Result add --S 1 of 1 )show d01asfAnnaType +--R --R d01asfAnnaType is a domain constructor --R Abbreviation for d01asfAnnaType is D01ASFA --R This constructor is exposed in this frame. @@ -30585,10 +30670,10 @@ d01aqfAnnaType(): NumericalIntegrationCategory == Result add --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 @@ -30714,6 +30799,7 @@ d01asfAnnaType(): NumericalIntegrationCategory == Result add --S 1 of 1 )show d01fcfAnnaType +--R --R d01fcfAnnaType is a domain constructor --R Abbreviation for d01fcfAnnaType is D01FCFA --R This constructor is exposed in this frame. @@ -30723,10 +30809,10 @@ d01asfAnnaType(): NumericalIntegrationCategory == Result add --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 @@ -30842,6 +30928,7 @@ d01fcfAnnaType(): NumericalIntegrationCategory == Result add --S 1 of 1 )show d01gbfAnnaType +--R --R d01gbfAnnaType is a domain constructor --R Abbreviation for d01gbfAnnaType is D01GBFA --R This constructor is exposed in this frame. @@ -30851,10 +30938,10 @@ d01fcfAnnaType(): NumericalIntegrationCategory == Result add --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 @@ -30976,6 +31063,7 @@ d01gbfAnnaType(): NumericalIntegrationCategory == Result add --S 1 of 1 )show d01TransformFunctionType +--R --R d01TransformFunctionType is a domain constructor --R Abbreviation for d01TransformFunctionType is D01TRNS --R This constructor is exposed in this frame. @@ -30985,10 +31073,10 @@ d01gbfAnnaType(): NumericalIntegrationCategory == Result add --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 @@ -31196,6 +31284,7 @@ d01TransformFunctionType():NumericalIntegrationCategory == Result add --S 1 of 1 )show d02bbfAnnaType +--R --R d02bbfAnnaType is a domain constructor --R Abbreviation for d02bbfAnnaType is D02BBFA --R This constructor is exposed in this frame. @@ -31205,8 +31294,8 @@ d01TransformFunctionType():NumericalIntegrationCategory == Result add --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 @@ -31347,6 +31436,7 @@ d02bbfAnnaType():OrdinaryDifferentialEquationsSolverCategory == Result add --S 1 of 1 )show d02bhfAnnaType +--R --R d02bhfAnnaType is a domain constructor --R Abbreviation for d02bhfAnnaType is D02BHFA --R This constructor is exposed in this frame. @@ -31356,8 +31446,8 @@ d02bbfAnnaType():OrdinaryDifferentialEquationsSolverCategory == Result add --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 @@ -31495,6 +31585,7 @@ d02bhfAnnaType():OrdinaryDifferentialEquationsSolverCategory == Result add --S 1 of 1 )show d02cjfAnnaType +--R --R d02cjfAnnaType is a domain constructor --R Abbreviation for d02cjfAnnaType is D02CJFA --R This constructor is exposed in this frame. @@ -31504,8 +31595,8 @@ d02bhfAnnaType():OrdinaryDifferentialEquationsSolverCategory == Result add --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 @@ -31636,6 +31727,7 @@ d02cjfAnnaType():OrdinaryDifferentialEquationsSolverCategory == Result add --S 1 of 1 )show d02ejfAnnaType +--R --R d02ejfAnnaType is a domain constructor --R Abbreviation for d02ejfAnnaType is D02EJFA --R This constructor is exposed in this frame. @@ -31645,8 +31737,8 @@ d02cjfAnnaType():OrdinaryDifferentialEquationsSolverCategory == Result add --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 @@ -31808,6 +31900,7 @@ d02ejfAnnaType():OrdinaryDifferentialEquationsSolverCategory == Result add --S 1 of 1 )show d03eefAnnaType +--R --R d03eefAnnaType is a domain constructor --R Abbreviation for d03eefAnnaType is D03EEFA --R This constructor is exposed in this frame. @@ -31817,8 +31910,8 @@ d02ejfAnnaType():OrdinaryDifferentialEquationsSolverCategory == Result add --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 @@ -31940,6 +32033,7 @@ d03eefAnnaType():PartialDifferentialEquationsSolverCategory == Result add --S 1 of 1 )show d03fafAnnaType +--R --R d03fafAnnaType is a domain constructor --R Abbreviation for d03fafAnnaType is D03FAFA --R This constructor is exposed in this frame. @@ -31949,8 +32043,8 @@ d03eefAnnaType():PartialDifferentialEquationsSolverCategory == Result add --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 @@ -32043,7 +32137,7 @@ eq1 := 3*x + 4*y = 5 --R --R --R (1) 4y + 3x= 5 ---R Type: Equation Polynomial Integer +--R Type: Equation(Polynomial(Integer)) --E 1 --S 2 of 12 @@ -32051,7 +32145,7 @@ eq2 := 2*x + 2*y = 3 --R --R --R (2) 2y + 2x= 3 ---R Type: Equation Polynomial Integer +--R Type: Equation(Polynomial(Integer)) --E 2 --S 3 of 12 @@ -32059,7 +32153,7 @@ lhs eq1 --R --R --R (3) 4y + 3x ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 3 --S 4 of 12 @@ -32067,7 +32161,7 @@ rhs eq1 --R --R --R (4) 5 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 4 --S 5 of 12 @@ -32075,7 +32169,7 @@ eq1 + eq2 --R --R --R (5) 6y + 5x= 8 ---R Type: Equation Polynomial Integer +--R Type: Equation(Polynomial(Integer)) --E 5 --S 6 of 12 @@ -32084,7 +32178,7 @@ eq1 * eq2 --R --R 2 2 --R (6) 8y + 14x y + 6x = 15 ---R Type: Equation Polynomial Integer +--R Type: Equation(Polynomial(Integer)) --E 6 --S 7 of 12 @@ -32092,7 +32186,7 @@ eq1 * eq2 --R --R --R (7) x= 1 ---R Type: Equation Polynomial Integer +--R Type: Equation(Polynomial(Integer)) --E 7 --S 8 of 12 @@ -32101,7 +32195,7 @@ eq1**2 --R --R 2 2 --R (8) 16y + 24x y + 9x = 25 ---R Type: Equation Polynomial Integer +--R Type: Equation(Polynomial(Integer)) --E 8 --S 9 of 12 @@ -32117,7 +32211,7 @@ eqpol := x+1 = y --R --R --R (10) x + 1= y ---R Type: Equation Polynomial Integer +--R Type: Equation(Polynomial(Integer)) --E 10 --S 11 of 12 @@ -32501,7 +32595,7 @@ e: EqTable(List Integer, Integer) := table() --R --R --R (1) table() ---R Type: EqTable(List Integer,Integer) +--R Type: EqTable(List(Integer),Integer) --E 1 --S 2 of 6 @@ -32509,7 +32603,7 @@ l1 := [1,2,3] --R --R --R (2) [1,2,3] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 2 --S 3 of 6 @@ -32517,7 +32611,7 @@ l2 := [1,2,3] --R --R --R (3) [1,2,3] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 3 --S 4 of 6 @@ -32702,7 +32796,8 @@ EqTable(Key: SetCategory, Entry: SetCategory) == --S 1 of 1 )show EuclideanModularRing ---R EuclideanModularRing(S: CommutativeRing,R: UnivariatePolynomialCategory S,Mod: AbelianMonoid,reduction: ((R,Mod) -> R),merge: ((Mod,Mod) -> Union(Mod,"failed")),exactQuo: ((R,R,Mod) -> Union(R,"failed"))) is a domain constructor +--R +--R EuclideanModularRing(S: CommutativeRing,R: UnivariatePolynomialCategory(S),Mod: AbelianMonoid,reduction: ((R,Mod) -> R),merge: ((Mod,Mod) -> Union(Mod,"failed")),exactQuo: ((R,R,Mod) -> Union(R,"failed"))) is a domain constructor --R Abbreviation for EuclideanModularRing is EMR --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for EMR @@ -32716,10 +32811,10 @@ EqTable(Key: SetCategory, Entry: SetCategory) == --R ?^? : (%,PositiveInteger) -> % associates? : (%,%) -> Boolean --R coerce : % -> R coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R ?.? : (%,R) -> R gcd : List % -> % +--R ?.? : (%,R) -> R gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R modulus : % -> Mod one? : % -> Boolean --R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") --R reduce : (R,Mod) -> % ?rem? : (%,%) -> % @@ -32733,13 +32828,13 @@ EqTable(Key: SetCategory, Entry: SetCategory) == --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger --R exQuo : (%,%) -> Union(%,"failed") ---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 @@ -33083,13 +33178,14 @@ Exit: SetCategory == add --S 1 of 1 )show ExponentialExpansion ---R ExponentialExpansion(R: Join(OrderedSet,RetractableTo Integer,LinearlyExplicitRingOver Integer,GcdDomain),FE: Join(AlgebraicallyClosedField,TranscendentalFunctionCategory,FunctionSpace R),var: Symbol,cen: FE) is a domain constructor +--R +--R ExponentialExpansion(R: Join(OrderedSet,RetractableTo(Integer),LinearlyExplicitRingOver(Integer),GcdDomain),FE: Join(AlgebraicallyClosedField,TranscendentalFunctionCategory,FunctionSpace(R)),var: Symbol,cen: FE) is a domain constructor --R Abbreviation for ExponentialExpansion is EXPEXPAN --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for EXPEXPAN --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -33097,18 +33193,18 @@ Exit: SetCategory == add --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 denominator : % -> % ---R factor : % -> Factored % gcd : List % -> % +--R factor : % -> Factored(%) gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R numerator : % -> % 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 ?*? : (%,UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)) -> % @@ -33122,10 +33218,10 @@ Exit: SetCategory == add --R ?>=? : (%,%) -> Boolean if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has ORDSET --R D : (%,(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) -> UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen))) -> % --R D : (%,(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) -> UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)),NonNegativeInteger) -> % ---R D : (%,List Symbol,List NonNegativeInteger) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING SYMBOL ---R D : (%,List Symbol) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING SYMBOL ---R D : (%,Symbol) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING SYMBOL +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING(SYMBOL) +--R D : (%,Symbol) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING(SYMBOL) --R D : (%,NonNegativeInteger) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has DIFRING --R D : % -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has DIFRING --R ?^? : (%,NonNegativeInteger) -> % @@ -33134,72 +33230,72 @@ Exit: SetCategory == add --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PFECAT or UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has CHARNZ --R coerce : UnivariatePuiseuxSeries(FE,var,cen) -> % ---R coerce : Symbol -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT SYMBOL +--R coerce : Symbol -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT(SYMBOL) --R coerce : UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) -> % ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PFECAT +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PFECAT --R convert : % -> DoubleFloat if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has REAL --R convert : % -> Float if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has REAL ---R convert : % -> InputForm if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has KONVERT INFORM ---R convert : % -> Pattern Float if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has KONVERT PATTERN FLOAT ---R convert : % -> Pattern Integer if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has KONVERT PATTERN INT +--R convert : % -> InputForm if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has KONVERT(INFORM) +--R convert : % -> Pattern(Float) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has KONVERT(PATTERN(FLOAT)) +--R convert : % -> Pattern(Integer) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has KONVERT(PATTERN(INT)) --R denom : % -> UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) --R differentiate : (%,(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) -> UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen))) -> % --R differentiate : (%,(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) -> UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)),NonNegativeInteger) -> % ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING SYMBOL ---R differentiate : (%,Symbol) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING SYMBOL +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING(SYMBOL) +--R differentiate : (%,Symbol) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PDRING(SYMBOL) --R differentiate : (%,NonNegativeInteger) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has DIFRING --R differentiate : % -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has DIFRING --R divide : (%,%) -> Record(quotient: %,remainder: %) --R ?.? : (%,UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has ELTAB(UPXSSING(R,FE,var,cen),UPXSSING(R,FE,var,cen)) --R euclideanSize : % -> NonNegativeInteger --R eval : (%,Symbol,UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has IEVALAB(SYMBOL,UPXSSING(R,FE,var,cen)) ---R eval : (%,List Symbol,List UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has IEVALAB(SYMBOL,UPXSSING(R,FE,var,cen)) ---R eval : (%,List Equation UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has EVALAB UPXSSING(R,FE,var,cen) ---R eval : (%,Equation UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has EVALAB UPXSSING(R,FE,var,cen) ---R eval : (%,UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen),UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has EVALAB UPXSSING(R,FE,var,cen) ---R eval : (%,List UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen),List UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has EVALAB UPXSSING(R,FE,var,cen) ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R eval : (%,List(Symbol),List(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen))) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has IEVALAB(SYMBOL,UPXSSING(R,FE,var,cen)) +--R eval : (%,List(Equation(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)))) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has EVALAB(UPXSSING(R,FE,var,cen)) +--R eval : (%,Equation(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen))) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has EVALAB(UPXSSING(R,FE,var,cen)) +--R eval : (%,UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen),UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has EVALAB(UPXSSING(R,FE,var,cen)) +--R eval : (%,List(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)),List(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen))) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has EVALAB(UPXSSING(R,FE,var,cen)) +--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 UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PFECAT ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PFECAT +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PFECAT +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PFECAT --R floor : % -> UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has INS --R fractionPart : % -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has EUCDOM ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R init : () -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has STEP ---R limitPlus : % -> Union(OrderedCompletion FE,"failed") +--R limitPlus : % -> Union(OrderedCompletion(FE),"failed") --R map : ((UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) -> UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)),%) -> % --R max : (%,%) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has ORDSET --R min : (%,%) -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has ORDSET ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R negative? : % -> Boolean if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has OINTDOM --R nextItem : % -> Union(%,"failed") if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has STEP --R numer : % -> UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PATMAB FLOAT ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PATMAB INT +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PATMAB(FLOAT) +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PATMAB(INT) --R positive? : % -> Boolean if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has OINTDOM ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R random : () -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has INS ---R reducedSystem : Matrix % -> Matrix UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen),vec: Vector UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)) ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has LINEXP INT ---R reducedSystem : Matrix % -> Matrix Integer if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has LINEXP INT +--R reducedSystem : Matrix(%) -> Matrix(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen)),vec: Vector(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen))) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has LINEXP(INT) +--R reducedSystem : Matrix(%) -> Matrix(Integer) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has LINEXP(INT) --R retract : % -> UnivariatePuiseuxSeries(FE,var,cen) ---R retract : % -> Integer if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT INT ---R retract : % -> Fraction Integer if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT INT ---R retract : % -> Symbol if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT SYMBOL +--R retract : % -> Integer if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT(INT) +--R retract : % -> Fraction(Integer) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT(INT) +--R retract : % -> Symbol if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT(SYMBOL) --R retract : % -> UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) --R retractIfCan : % -> Union(UnivariatePuiseuxSeries(FE,var,cen),"failed") ---R retractIfCan : % -> Union(Integer,"failed") if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT INT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT INT ---R retractIfCan : % -> Union(Symbol,"failed") if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT SYMBOL +--R retractIfCan : % -> Union(Integer,"failed") if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT(INT) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT(INT) +--R retractIfCan : % -> Union(Symbol,"failed") if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has RETRACT(SYMBOL) --R retractIfCan : % -> Union(UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen),"failed") --R sign : % -> Integer if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has OINTDOM ---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PFECAT ---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PFECAT +--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PFECAT +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has PFECAT --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R wholePart : % -> UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has EUCDOM @@ -33480,7 +33576,7 @@ sin(x) + 3*cos(x)**2 --R --R 2 --R (1) sin(x) + 3cos(x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 1 --S 2 of 23 @@ -33488,7 +33584,7 @@ tan(x) - 3.45*x --R --R --R (2) tan(x) - 3.45 x ---R Type: Expression Float +--R Type: Expression(Float) --E 2 --S 3 of 23 @@ -33499,7 +33595,7 @@ tan(x) - 3.45*x --R - tan(\|7 ) + 2sin(\|11 )tan(\|7 ) - sin(\|11 ) --R (3) ------------------------------------------------- --R cos(y - x) - 4 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 3 --S 4 of 23 @@ -33507,7 +33603,7 @@ log(exp x)@Expression(Integer) --R --R --R (4) x ---R Type: Expression Integer +--R Type: Expression(Integer) --E 4 --S 5 of 23 @@ -33516,7 +33612,7 @@ log(exp x)@Expression(Complex Integer) --R --R x --R (5) log(%e ) ---R Type: Expression Complex Integer +--R Type: Expression(Complex(Integer)) --E 5 --S 6 of 23 @@ -33536,7 +33632,7 @@ sqrt 3 + sqrt(2 + sqrt(-5)) --R +----------+ --R | +---+ +-+ --R (7) \|\|- 5 + 2 + \|3 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 7 --S 8 of 23 @@ -33556,7 +33652,7 @@ e := (sin(x) - 4)**2 / ( 1 - 2*y*sqrt(- y) ) --R (9) ------------------------ --R +---+ --R 2y\|- y - 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 9 --S 10 of 23 @@ -33565,7 +33661,7 @@ numer e --R --R 2 --R (10) - sin(x) + 8sin(x) - 16 ---R Type: SparseMultivariatePolynomial(Integer,Kernel Expression Integer) +--R Type: SparseMultivariatePolynomial(Integer,Kernel(Expression(Integer))) --E 10 --S 11 of 23 @@ -33574,7 +33670,7 @@ denom e --R --R +---+ --R (11) 2y\|- y - 1 ---R Type: SparseMultivariatePolynomial(Integer,Kernel Expression Integer) +--R Type: SparseMultivariatePolynomial(Integer,Kernel(Expression(Integer))) --E 11 --S 12 of 23 @@ -33586,7 +33682,7 @@ D(e, x) --R (12) -------------------------------------------------------------- --R +---+ 3 --R 4y\|- y + 4y - 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 12 --S 13 of 23 @@ -33608,7 +33704,7 @@ D(e, [x, y], [1, 2]) --R + --R 2 --R 16y ---R Type: Expression Integer +--R Type: Expression(Integer) --E 13 --S 14 of 23 @@ -33616,7 +33712,7 @@ complexNumeric(cos(2 - 3*%i)) --R --R --R (14) - 4.1896256909 688072301 + 9.1092278937 55336598 %i ---R Type: Complex Float +--R Type: Complex(Float) --E 14 --S 15 of 23 @@ -33633,7 +33729,7 @@ e2 := cos(x**2 - y + 3) --R --R 2 --R (16) cos(y - x - 3) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 16 --S 17 of 23 @@ -33642,7 +33738,7 @@ e3 := asin(e2) - %pi/2 --R --R 2 --R (17) - y + x + 3 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 17 --S 18 of 23 @@ -33651,7 +33747,7 @@ e3 :: Polynomial Integer --R --R 2 --R (18) - y + x + 3 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 18 --S 19 of 23 @@ -33668,7 +33764,7 @@ sin %pi --R --R --R (20) 0 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 20 --S 21 of 23 @@ -33679,7 +33775,7 @@ cos(%pi / 4) --R \|2 --R (21) ---- --R 2 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 21 --S 22 of 23 @@ -33688,7 +33784,7 @@ tan(x)**6 + 3*tan(x)**4 + 3*tan(x)**2 + 1 --R --R 6 4 2 --R (22) tan(x) + 3tan(x) + 3tan(x) + 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 22 --S 23 of 23 @@ -33699,7 +33795,7 @@ simplify % --R (23) ------- --R 6 --R cos(x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 23 )spool )lisp (bye) @@ -34556,6 +34652,7 @@ Expression(R:OrderedSet): Exports == Implementation where --S 1 of 1 )show ExponentialOfUnivariatePuiseuxSeries +--R --R ExponentialOfUnivariatePuiseuxSeries(FE: Join(Field,OrderedSet),var: Symbol,cen: FE) is a domain constructor --R Abbreviation for ExponentialOfUnivariatePuiseuxSeries is EXPUPXS --R This constructor is not exposed in this frame. @@ -34572,120 +34669,120 @@ Expression(R:OrderedSet): Exports == Implementation where --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> FE --R coerce : Integer -> % coerce : % -> OutputForm ---R complete : % -> % degree : % -> Fraction Integer ---R ?.? : (%,Fraction Integer) -> FE hash : % -> SingleInteger +--R complete : % -> % degree : % -> Fraction(Integer) +--R ?.? : (%,Fraction(Integer)) -> FE hash : % -> SingleInteger --R inv : % -> % if FE has FIELD latex : % -> String --R leadingCoefficient : % -> FE leadingMonomial : % -> % --R map : ((FE -> FE),%) -> % max : (%,%) -> % --R min : (%,%) -> % 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 FE has ALGEBRA FRAC INT ---R ?*? : (Fraction Integer,%) -> % if FE has ALGEBRA FRAC INT +--R ?*? : (%,Fraction(Integer)) -> % if FE has ALGEBRA(FRAC(INT)) +--R ?*? : (Fraction(Integer),%) -> % if FE has ALGEBRA(FRAC(INT)) --R ?*? : (NonNegativeInteger,%) -> % ---R ?**? : (%,Fraction Integer) -> % if FE has ALGEBRA FRAC INT ---R ?**? : (%,%) -> % if FE has ALGEBRA FRAC INT +--R ?**? : (%,Fraction(Integer)) -> % if FE has ALGEBRA(FRAC(INT)) +--R ?**? : (%,%) -> % if FE has ALGEBRA(FRAC(INT)) --R ?**? : (%,Integer) -> % if FE has FIELD --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,%) -> % if FE has FIELD --R ?/? : (%,FE) -> % if FE has FIELD ---R D : % -> % if FE has *: (Fraction Integer,FE) -> FE ---R D : (%,NonNegativeInteger) -> % if FE has *: (Fraction Integer,FE) -> FE ---R D : (%,Symbol) -> % if FE has *: (Fraction Integer,FE) -> FE and FE has PDRING SYMBOL ---R D : (%,List Symbol) -> % if FE has *: (Fraction Integer,FE) -> FE and FE has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if FE has *: (Fraction Integer,FE) -> FE and FE has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if FE has *: (Fraction Integer,FE) -> FE and FE has PDRING SYMBOL +--R D : % -> % if FE has *: (Fraction(Integer),FE) -> FE +--R D : (%,NonNegativeInteger) -> % if FE has *: (Fraction(Integer),FE) -> FE +--R D : (%,Symbol) -> % if FE has *: (Fraction(Integer),FE) -> FE and FE has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if FE has *: (Fraction(Integer),FE) -> FE and FE has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if FE has *: (Fraction(Integer),FE) -> FE and FE has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if FE has *: (Fraction(Integer),FE) -> FE and FE has PDRING(SYMBOL) --R ?^? : (%,Integer) -> % if FE has FIELD --R ?^? : (%,NonNegativeInteger) -> % ---R acos : % -> % if FE has ALGEBRA FRAC INT ---R acosh : % -> % if FE has ALGEBRA FRAC INT ---R acot : % -> % if FE has ALGEBRA FRAC INT ---R acoth : % -> % if FE has ALGEBRA FRAC INT ---R acsc : % -> % if FE has ALGEBRA FRAC INT ---R acsch : % -> % if FE has ALGEBRA FRAC INT ---R approximate : (%,Fraction Integer) -> FE if FE has **: (FE,Fraction Integer) -> FE and FE has coerce: Symbol -> FE ---R asec : % -> % if FE has ALGEBRA FRAC INT ---R asech : % -> % if FE has ALGEBRA FRAC INT ---R asin : % -> % if FE has ALGEBRA FRAC INT ---R asinh : % -> % if FE has ALGEBRA FRAC INT +--R acos : % -> % if FE has ALGEBRA(FRAC(INT)) +--R acosh : % -> % if FE has ALGEBRA(FRAC(INT)) +--R acot : % -> % if FE has ALGEBRA(FRAC(INT)) +--R acoth : % -> % if FE has ALGEBRA(FRAC(INT)) +--R acsc : % -> % if FE has ALGEBRA(FRAC(INT)) +--R acsch : % -> % if FE has ALGEBRA(FRAC(INT)) +--R approximate : (%,Fraction(Integer)) -> FE if FE has **: (FE,Fraction(Integer)) -> FE and FE has coerce: Symbol -> FE +--R asec : % -> % if FE has ALGEBRA(FRAC(INT)) +--R asech : % -> % if FE has ALGEBRA(FRAC(INT)) +--R asin : % -> % if FE has ALGEBRA(FRAC(INT)) +--R asinh : % -> % if FE has ALGEBRA(FRAC(INT)) --R associates? : (%,%) -> Boolean if FE has INTDOM ---R atan : % -> % if FE has ALGEBRA FRAC INT ---R atanh : % -> % if FE has ALGEBRA FRAC INT +--R atan : % -> % if FE has ALGEBRA(FRAC(INT)) +--R atanh : % -> % if FE has ALGEBRA(FRAC(INT)) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if FE has CHARNZ ---R coefficient : (%,Fraction Integer) -> FE +--R coefficient : (%,Fraction(Integer)) -> FE --R coerce : % -> % if FE has INTDOM ---R coerce : Fraction Integer -> % if FE has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if FE has ALGEBRA(FRAC(INT)) --R coerce : FE -> % if FE has COMRING ---R cos : % -> % if FE has ALGEBRA FRAC INT ---R cosh : % -> % if FE has ALGEBRA FRAC INT ---R cot : % -> % if FE has ALGEBRA FRAC INT ---R coth : % -> % if FE has ALGEBRA FRAC INT ---R csc : % -> % if FE has ALGEBRA FRAC INT ---R csch : % -> % if FE has ALGEBRA FRAC INT ---R differentiate : % -> % if FE has *: (Fraction Integer,FE) -> FE ---R differentiate : (%,NonNegativeInteger) -> % if FE has *: (Fraction Integer,FE) -> FE ---R differentiate : (%,Symbol) -> % if FE has *: (Fraction Integer,FE) -> FE and FE has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if FE has *: (Fraction Integer,FE) -> FE and FE has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if FE has *: (Fraction Integer,FE) -> FE and FE has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if FE has *: (Fraction Integer,FE) -> FE and FE has PDRING SYMBOL +--R cos : % -> % if FE has ALGEBRA(FRAC(INT)) +--R cosh : % -> % if FE has ALGEBRA(FRAC(INT)) +--R cot : % -> % if FE has ALGEBRA(FRAC(INT)) +--R coth : % -> % if FE has ALGEBRA(FRAC(INT)) +--R csc : % -> % if FE has ALGEBRA(FRAC(INT)) +--R csch : % -> % if FE has ALGEBRA(FRAC(INT)) +--R differentiate : % -> % if FE has *: (Fraction(Integer),FE) -> FE +--R differentiate : (%,NonNegativeInteger) -> % if FE has *: (Fraction(Integer),FE) -> FE +--R differentiate : (%,Symbol) -> % if FE has *: (Fraction(Integer),FE) -> FE and FE has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if FE has *: (Fraction(Integer),FE) -> FE and FE has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if FE has *: (Fraction(Integer),FE) -> FE and FE has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if FE has *: (Fraction(Integer),FE) -> FE and FE has PDRING(SYMBOL) --R divide : (%,%) -> Record(quotient: %,remainder: %) if FE has FIELD ---R ?.? : (%,%) -> % if Fraction Integer has SGROUP +--R ?.? : (%,%) -> % if Fraction(Integer) has SGROUP --R euclideanSize : % -> NonNegativeInteger if FE has FIELD ---R eval : (%,FE) -> Stream FE if FE has **: (FE,Fraction Integer) -> FE ---R exp : % -> % if FE has ALGEBRA FRAC INT +--R eval : (%,FE) -> Stream(FE) if FE has **: (FE,Fraction(Integer)) -> FE +--R exp : % -> % if FE has ALGEBRA(FRAC(INT)) --R exponent : % -> UnivariatePuiseuxSeries(FE,var,cen) --R exponential : UnivariatePuiseuxSeries(FE,var,cen) -> % ---R exponentialOrder : % -> Fraction Integer ---R expressIdealMember : (List %,%) -> Union(List %,"failed") if FE has FIELD +--R exponentialOrder : % -> Fraction(Integer) +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if FE has FIELD --R exquo : (%,%) -> Union(%,"failed") if FE has INTDOM ---R extend : (%,Fraction Integer) -> % +--R extend : (%,Fraction(Integer)) -> % --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if FE has FIELD --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if FE has FIELD ---R factor : % -> Factored % if FE has FIELD +--R factor : % -> Factored(%) if FE has FIELD --R gcd : (%,%) -> % if FE has FIELD ---R gcd : List % -> % if FE has FIELD ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if FE has FIELD ---R integrate : (%,Symbol) -> % if FE has integrate: (FE,Symbol) -> FE and FE has variables: FE -> List Symbol and FE has ALGEBRA FRAC INT or FE has ACFS INT and FE has ALGEBRA FRAC INT and FE has PRIMCAT and FE has TRANFUN ---R integrate : % -> % if FE has ALGEBRA FRAC INT +--R gcd : List(%) -> % if FE has FIELD +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if FE has FIELD +--R integrate : (%,Symbol) -> % if FE has integrate: (FE,Symbol) -> FE and FE has variables: FE -> List(Symbol) and FE has ALGEBRA(FRAC(INT)) or FE has ACFS(INT) and FE has ALGEBRA(FRAC(INT)) and FE has PRIMCAT and FE has TRANFUN +--R integrate : % -> % if FE has ALGEBRA(FRAC(INT)) --R lcm : (%,%) -> % if FE has FIELD ---R lcm : List % -> % if FE has FIELD ---R log : % -> % if FE has ALGEBRA FRAC INT ---R monomial : (%,List SingletonAsOrderedSet,List Fraction Integer) -> % ---R monomial : (%,SingletonAsOrderedSet,Fraction Integer) -> % ---R monomial : (FE,Fraction Integer) -> % ---R multiEuclidean : (List %,%) -> Union(List %,"failed") if FE has FIELD ---R multiplyExponents : (%,Fraction Integer) -> % +--R lcm : List(%) -> % if FE has FIELD +--R log : % -> % if FE has ALGEBRA(FRAC(INT)) +--R monomial : (%,List(SingletonAsOrderedSet),List(Fraction(Integer))) -> % +--R monomial : (%,SingletonAsOrderedSet,Fraction(Integer)) -> % +--R monomial : (FE,Fraction(Integer)) -> % +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if FE has FIELD +--R multiplyExponents : (%,Fraction(Integer)) -> % --R multiplyExponents : (%,PositiveInteger) -> % ---R nthRoot : (%,Integer) -> % if FE has ALGEBRA FRAC INT ---R order : (%,Fraction Integer) -> Fraction Integer ---R pi : () -> % if FE has ALGEBRA FRAC INT +--R nthRoot : (%,Integer) -> % if FE has ALGEBRA(FRAC(INT)) +--R order : (%,Fraction(Integer)) -> Fraction(Integer) +--R pi : () -> % if FE has ALGEBRA(FRAC(INT)) --R prime? : % -> Boolean if FE has FIELD ---R principalIdeal : List % -> Record(coef: List %,generator: %) if FE has FIELD +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if FE has FIELD --R ?quo? : (%,%) -> % if FE has FIELD --R ?rem? : (%,%) -> % if FE has FIELD ---R sec : % -> % if FE has ALGEBRA FRAC INT ---R sech : % -> % if FE has ALGEBRA FRAC INT ---R series : (NonNegativeInteger,Stream Record(k: Fraction Integer,c: FE)) -> % ---R sin : % -> % if FE has ALGEBRA FRAC INT ---R sinh : % -> % if FE has ALGEBRA FRAC INT +--R sec : % -> % if FE has ALGEBRA(FRAC(INT)) +--R sech : % -> % if FE has ALGEBRA(FRAC(INT)) +--R series : (NonNegativeInteger,Stream(Record(k: Fraction(Integer),c: FE))) -> % +--R sin : % -> % if FE has ALGEBRA(FRAC(INT)) +--R sinh : % -> % if FE has ALGEBRA(FRAC(INT)) --R sizeLess? : (%,%) -> Boolean if FE has FIELD ---R sqrt : % -> % if FE has ALGEBRA FRAC INT ---R squareFree : % -> Factored % if FE has FIELD +--R sqrt : % -> % if FE has ALGEBRA(FRAC(INT)) +--R squareFree : % -> Factored(%) if FE has FIELD --R squareFreePart : % -> % if FE has FIELD --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tan : % -> % if FE has ALGEBRA FRAC INT ---R tanh : % -> % if FE has ALGEBRA FRAC INT ---R terms : % -> Stream Record(k: Fraction Integer,c: FE) ---R truncate : (%,Fraction Integer,Fraction Integer) -> % ---R truncate : (%,Fraction Integer) -> % +--R tan : % -> % if FE has ALGEBRA(FRAC(INT)) +--R tanh : % -> % if FE has ALGEBRA(FRAC(INT)) +--R terms : % -> Stream(Record(k: Fraction(Integer),c: FE)) +--R truncate : (%,Fraction(Integer),Fraction(Integer)) -> % +--R truncate : (%,Fraction(Integer)) -> % --R unit? : % -> Boolean if FE has INTDOM --R unitCanonical : % -> % if FE has INTDOM --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if FE has INTDOM ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -34910,6 +35007,7 @@ ExponentialOfUnivariatePuiseuxSeries(FE,var,cen):_ --S 1 of 1 )show ExtAlgBasis +--R --R ExtAlgBasis is a domain constructor --R Abbreviation for ExtAlgBasis is EAB --R This constructor is not exposed in this frame. @@ -34919,8 +35017,8 @@ ExponentialOfUnivariatePuiseuxSeries(FE,var,cen):_ --R ? Boolean ?<=? : (%,%) -> Boolean --R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean --R ?>=? : (%,%) -> Boolean Nul : NonNegativeInteger -> % ---R coerce : List Integer -> % coerce : % -> OutputForm ---R degree : % -> NonNegativeInteger exponents : % -> List Integer +--R coerce : List(Integer) -> % coerce : % -> OutputForm +--R degree : % -> NonNegativeInteger exponents : % -> List(Integer) --R hash : % -> SingleInteger latex : % -> String --R max : (%,%) -> % min : (%,%) -> % --R ?~=? : (%,%) -> Boolean @@ -35065,6 +35163,7 @@ ExtAlgBasis(): Export == Implement where --S 1 of 1 )show e04dgfAnnaType +--R --R e04dgfAnnaType is a domain constructor --R Abbreviation for e04dgfAnnaType is E04DGFA --R This constructor is exposed in this frame. @@ -35074,10 +35173,10 @@ ExtAlgBasis(): Export == Implement where --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 @@ -35204,6 +35303,7 @@ e04dgfAnnaType(): NumericalOptimizationCategory == Result add --S 1 of 1 )show e04fdfAnnaType +--R --R e04fdfAnnaType is a domain constructor --R Abbreviation for e04fdfAnnaType is E04FDFA --R This constructor is exposed in this frame. @@ -35213,10 +35313,10 @@ e04dgfAnnaType(): NumericalOptimizationCategory == Result add --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 @@ -35369,6 +35469,7 @@ e04fdfAnnaType(): NumericalOptimizationCategory == Result add --S 1 of 1 )show e04gcfAnnaType +--R --R e04gcfAnnaType is a domain constructor --R Abbreviation for e04gcfAnnaType is E04GCFA --R This constructor is exposed in this frame. @@ -35378,10 +35479,10 @@ e04fdfAnnaType(): NumericalOptimizationCategory == Result add --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 @@ -35550,6 +35651,7 @@ e04gcfAnnaType(): NumericalOptimizationCategory == Result add --S 1 of 1 )show e04jafAnnaType +--R --R e04jafAnnaType is a domain constructor --R Abbreviation for e04jafAnnaType is E04JAFA --R This constructor is exposed in this frame. @@ -35559,10 +35661,10 @@ e04gcfAnnaType(): NumericalOptimizationCategory == Result add --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 @@ -35706,6 +35808,7 @@ e04jafAnnaType(): NumericalOptimizationCategory == Result add --S 1 of 1 )show e04mbfAnnaType +--R --R e04mbfAnnaType is a domain constructor --R Abbreviation for e04mbfAnnaType is E04MBFA --R This constructor is exposed in this frame. @@ -35715,10 +35818,10 @@ e04jafAnnaType(): NumericalOptimizationCategory == Result add --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 @@ -35848,6 +35951,7 @@ e04mbfAnnaType(): NumericalOptimizationCategory == Result add --S 1 of 1 )show e04nafAnnaType +--R --R e04nafAnnaType is a domain constructor --R Abbreviation for e04nafAnnaType is E04NAFA --R This constructor is exposed in this frame. @@ -35857,10 +35961,10 @@ e04mbfAnnaType(): NumericalOptimizationCategory == Result add --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 @@ -36005,6 +36109,7 @@ e04nafAnnaType(): NumericalOptimizationCategory == Result add --S 1 of 1 )show e04ucfAnnaType +--R --R e04ucfAnnaType is a domain constructor --R Abbreviation for e04ucfAnnaType is E04UCFA --R This constructor is exposed in this frame. @@ -36014,10 +36119,10 @@ e04nafAnnaType(): NumericalOptimizationCategory == Result add --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 @@ -36183,7 +36288,7 @@ g := factor(4312) --R --R 3 2 --R (1) 2 7 11 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 1 --S 2 of 38 @@ -36207,7 +36312,7 @@ numberOfFactors(g) --R --R --R (4) [2,7,11] ---R Type: List Integer +--R Type: List(Integer) --E 4 --S 5 of 38 @@ -36215,7 +36320,7 @@ numberOfFactors(g) --R --R --R (5) [3,2,1] ---R Type: List Integer +--R Type: List(Integer) --E 5 --S 6 of 38 @@ -36223,7 +36328,7 @@ numberOfFactors(g) --R --R --R (6) ["prime","prime","prime"] ---R Type: List Union("nil","sqfr","irred","prime") +--R Type: List(Union("nil","sqfr","irred","prime")) --E 6 --S 7 of 38 @@ -36233,7 +36338,7 @@ factorList(g) --R (7) --R [[flg= "prime",fctr= 2,xpnt= 3], [flg= "prime",fctr= 7,xpnt= 2], --R [flg= "prime",fctr= 11,xpnt= 1]] ---RType: List Record(flg: Union("nil","sqfr","irred","prime"),fctr: Integer,xpnt: Integer) +--RType: List(Record(flg: Union("nil","sqfr","irred","prime"),fctr: Integer,xpnt: Integer)) --E 7 --S 8 of 38 @@ -36242,7 +36347,7 @@ factors(g) --R --R (8) --R [[factor= 2,exponent= 3],[factor= 7,exponent= 2],[factor= 11,exponent= 1]] ---R Type: List Record(factor: Integer,exponent: Integer) +--R Type: List(Record(factor: Integer,exponent: Integer)) --E 8 --S 9 of 38 @@ -36259,7 +36364,7 @@ g := factor(4312) --R --R 3 2 --R (10) 2 7 11 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 10 --S 11 of 38 @@ -36284,7 +36389,7 @@ g := factor(4312) --R --R 3 2 --R (13) 2 7 11 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 13 --S 14 of 38 @@ -36293,7 +36398,7 @@ f := factor(246960) --R --R 4 2 3 --R (14) 2 3 5 7 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 14 --S 15 of 38 @@ -36302,7 +36407,7 @@ f * g --R --R 7 2 5 --R (15) 2 3 5 7 11 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 15 --S 16 of 38 @@ -36311,7 +36416,7 @@ f**500 --R --R 2000 1000 500 1500 --R (16) 2 3 5 7 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 16 --S 17 of 38 @@ -36320,7 +36425,7 @@ gcd(f,g) --R --R 3 2 --R (17) 2 7 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 17 --S 18 of 38 @@ -36329,7 +36434,7 @@ lcm(f,g) --R --R 4 2 3 --R (18) 2 3 5 7 11 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 18 --S 19 of 38 @@ -36338,7 +36443,7 @@ f + g --R --R 3 2 --R (19) 2 7 641 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 19 --S 20 of 38 @@ -36347,7 +36452,7 @@ f - g --R --R 3 2 --R (20) 2 7 619 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 20 --S 21 of 38 @@ -36387,7 +36492,7 @@ one?(f) --R --R --R (25) 0 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 25 --S 26 of 38 @@ -36395,7 +36500,7 @@ one?(f) --R --R --R (26) 1 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 26 --S 27 of 38 @@ -36404,7 +36509,7 @@ nilFactor(24,2) --R --R 2 --R (27) 24 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 27 --S 28 of 38 @@ -36421,7 +36526,7 @@ sqfrFactor(30,2) --R --R 2 --R (29) 30 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 29 --S 30 of 38 @@ -36430,7 +36535,7 @@ irreducibleFactor(13,10) --R --R 10 --R (30) 13 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 30 --S 31 of 38 @@ -36439,7 +36544,7 @@ primeFactor(11,5) --R --R 5 --R (31) 11 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 31 --S 32 of 38 @@ -36448,7 +36553,7 @@ h := factor(-720) --R --R 4 2 --R (32) - 2 3 5 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 32 --S 33 of 38 @@ -36456,7 +36561,7 @@ h - makeFR(unit(h),factorList(h)) --R --R --R (33) 0 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 33 --S 34 of 38 @@ -36465,7 +36570,7 @@ p := (4*x*x-12*x+9)*y*y + (4*x*x-12*x+9)*y + 28*x*x - 84*x + 63 --R --R 2 2 2 2 --R (34) (4x - 12x + 9)y + (4x - 12x + 9)y + 28x - 84x + 63 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 34 --S 35 of 38 @@ -36474,7 +36579,7 @@ fp := factor(p) --R --R 2 2 --R (35) (2x - 3) (y + y + 7) ---R Type: Factored Polynomial Integer +--R Type: Factored(Polynomial(Integer)) --E 35 --S 36 of 38 @@ -36483,7 +36588,7 @@ D(p,x) --R --R 2 --R (36) (8x - 12)y + (8x - 12)y + 56x - 84 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 36 --S 37 of 38 @@ -36492,7 +36597,7 @@ D(fp,x) --R --R 2 --R (37) 4(2x - 3)(y + y + 7) ---R Type: Factored Polynomial Integer +--R Type: Factored(Polynomial(Integer)) --E 37 --S 38 of 38 @@ -37424,7 +37529,7 @@ ifile:File List Integer:=open("jazz1","output") --R --R --R (1) "jazz1" ---R Type: File List Integer +--R Type: File(List(Integer)) --E 1 --S 2 of 12 @@ -37432,7 +37537,7 @@ write!(ifile, [-1,2,3]) --R --R --R (2) [- 1,2,3] ---R Type: List Integer +--R Type: List(Integer) --E 2 --S 3 of 12 @@ -37440,7 +37545,7 @@ write!(ifile, [10,-10,0,111]) --R --R --R (3) [10,- 10,0,111] ---R Type: List Integer +--R Type: List(Integer) --E 3 --S 4 of 12 @@ -37448,7 +37553,7 @@ write!(ifile, [7]) --R --R --R (4) [7] ---R Type: List Integer +--R Type: List(Integer) --E 4 --S 5 of 12 @@ -37456,7 +37561,7 @@ reopen!(ifile, "input") --R --R --R (5) "jazz1" ---R Type: File List Integer +--R Type: File(List(Integer)) --E 5 --S 6 of 12 @@ -37464,7 +37569,7 @@ read! ifile --R --R --R (6) [- 1,2,3] ---R Type: List Integer +--R Type: List(Integer) --E 6 --S 7 of 12 @@ -37472,7 +37577,7 @@ read! ifile --R --R --R (7) [10,- 10,0,111] ---R Type: List Integer +--R Type: List(Integer) --E 7 --S 8 of 12 @@ -37480,7 +37585,7 @@ readIfCan! ifile --R --R --R (8) [7] ---R Type: Union(List Integer,...) +--R Type: Union(List(Integer),...) --E 8 --S 9 of 12 @@ -37512,7 +37617,7 @@ close! ifile --R --R --R (12) "jazz1" ---R Type: File List Integer +--R Type: File(List(Integer)) --E 12 )system rm jazz1 )spool @@ -38084,7 +38189,8 @@ FileName(): FileNameCategory == add --S 1 of 1 )show FiniteDivisor ---R FiniteDivisor(F: Field,UP: UnivariatePolynomialCategory F,UPUP: UnivariatePolynomialCategory Fraction UP,R: FunctionFieldCategory(F,UP,UPUP)) is a domain constructor +--R +--R FiniteDivisor(F: Field,UP: UnivariatePolynomialCategory(F),UPUP: UnivariatePolynomialCategory(Fraction(UP)),R: FunctionFieldCategory(F,UP,UPUP)) is a domain constructor --R Abbreviation for FiniteDivisor is FDIV --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FDIV @@ -38096,16 +38202,16 @@ FileName(): FileNameCategory == add --R 0 : () -> % coerce : % -> OutputForm --R divisor : (R,UP,UP,UP,F) -> % divisor : (F,F,Integer) -> % --R divisor : (F,F) -> % divisor : R -> % ---R finiteBasis : % -> Vector R hash : % -> SingleInteger ---R lSpaceBasis : % -> Vector R latex : % -> String +--R finiteBasis : % -> Vector(R) hash : % -> SingleInteger +--R lSpaceBasis : % -> Vector(R) latex : % -> String --R principal? : % -> Boolean reduce : % -> % --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 @@ -38303,102 +38409,103 @@ FiniteDivisor(F, UP, UPUP, R): Exports == Implementation where --S 1 of 1 )show FiniteField +--R --R FiniteField(p: PositiveInteger,n: PositiveInteger) is a domain constructor --R Abbreviation for FiniteField is FF --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FF --R --R------------------------------- Operations -------------------------------- ---R ?*? : (PrimeField p,%) -> % ?*? : (%,PrimeField p) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (PrimeField(p),%) -> % ?*? : (%,PrimeField(p)) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % --R ?-? : (%,%) -> % -? : % -> % ---R ?/? : (%,PrimeField p) -> % ?/? : (%,%) -> % +--R ?/? : (%,PrimeField(p)) -> % ?/? : (%,%) -> % --R ?=? : (%,%) -> Boolean 1 : () -> % --R 0 : () -> % ?^? : (%,Integer) -> % --R ?^? : (%,PositiveInteger) -> % algebraic? : % -> Boolean ---R associates? : (%,%) -> Boolean basis : () -> Vector % ---R coerce : PrimeField p -> % coerce : Fraction Integer -> % +--R associates? : (%,%) -> Boolean basis : () -> Vector(%) +--R coerce : PrimeField(p) -> % coerce : Fraction(Integer) -> % --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm degree : % -> PositiveInteger ---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 norm : % -> PrimeField p one? : % -> Boolean +--R lcm : List(%) -> % lcm : (%,%) -> % +--R norm : % -> PrimeField(p) one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R retract : % -> PrimeField p sample : () -> % ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % ---R squareFreePart : % -> % trace : % -> PrimeField p +--R retract : % -> PrimeField(p) sample : () -> % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) +--R squareFreePart : % -> % trace : % -> PrimeField(p) --R transcendent? : % -> Boolean unit? : % -> Boolean --R unitCanonical : % -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % ---R D : (%,NonNegativeInteger) -> % if PrimeField p has FINITE ---R D : % -> % if PrimeField p has FINITE ---R Frobenius : (%,NonNegativeInteger) -> % if PrimeField p has FINITE ---R Frobenius : % -> % if PrimeField p has FINITE +--R D : (%,NonNegativeInteger) -> % if PrimeField(p) has FINITE +--R D : % -> % if PrimeField(p) has FINITE +--R Frobenius : (%,NonNegativeInteger) -> % if PrimeField(p) has FINITE +--R Frobenius : % -> % if PrimeField(p) has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger ---R charthRoot : % -> Union(%,"failed") if PrimeField p has CHARNZ or PrimeField p has FINITE ---R charthRoot : % -> % if PrimeField p has FINITE ---R conditionP : Matrix % -> Union(Vector %,"failed") if PrimeField p has FINITE ---R coordinates : Vector % -> Matrix PrimeField p ---R coordinates : % -> Vector PrimeField p ---R createNormalElement : () -> % if PrimeField p has FINITE ---R createPrimitiveElement : () -> % if PrimeField p has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial PrimeField p ---R degree : % -> OnePointCompletion PositiveInteger ---R differentiate : (%,NonNegativeInteger) -> % if PrimeField p has FINITE ---R differentiate : % -> % if PrimeField p has FINITE ---R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if PrimeField p has CHARNZ or PrimeField p has FINITE ---R discreteLog : % -> NonNegativeInteger if PrimeField p has FINITE +--R charthRoot : % -> Union(%,"failed") if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R charthRoot : % -> % if PrimeField(p) has FINITE +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if PrimeField(p) has FINITE +--R coordinates : Vector(%) -> Matrix(PrimeField(p)) +--R coordinates : % -> Vector(PrimeField(p)) +--R createNormalElement : () -> % if PrimeField(p) has FINITE +--R createPrimitiveElement : () -> % if PrimeField(p) has FINITE +--R definingPolynomial : () -> SparseUnivariatePolynomial(PrimeField(p)) +--R degree : % -> OnePointCompletion(PositiveInteger) +--R differentiate : (%,NonNegativeInteger) -> % if PrimeField(p) has FINITE +--R differentiate : % -> % if PrimeField(p) has FINITE +--R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R discreteLog : % -> NonNegativeInteger if PrimeField(p) 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 PrimeField p has FINITE ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R generator : () -> % if PrimeField p has FINITE ---R index : PositiveInteger -> % if PrimeField p has FINITE ---R init : () -> % if PrimeField p has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial PrimeField p) -> % if PrimeField p has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial PrimeField p,"failed") if PrimeField p has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial PrimeField p if PrimeField p has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial PrimeField p if PrimeField p has FINITE ---R lookup : % -> PositiveInteger if PrimeField p has FINITE ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if PrimeField p has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial PrimeField p ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R nextItem : % -> Union(%,"failed") if PrimeField p has FINITE ---R norm : (%,PositiveInteger) -> % if PrimeField p has FINITE ---R normal? : % -> Boolean if PrimeField p has FINITE ---R normalElement : () -> % if PrimeField p has FINITE ---R order : % -> OnePointCompletion PositiveInteger if PrimeField p has CHARNZ or PrimeField p has FINITE ---R order : % -> PositiveInteger if PrimeField p has FINITE ---R primeFrobenius : % -> % if PrimeField p has CHARNZ or PrimeField p has FINITE ---R primeFrobenius : (%,NonNegativeInteger) -> % if PrimeField p has CHARNZ or PrimeField p has FINITE ---R primitive? : % -> Boolean if PrimeField p has FINITE ---R primitiveElement : () -> % if PrimeField p has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R random : () -> % if PrimeField p has FINITE ---R representationType : () -> Union("prime",polynomial,normal,cyclic) if PrimeField p has FINITE ---R represents : Vector PrimeField p -> % ---R retractIfCan : % -> Union(PrimeField p,"failed") ---R size : () -> NonNegativeInteger if PrimeField p has FINITE +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if PrimeField(p) has FINITE +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R generator : () -> % if PrimeField(p) has FINITE +--R index : PositiveInteger -> % if PrimeField(p) has FINITE +--R init : () -> % if PrimeField(p) has FINITE +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(PrimeField(p))) -> % if PrimeField(p) has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(PrimeField(p)),"failed") if PrimeField(p) has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(PrimeField(p)) if PrimeField(p) has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(PrimeField(p)) if PrimeField(p) has FINITE +--R lookup : % -> PositiveInteger if PrimeField(p) has FINITE +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if PrimeField(p) has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(PrimeField(p)) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R nextItem : % -> Union(%,"failed") if PrimeField(p) has FINITE +--R norm : (%,PositiveInteger) -> % if PrimeField(p) has FINITE +--R normal? : % -> Boolean if PrimeField(p) has FINITE +--R normalElement : () -> % if PrimeField(p) has FINITE +--R order : % -> OnePointCompletion(PositiveInteger) if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R order : % -> PositiveInteger if PrimeField(p) has FINITE +--R primeFrobenius : % -> % if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R primeFrobenius : (%,NonNegativeInteger) -> % if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R primitive? : % -> Boolean if PrimeField(p) has FINITE +--R primitiveElement : () -> % if PrimeField(p) has FINITE +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R random : () -> % if PrimeField(p) has FINITE +--R representationType : () -> Union("prime",polynomial,normal,cyclic) if PrimeField(p) has FINITE +--R represents : Vector(PrimeField(p)) -> % +--R retractIfCan : % -> Union(PrimeField(p),"failed") +--R size : () -> NonNegativeInteger if PrimeField(p) has FINITE --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if PrimeField p has FINITE ---R trace : (%,PositiveInteger) -> % if PrimeField p has FINITE +--R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if PrimeField(p) has FINITE +--R trace : (%,PositiveInteger) -> % if PrimeField(p) has FINITE --R transcendenceDegree : () -> NonNegativeInteger --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -38562,103 +38669,104 @@ FiniteField(p:PositiveInteger, n:PositiveInteger): _ --S 1 of 1 )show FiniteFieldCyclicGroup +--R --R FiniteFieldCyclicGroup(p: PositiveInteger,extdeg: PositiveInteger) is a domain constructor --R Abbreviation for FiniteFieldCyclicGroup is FFCG --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FFCG --R --R------------------------------- Operations -------------------------------- ---R ?*? : (PrimeField p,%) -> % ?*? : (%,PrimeField p) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (PrimeField(p),%) -> % ?*? : (%,PrimeField(p)) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % --R ?-? : (%,%) -> % -? : % -> % ---R ?/? : (%,PrimeField p) -> % ?/? : (%,%) -> % +--R ?/? : (%,PrimeField(p)) -> % ?/? : (%,%) -> % --R ?=? : (%,%) -> Boolean 1 : () -> % --R 0 : () -> % ?^? : (%,Integer) -> % --R ?^? : (%,PositiveInteger) -> % algebraic? : % -> Boolean ---R associates? : (%,%) -> Boolean basis : () -> Vector % ---R coerce : PrimeField p -> % coerce : Fraction Integer -> % +--R associates? : (%,%) -> Boolean basis : () -> Vector(%) +--R coerce : PrimeField(p) -> % coerce : Fraction(Integer) -> % --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm degree : % -> PositiveInteger ---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 norm : % -> PrimeField p one? : % -> Boolean +--R lcm : List(%) -> % lcm : (%,%) -> % +--R norm : % -> PrimeField(p) one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R retract : % -> PrimeField p sample : () -> % ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % ---R squareFreePart : % -> % trace : % -> PrimeField p +--R retract : % -> PrimeField(p) sample : () -> % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) +--R squareFreePart : % -> % trace : % -> PrimeField(p) --R transcendent? : % -> Boolean unit? : % -> Boolean --R unitCanonical : % -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % ---R D : (%,NonNegativeInteger) -> % if PrimeField p has FINITE ---R D : % -> % if PrimeField p has FINITE ---R Frobenius : (%,NonNegativeInteger) -> % if PrimeField p has FINITE ---R Frobenius : % -> % if PrimeField p has FINITE +--R D : (%,NonNegativeInteger) -> % if PrimeField(p) has FINITE +--R D : % -> % if PrimeField(p) has FINITE +--R Frobenius : (%,NonNegativeInteger) -> % if PrimeField(p) has FINITE +--R Frobenius : % -> % if PrimeField(p) has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger ---R charthRoot : % -> Union(%,"failed") if PrimeField p has CHARNZ or PrimeField p has FINITE ---R charthRoot : % -> % if PrimeField p has FINITE ---R conditionP : Matrix % -> Union(Vector %,"failed") if PrimeField p has FINITE ---R coordinates : Vector % -> Matrix PrimeField p ---R coordinates : % -> Vector PrimeField p ---R createNormalElement : () -> % if PrimeField p has FINITE ---R createPrimitiveElement : () -> % if PrimeField p has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial PrimeField p ---R degree : % -> OnePointCompletion PositiveInteger ---R differentiate : (%,NonNegativeInteger) -> % if PrimeField p has FINITE ---R differentiate : % -> % if PrimeField p has FINITE ---R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if PrimeField p has CHARNZ or PrimeField p has FINITE ---R discreteLog : % -> NonNegativeInteger if PrimeField p has FINITE +--R charthRoot : % -> Union(%,"failed") if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R charthRoot : % -> % if PrimeField(p) has FINITE +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if PrimeField(p) has FINITE +--R coordinates : Vector(%) -> Matrix(PrimeField(p)) +--R coordinates : % -> Vector(PrimeField(p)) +--R createNormalElement : () -> % if PrimeField(p) has FINITE +--R createPrimitiveElement : () -> % if PrimeField(p) has FINITE +--R definingPolynomial : () -> SparseUnivariatePolynomial(PrimeField(p)) +--R degree : % -> OnePointCompletion(PositiveInteger) +--R differentiate : (%,NonNegativeInteger) -> % if PrimeField(p) has FINITE +--R differentiate : % -> % if PrimeField(p) has FINITE +--R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R discreteLog : % -> NonNegativeInteger if PrimeField(p) 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 PrimeField p has FINITE ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R generator : () -> % if PrimeField p has FINITE ---R getZechTable : () -> PrimitiveArray SingleInteger ---R index : PositiveInteger -> % if PrimeField p has FINITE ---R init : () -> % if PrimeField p has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial PrimeField p) -> % if PrimeField p has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial PrimeField p,"failed") if PrimeField p has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial PrimeField p if PrimeField p has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial PrimeField p if PrimeField p has FINITE ---R lookup : % -> PositiveInteger if PrimeField p has FINITE ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if PrimeField p has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial PrimeField p ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R nextItem : % -> Union(%,"failed") if PrimeField p has FINITE ---R norm : (%,PositiveInteger) -> % if PrimeField p has FINITE ---R normal? : % -> Boolean if PrimeField p has FINITE ---R normalElement : () -> % if PrimeField p has FINITE ---R order : % -> OnePointCompletion PositiveInteger if PrimeField p has CHARNZ or PrimeField p has FINITE ---R order : % -> PositiveInteger if PrimeField p has FINITE ---R primeFrobenius : % -> % if PrimeField p has CHARNZ or PrimeField p has FINITE ---R primeFrobenius : (%,NonNegativeInteger) -> % if PrimeField p has CHARNZ or PrimeField p has FINITE ---R primitive? : % -> Boolean if PrimeField p has FINITE ---R primitiveElement : () -> % if PrimeField p has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R random : () -> % if PrimeField p has FINITE ---R representationType : () -> Union("prime",polynomial,normal,cyclic) if PrimeField p has FINITE ---R represents : Vector PrimeField p -> % ---R retractIfCan : % -> Union(PrimeField p,"failed") ---R size : () -> NonNegativeInteger if PrimeField p has FINITE +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if PrimeField(p) has FINITE +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R generator : () -> % if PrimeField(p) has FINITE +--R getZechTable : () -> PrimitiveArray(SingleInteger) +--R index : PositiveInteger -> % if PrimeField(p) has FINITE +--R init : () -> % if PrimeField(p) has FINITE +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(PrimeField(p))) -> % if PrimeField(p) has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(PrimeField(p)),"failed") if PrimeField(p) has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(PrimeField(p)) if PrimeField(p) has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(PrimeField(p)) if PrimeField(p) has FINITE +--R lookup : % -> PositiveInteger if PrimeField(p) has FINITE +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if PrimeField(p) has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(PrimeField(p)) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R nextItem : % -> Union(%,"failed") if PrimeField(p) has FINITE +--R norm : (%,PositiveInteger) -> % if PrimeField(p) has FINITE +--R normal? : % -> Boolean if PrimeField(p) has FINITE +--R normalElement : () -> % if PrimeField(p) has FINITE +--R order : % -> OnePointCompletion(PositiveInteger) if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R order : % -> PositiveInteger if PrimeField(p) has FINITE +--R primeFrobenius : % -> % if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R primeFrobenius : (%,NonNegativeInteger) -> % if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R primitive? : % -> Boolean if PrimeField(p) has FINITE +--R primitiveElement : () -> % if PrimeField(p) has FINITE +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R random : () -> % if PrimeField(p) has FINITE +--R representationType : () -> Union("prime",polynomial,normal,cyclic) if PrimeField(p) has FINITE +--R represents : Vector(PrimeField(p)) -> % +--R retractIfCan : % -> Union(PrimeField(p),"failed") +--R size : () -> NonNegativeInteger if PrimeField(p) has FINITE --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if PrimeField p has FINITE ---R trace : (%,PositiveInteger) -> % if PrimeField p has FINITE +--R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if PrimeField(p) has FINITE +--R trace : (%,PositiveInteger) -> % if PrimeField(p) has FINITE --R transcendenceDegree : () -> NonNegativeInteger --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -38832,6 +38940,7 @@ FiniteFieldCyclicGroup(p,extdeg):_ --S 1 of 1 )show FiniteFieldCyclicGroupExtension +--R --R FiniteFieldCyclicGroupExtension(GF: FiniteFieldCategory,extdeg: PositiveInteger) is a domain constructor --R Abbreviation for FiniteFieldCyclicGroupExtension is FFCGX --R This constructor is not exposed in this frame. @@ -38839,7 +38948,7 @@ FiniteFieldCyclicGroup(p,extdeg):_ --R --R------------------------------- Operations -------------------------------- --R ?*? : (GF,%) -> % ?*? : (%,GF) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -38849,21 +38958,21 @@ FiniteFieldCyclicGroup(p,extdeg):_ --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R algebraic? : % -> Boolean associates? : (%,%) -> Boolean ---R basis : () -> Vector % coerce : GF -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R basis : () -> Vector(%) coerce : GF -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R coordinates : % -> Vector GF degree : % -> PositiveInteger ---R dimension : () -> CardinalNumber factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R coordinates : % -> Vector(GF) 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 : % -> GF one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R represents : Vector GF -> % retract : % -> GF +--R represents : Vector(GF) -> % retract : % -> GF --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R trace : % -> GF transcendent? : % -> Boolean --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean @@ -38873,53 +38982,53 @@ FiniteFieldCyclicGroup(p,extdeg):_ --R Frobenius : (%,NonNegativeInteger) -> % if GF has FINITE --R Frobenius : % -> % if GF has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if GF has CHARNZ or GF has FINITE --R charthRoot : % -> % if GF has FINITE ---R conditionP : Matrix % -> Union(Vector %,"failed") if GF has FINITE ---R coordinates : Vector % -> Matrix GF +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if GF has FINITE +--R coordinates : Vector(%) -> Matrix(GF) --R createNormalElement : () -> % if GF has FINITE --R createPrimitiveElement : () -> % if GF has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial GF ---R degree : % -> OnePointCompletion PositiveInteger +--R definingPolynomial : () -> SparseUnivariatePolynomial(GF) +--R degree : % -> OnePointCompletion(PositiveInteger) --R differentiate : (%,NonNegativeInteger) -> % if GF has FINITE --R differentiate : % -> % if GF has FINITE --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if GF has CHARNZ or GF has FINITE --R discreteLog : % -> NonNegativeInteger if GF 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 GF has FINITE ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if GF has FINITE +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R generator : () -> % if GF has FINITE ---R getZechTable : () -> PrimitiveArray SingleInteger +--R getZechTable : () -> PrimitiveArray(SingleInteger) --R index : PositiveInteger -> % if GF has FINITE --R init : () -> % if GF has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial GF) -> % if GF has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial GF,"failed") if GF has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial GF if GF has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial GF if GF has FINITE +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(GF)) -> % if GF has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(GF),"failed") if GF has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(GF) if GF has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(GF) if GF has FINITE --R lookup : % -> PositiveInteger if GF has FINITE ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if GF has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial GF ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if GF has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(GF) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R nextItem : % -> Union(%,"failed") if GF has FINITE --R norm : (%,PositiveInteger) -> % if GF has FINITE --R normal? : % -> Boolean if GF has FINITE --R normalElement : () -> % if GF has FINITE ---R order : % -> OnePointCompletion PositiveInteger if GF has CHARNZ or GF has FINITE +--R order : % -> OnePointCompletion(PositiveInteger) if GF has CHARNZ or GF has FINITE --R order : % -> PositiveInteger if GF has FINITE --R primeFrobenius : % -> % if GF has CHARNZ or GF has FINITE --R primeFrobenius : (%,NonNegativeInteger) -> % if GF has CHARNZ or GF has FINITE --R primitive? : % -> Boolean if GF has FINITE --R primitiveElement : () -> % if GF has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R random : () -> % if GF has FINITE --R representationType : () -> Union("prime",polynomial,normal,cyclic) if GF has FINITE --R retractIfCan : % -> Union(GF,"failed") @@ -39102,14 +39211,15 @@ FiniteFieldCyclicGroupExtension(GF,extdeg):_ --S 1 of 1 )show FiniteFieldCyclicGroupExtensionByPolynomial ---R FiniteFieldCyclicGroupExtensionByPolynomial(GF: FiniteFieldCategory,defpol: SparseUnivariatePolynomial GF) is a domain constructor +--R +--R FiniteFieldCyclicGroupExtensionByPolynomial(GF: FiniteFieldCategory,defpol: SparseUnivariatePolynomial(GF)) is a domain constructor --R Abbreviation for FiniteFieldCyclicGroupExtensionByPolynomial is FFCGP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FFCGP --R --R------------------------------- Operations -------------------------------- --R ?*? : (GF,%) -> % ?*? : (%,GF) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -39119,21 +39229,21 @@ FiniteFieldCyclicGroupExtension(GF,extdeg):_ --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R algebraic? : % -> Boolean associates? : (%,%) -> Boolean ---R basis : () -> Vector % coerce : GF -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R basis : () -> Vector(%) coerce : GF -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R coordinates : % -> Vector GF degree : % -> PositiveInteger ---R dimension : () -> CardinalNumber factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R coordinates : % -> Vector(GF) 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 : % -> GF one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R represents : Vector GF -> % retract : % -> GF +--R represents : Vector(GF) -> % retract : % -> GF --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R trace : % -> GF transcendent? : % -> Boolean --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean @@ -39143,53 +39253,53 @@ FiniteFieldCyclicGroupExtension(GF,extdeg):_ --R Frobenius : (%,NonNegativeInteger) -> % if GF has FINITE --R Frobenius : % -> % if GF has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if GF has CHARNZ or GF has FINITE --R charthRoot : % -> % if GF has FINITE ---R conditionP : Matrix % -> Union(Vector %,"failed") if GF has FINITE ---R coordinates : Vector % -> Matrix GF +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if GF has FINITE +--R coordinates : Vector(%) -> Matrix(GF) --R createNormalElement : () -> % if GF has FINITE --R createPrimitiveElement : () -> % if GF has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial GF ---R degree : % -> OnePointCompletion PositiveInteger +--R definingPolynomial : () -> SparseUnivariatePolynomial(GF) +--R degree : % -> OnePointCompletion(PositiveInteger) --R differentiate : (%,NonNegativeInteger) -> % if GF has FINITE --R differentiate : % -> % if GF has FINITE --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if GF has CHARNZ or GF has FINITE --R discreteLog : % -> NonNegativeInteger if GF 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 GF has FINITE ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if GF has FINITE +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R generator : () -> % if GF has FINITE ---R getZechTable : () -> PrimitiveArray SingleInteger +--R getZechTable : () -> PrimitiveArray(SingleInteger) --R index : PositiveInteger -> % if GF has FINITE --R init : () -> % if GF has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial GF) -> % if GF has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial GF,"failed") if GF has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial GF if GF has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial GF if GF has FINITE +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(GF)) -> % if GF has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(GF),"failed") if GF has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(GF) if GF has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(GF) if GF has FINITE --R lookup : % -> PositiveInteger if GF has FINITE ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if GF has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial GF ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if GF has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(GF) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R nextItem : % -> Union(%,"failed") if GF has FINITE --R norm : (%,PositiveInteger) -> % if GF has FINITE --R normal? : % -> Boolean if GF has FINITE --R normalElement : () -> % if GF has FINITE ---R order : % -> OnePointCompletion PositiveInteger if GF has CHARNZ or GF has FINITE +--R order : % -> OnePointCompletion(PositiveInteger) if GF has CHARNZ or GF has FINITE --R order : % -> PositiveInteger if GF has FINITE --R primeFrobenius : % -> % if GF has CHARNZ or GF has FINITE --R primeFrobenius : (%,NonNegativeInteger) -> % if GF has CHARNZ or GF has FINITE --R primitive? : % -> Boolean if GF has FINITE --R primitiveElement : () -> % if GF has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R random : () -> % if GF has FINITE --R representationType : () -> Union("prime",polynomial,normal,cyclic) if GF has FINITE --R retractIfCan : % -> Union(GF,"failed") @@ -39638,6 +39748,7 @@ FiniteFieldCyclicGroupExtensionByPolynomial(GF,defpol):_ --S 1 of 1 )show FiniteFieldExtension +--R --R FiniteFieldExtension(GF: FiniteFieldCategory,n: PositiveInteger) is a domain constructor --R Abbreviation for FiniteFieldExtension is FFX --R This constructor is not exposed in this frame. @@ -39645,7 +39756,7 @@ FiniteFieldCyclicGroupExtensionByPolynomial(GF,defpol):_ --R --R------------------------------- Operations -------------------------------- --R ?*? : (GF,%) -> % ?*? : (%,GF) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -39655,21 +39766,21 @@ FiniteFieldCyclicGroupExtensionByPolynomial(GF,defpol):_ --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R algebraic? : % -> Boolean associates? : (%,%) -> Boolean ---R basis : () -> Vector % coerce : GF -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R basis : () -> Vector(%) coerce : GF -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R coordinates : % -> Vector GF degree : % -> PositiveInteger ---R dimension : () -> CardinalNumber factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R coordinates : % -> Vector(GF) 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 : % -> GF one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R represents : Vector GF -> % retract : % -> GF +--R represents : Vector(GF) -> % retract : % -> GF --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R trace : % -> GF transcendent? : % -> Boolean --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean @@ -39679,52 +39790,52 @@ FiniteFieldCyclicGroupExtensionByPolynomial(GF,defpol):_ --R Frobenius : (%,NonNegativeInteger) -> % if GF has FINITE --R Frobenius : % -> % if GF has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if GF has CHARNZ or GF has FINITE --R charthRoot : % -> % if GF has FINITE ---R conditionP : Matrix % -> Union(Vector %,"failed") if GF has FINITE ---R coordinates : Vector % -> Matrix GF +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if GF has FINITE +--R coordinates : Vector(%) -> Matrix(GF) --R createNormalElement : () -> % if GF has FINITE --R createPrimitiveElement : () -> % if GF has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial GF ---R degree : % -> OnePointCompletion PositiveInteger +--R definingPolynomial : () -> SparseUnivariatePolynomial(GF) +--R degree : % -> OnePointCompletion(PositiveInteger) --R differentiate : (%,NonNegativeInteger) -> % if GF has FINITE --R differentiate : % -> % if GF has FINITE --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if GF has CHARNZ or GF has FINITE --R discreteLog : % -> NonNegativeInteger if GF 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 GF has FINITE ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if GF has FINITE +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R generator : () -> % if GF has FINITE --R index : PositiveInteger -> % if GF has FINITE --R init : () -> % if GF has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial GF) -> % if GF has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial GF,"failed") if GF has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial GF if GF has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial GF if GF has FINITE +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(GF)) -> % if GF has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(GF),"failed") if GF has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(GF) if GF has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(GF) if GF has FINITE --R lookup : % -> PositiveInteger if GF has FINITE ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if GF has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial GF ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if GF has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(GF) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R nextItem : % -> Union(%,"failed") if GF has FINITE --R norm : (%,PositiveInteger) -> % if GF has FINITE --R normal? : % -> Boolean if GF has FINITE --R normalElement : () -> % if GF has FINITE ---R order : % -> OnePointCompletion PositiveInteger if GF has CHARNZ or GF has FINITE +--R order : % -> OnePointCompletion(PositiveInteger) if GF has CHARNZ or GF has FINITE --R order : % -> PositiveInteger if GF has FINITE --R primeFrobenius : % -> % if GF has CHARNZ or GF has FINITE --R primeFrobenius : (%,NonNegativeInteger) -> % if GF has CHARNZ or GF has FINITE --R primitive? : % -> Boolean if GF has FINITE --R primitiveElement : () -> % if GF has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R random : () -> % if GF has FINITE --R representationType : () -> Union("prime",polynomial,normal,cyclic) if GF has FINITE --R retractIfCan : % -> Union(GF,"failed") @@ -39901,14 +40012,15 @@ FiniteFieldExtension(GF, n): Exports == Implementation where --S 1 of 1 )show FiniteFieldExtensionByPolynomial ---R FiniteFieldExtensionByPolynomial(GF: FiniteFieldCategory,defpol: SparseUnivariatePolynomial GF) is a domain constructor +--R +--R FiniteFieldExtensionByPolynomial(GF: FiniteFieldCategory,defpol: SparseUnivariatePolynomial(GF)) is a domain constructor --R Abbreviation for FiniteFieldExtensionByPolynomial is FFP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FFP --R --R------------------------------- Operations -------------------------------- --R ?*? : (GF,%) -> % ?*? : (%,GF) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -39918,21 +40030,21 @@ FiniteFieldExtension(GF, n): Exports == Implementation where --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R algebraic? : % -> Boolean associates? : (%,%) -> Boolean ---R basis : () -> Vector % coerce : GF -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R basis : () -> Vector(%) coerce : GF -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R coordinates : % -> Vector GF degree : % -> PositiveInteger ---R dimension : () -> CardinalNumber factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R coordinates : % -> Vector(GF) 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 : % -> GF one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R represents : Vector GF -> % retract : % -> GF +--R represents : Vector(GF) -> % retract : % -> GF --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R trace : % -> GF transcendent? : % -> Boolean --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean @@ -39942,52 +40054,52 @@ FiniteFieldExtension(GF, n): Exports == Implementation where --R Frobenius : (%,NonNegativeInteger) -> % if GF has FINITE --R Frobenius : % -> % if GF has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if GF has CHARNZ or GF has FINITE --R charthRoot : % -> % if GF has FINITE ---R conditionP : Matrix % -> Union(Vector %,"failed") if GF has FINITE ---R coordinates : Vector % -> Matrix GF +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if GF has FINITE +--R coordinates : Vector(%) -> Matrix(GF) --R createNormalElement : () -> % if GF has FINITE --R createPrimitiveElement : () -> % if GF has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial GF ---R degree : % -> OnePointCompletion PositiveInteger +--R definingPolynomial : () -> SparseUnivariatePolynomial(GF) +--R degree : % -> OnePointCompletion(PositiveInteger) --R differentiate : (%,NonNegativeInteger) -> % if GF has FINITE --R differentiate : % -> % if GF has FINITE --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if GF has CHARNZ or GF has FINITE --R discreteLog : % -> NonNegativeInteger if GF 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 GF has FINITE ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if GF has FINITE +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R generator : () -> % if GF has FINITE --R index : PositiveInteger -> % if GF has FINITE --R init : () -> % if GF has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial GF) -> % if GF has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial GF,"failed") if GF has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial GF if GF has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial GF if GF has FINITE +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(GF)) -> % if GF has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(GF),"failed") if GF has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(GF) if GF has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(GF) if GF has FINITE --R lookup : % -> PositiveInteger if GF has FINITE ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if GF has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial GF ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if GF has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(GF) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R nextItem : % -> Union(%,"failed") if GF has FINITE --R norm : (%,PositiveInteger) -> % if GF has FINITE --R normal? : % -> Boolean if GF has FINITE --R normalElement : () -> % if GF has FINITE ---R order : % -> OnePointCompletion PositiveInteger if GF has CHARNZ or GF has FINITE +--R order : % -> OnePointCompletion(PositiveInteger) if GF has CHARNZ or GF has FINITE --R order : % -> PositiveInteger if GF has FINITE --R primeFrobenius : % -> % if GF has CHARNZ or GF has FINITE --R primeFrobenius : (%,NonNegativeInteger) -> % if GF has CHARNZ or GF has FINITE --R primitive? : % -> Boolean if GF has FINITE --R primitiveElement : () -> % if GF has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R random : () -> % if GF has FINITE --R representationType : () -> Union("prime",polynomial,normal,cyclic) if GF has FINITE --R retractIfCan : % -> Union(GF,"failed") @@ -40362,105 +40474,106 @@ FiniteFieldExtensionByPolynomial(GF:FiniteFieldCategory,_ --S 1 of 1 )show FiniteFieldNormalBasis +--R --R FiniteFieldNormalBasis(p: PositiveInteger,extdeg: PositiveInteger) is a domain constructor --R Abbreviation for FiniteFieldNormalBasis is FFNB --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FFNB --R --R------------------------------- Operations -------------------------------- ---R ?*? : (PrimeField p,%) -> % ?*? : (%,PrimeField p) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (PrimeField(p),%) -> % ?*? : (%,PrimeField(p)) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % --R ?-? : (%,%) -> % -? : % -> % ---R ?/? : (%,PrimeField p) -> % ?/? : (%,%) -> % +--R ?/? : (%,PrimeField(p)) -> % ?/? : (%,%) -> % --R ?=? : (%,%) -> Boolean 1 : () -> % --R 0 : () -> % ?^? : (%,Integer) -> % --R ?^? : (%,PositiveInteger) -> % algebraic? : % -> Boolean ---R associates? : (%,%) -> Boolean basis : () -> Vector % ---R coerce : PrimeField p -> % coerce : Fraction Integer -> % +--R associates? : (%,%) -> Boolean basis : () -> Vector(%) +--R coerce : PrimeField(p) -> % coerce : Fraction(Integer) -> % --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm degree : % -> PositiveInteger ---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 norm : % -> PrimeField p one? : % -> Boolean +--R lcm : List(%) -> % lcm : (%,%) -> % +--R norm : % -> PrimeField(p) one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R retract : % -> PrimeField p sample : () -> % ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % ---R squareFreePart : % -> % trace : % -> PrimeField p +--R retract : % -> PrimeField(p) sample : () -> % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) +--R squareFreePart : % -> % trace : % -> PrimeField(p) --R transcendent? : % -> Boolean unit? : % -> Boolean --R unitCanonical : % -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % ---R D : (%,NonNegativeInteger) -> % if PrimeField p has FINITE ---R D : % -> % if PrimeField p has FINITE ---R Frobenius : (%,NonNegativeInteger) -> % if PrimeField p has FINITE ---R Frobenius : % -> % if PrimeField p has FINITE +--R D : (%,NonNegativeInteger) -> % if PrimeField(p) has FINITE +--R D : % -> % if PrimeField(p) has FINITE +--R Frobenius : (%,NonNegativeInteger) -> % if PrimeField(p) has FINITE +--R Frobenius : % -> % if PrimeField(p) has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger ---R charthRoot : % -> Union(%,"failed") if PrimeField p has CHARNZ or PrimeField p has FINITE ---R charthRoot : % -> % if PrimeField p has FINITE ---R conditionP : Matrix % -> Union(Vector %,"failed") if PrimeField p has FINITE ---R coordinates : Vector % -> Matrix PrimeField p ---R coordinates : % -> Vector PrimeField p ---R createNormalElement : () -> % if PrimeField p has FINITE ---R createPrimitiveElement : () -> % if PrimeField p has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial PrimeField p ---R degree : % -> OnePointCompletion PositiveInteger ---R differentiate : (%,NonNegativeInteger) -> % if PrimeField p has FINITE ---R differentiate : % -> % if PrimeField p has FINITE ---R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if PrimeField p has CHARNZ or PrimeField p has FINITE ---R discreteLog : % -> NonNegativeInteger if PrimeField p has FINITE +--R charthRoot : % -> Union(%,"failed") if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R charthRoot : % -> % if PrimeField(p) has FINITE +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if PrimeField(p) has FINITE +--R coordinates : Vector(%) -> Matrix(PrimeField(p)) +--R coordinates : % -> Vector(PrimeField(p)) +--R createNormalElement : () -> % if PrimeField(p) has FINITE +--R createPrimitiveElement : () -> % if PrimeField(p) has FINITE +--R definingPolynomial : () -> SparseUnivariatePolynomial(PrimeField(p)) +--R degree : % -> OnePointCompletion(PositiveInteger) +--R differentiate : (%,NonNegativeInteger) -> % if PrimeField(p) has FINITE +--R differentiate : % -> % if PrimeField(p) has FINITE +--R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R discreteLog : % -> NonNegativeInteger if PrimeField(p) 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 PrimeField p has FINITE ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R generator : () -> % if PrimeField p has FINITE ---R getMultiplicationMatrix : () -> Matrix PrimeField p ---R getMultiplicationTable : () -> Vector List Record(value: PrimeField p,index: SingleInteger) ---R index : PositiveInteger -> % if PrimeField p has FINITE ---R init : () -> % if PrimeField p has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial PrimeField p) -> % if PrimeField p has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial PrimeField p,"failed") if PrimeField p has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial PrimeField p if PrimeField p has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial PrimeField p if PrimeField p has FINITE ---R lookup : % -> PositiveInteger if PrimeField p has FINITE ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if PrimeField p has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial PrimeField p ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R nextItem : % -> Union(%,"failed") if PrimeField p has FINITE ---R norm : (%,PositiveInteger) -> % if PrimeField p has FINITE ---R normal? : % -> Boolean if PrimeField p has FINITE ---R normalElement : () -> % if PrimeField p has FINITE ---R order : % -> OnePointCompletion PositiveInteger if PrimeField p has CHARNZ or PrimeField p has FINITE ---R order : % -> PositiveInteger if PrimeField p has FINITE ---R primeFrobenius : % -> % if PrimeField p has CHARNZ or PrimeField p has FINITE ---R primeFrobenius : (%,NonNegativeInteger) -> % if PrimeField p has CHARNZ or PrimeField p has FINITE ---R primitive? : % -> Boolean if PrimeField p has FINITE ---R primitiveElement : () -> % if PrimeField p has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R random : () -> % if PrimeField p has FINITE ---R representationType : () -> Union("prime",polynomial,normal,cyclic) if PrimeField p has FINITE ---R represents : Vector PrimeField p -> % ---R retractIfCan : % -> Union(PrimeField p,"failed") ---R size : () -> NonNegativeInteger if PrimeField p has FINITE +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if PrimeField(p) has FINITE +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R generator : () -> % if PrimeField(p) has FINITE +--R getMultiplicationMatrix : () -> Matrix(PrimeField(p)) +--R getMultiplicationTable : () -> Vector(List(Record(value: PrimeField(p),index: SingleInteger))) +--R index : PositiveInteger -> % if PrimeField(p) has FINITE +--R init : () -> % if PrimeField(p) has FINITE +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(PrimeField(p))) -> % if PrimeField(p) has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(PrimeField(p)),"failed") if PrimeField(p) has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(PrimeField(p)) if PrimeField(p) has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(PrimeField(p)) if PrimeField(p) has FINITE +--R lookup : % -> PositiveInteger if PrimeField(p) has FINITE +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if PrimeField(p) has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(PrimeField(p)) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R nextItem : % -> Union(%,"failed") if PrimeField(p) has FINITE +--R norm : (%,PositiveInteger) -> % if PrimeField(p) has FINITE +--R normal? : % -> Boolean if PrimeField(p) has FINITE +--R normalElement : () -> % if PrimeField(p) has FINITE +--R order : % -> OnePointCompletion(PositiveInteger) if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R order : % -> PositiveInteger if PrimeField(p) has FINITE +--R primeFrobenius : % -> % if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R primeFrobenius : (%,NonNegativeInteger) -> % if PrimeField(p) has CHARNZ or PrimeField(p) has FINITE +--R primitive? : % -> Boolean if PrimeField(p) has FINITE +--R primitiveElement : () -> % if PrimeField(p) has FINITE +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R random : () -> % if PrimeField(p) has FINITE +--R representationType : () -> Union("prime",polynomial,normal,cyclic) if PrimeField(p) has FINITE +--R represents : Vector(PrimeField(p)) -> % +--R retractIfCan : % -> Union(PrimeField(p),"failed") +--R size : () -> NonNegativeInteger if PrimeField(p) has FINITE --R sizeMultiplication : () -> NonNegativeInteger --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if PrimeField p has FINITE ---R trace : (%,PositiveInteger) -> % if PrimeField p has FINITE +--R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if PrimeField(p) has FINITE +--R trace : (%,PositiveInteger) -> % if PrimeField(p) has FINITE --R transcendenceDegree : () -> NonNegativeInteger --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -40646,6 +40759,7 @@ FiniteFieldNormalBasis(p,extdeg):_ --S 1 of 1 )show FiniteFieldNormalBasisExtension +--R --R FiniteFieldNormalBasisExtension(GF: FiniteFieldCategory,extdeg: PositiveInteger) is a domain constructor --R Abbreviation for FiniteFieldNormalBasisExtension is FFNBX --R This constructor is not exposed in this frame. @@ -40653,7 +40767,7 @@ FiniteFieldNormalBasis(p,extdeg):_ --R --R------------------------------- Operations -------------------------------- --R ?*? : (GF,%) -> % ?*? : (%,GF) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -40663,21 +40777,21 @@ FiniteFieldNormalBasis(p,extdeg):_ --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R algebraic? : % -> Boolean associates? : (%,%) -> Boolean ---R basis : () -> Vector % coerce : GF -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R basis : () -> Vector(%) coerce : GF -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R coordinates : % -> Vector GF degree : % -> PositiveInteger ---R dimension : () -> CardinalNumber factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R coordinates : % -> Vector(GF) 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 : % -> GF one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R represents : Vector GF -> % retract : % -> GF +--R represents : Vector(GF) -> % retract : % -> GF --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R trace : % -> GF transcendent? : % -> Boolean --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean @@ -40687,54 +40801,54 @@ FiniteFieldNormalBasis(p,extdeg):_ --R Frobenius : (%,NonNegativeInteger) -> % if GF has FINITE --R Frobenius : % -> % if GF has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if GF has CHARNZ or GF has FINITE --R charthRoot : % -> % if GF has FINITE ---R conditionP : Matrix % -> Union(Vector %,"failed") if GF has FINITE ---R coordinates : Vector % -> Matrix GF +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if GF has FINITE +--R coordinates : Vector(%) -> Matrix(GF) --R createNormalElement : () -> % if GF has FINITE --R createPrimitiveElement : () -> % if GF has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial GF ---R degree : % -> OnePointCompletion PositiveInteger +--R definingPolynomial : () -> SparseUnivariatePolynomial(GF) +--R degree : % -> OnePointCompletion(PositiveInteger) --R differentiate : (%,NonNegativeInteger) -> % if GF has FINITE --R differentiate : % -> % if GF has FINITE --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if GF has CHARNZ or GF has FINITE --R discreteLog : % -> NonNegativeInteger if GF 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 GF has FINITE ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if GF has FINITE +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R generator : () -> % if GF has FINITE ---R getMultiplicationMatrix : () -> Matrix GF ---R getMultiplicationTable : () -> Vector List Record(value: GF,index: SingleInteger) +--R getMultiplicationMatrix : () -> Matrix(GF) +--R getMultiplicationTable : () -> Vector(List(Record(value: GF,index: SingleInteger))) --R index : PositiveInteger -> % if GF has FINITE --R init : () -> % if GF has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial GF) -> % if GF has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial GF,"failed") if GF has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial GF if GF has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial GF if GF has FINITE +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(GF)) -> % if GF has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(GF),"failed") if GF has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(GF) if GF has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(GF) if GF has FINITE --R lookup : % -> PositiveInteger if GF has FINITE ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if GF has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial GF ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if GF has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(GF) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R nextItem : % -> Union(%,"failed") if GF has FINITE --R norm : (%,PositiveInteger) -> % if GF has FINITE --R normal? : % -> Boolean if GF has FINITE --R normalElement : () -> % if GF has FINITE ---R order : % -> OnePointCompletion PositiveInteger if GF has CHARNZ or GF has FINITE +--R order : % -> OnePointCompletion(PositiveInteger) if GF has CHARNZ or GF has FINITE --R order : % -> PositiveInteger if GF has FINITE --R primeFrobenius : % -> % if GF has CHARNZ or GF has FINITE --R primeFrobenius : (%,NonNegativeInteger) -> % if GF has CHARNZ or GF has FINITE --R primitive? : % -> Boolean if GF has FINITE --R primitiveElement : () -> % if GF has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R random : () -> % if GF has FINITE --R representationType : () -> Union("prime",polynomial,normal,cyclic) if GF has FINITE --R retractIfCan : % -> Union(GF,"failed") @@ -40928,14 +41042,15 @@ FiniteFieldNormalBasisExtension(GF,extdeg):_ --S 1 of 1 )show FiniteFieldNormalBasisExtensionByPolynomial ---R FiniteFieldNormalBasisExtensionByPolynomial(GF: FiniteFieldCategory,uni: Union(SparseUnivariatePolynomial GF,Vector List Record(value: GF,index: SingleInteger))) is a domain constructor +--R +--R FiniteFieldNormalBasisExtensionByPolynomial(GF: FiniteFieldCategory,uni: Union(SparseUnivariatePolynomial(GF),Vector(List(Record(value: GF,index: SingleInteger))))) is a domain constructor --R Abbreviation for FiniteFieldNormalBasisExtensionByPolynomial is FFNBP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FFNBP --R --R------------------------------- Operations -------------------------------- --R ?*? : (GF,%) -> % ?*? : (%,GF) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -40945,21 +41060,21 @@ FiniteFieldNormalBasisExtension(GF,extdeg):_ --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R algebraic? : % -> Boolean associates? : (%,%) -> Boolean ---R basis : () -> Vector % coerce : GF -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R basis : () -> Vector(%) coerce : GF -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R coordinates : % -> Vector GF degree : % -> PositiveInteger ---R dimension : () -> CardinalNumber factor : % -> Factored % ---R gcd : List % -> % gcd : (%,%) -> % +--R coordinates : % -> Vector(GF) 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 : % -> GF one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R represents : Vector GF -> % retract : % -> GF +--R represents : Vector(GF) -> % retract : % -> GF --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R trace : % -> GF transcendent? : % -> Boolean --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean @@ -40969,54 +41084,54 @@ FiniteFieldNormalBasisExtension(GF,extdeg):_ --R Frobenius : (%,NonNegativeInteger) -> % if GF has FINITE --R Frobenius : % -> % if GF has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if GF has CHARNZ or GF has FINITE --R charthRoot : % -> % if GF has FINITE ---R conditionP : Matrix % -> Union(Vector %,"failed") if GF has FINITE ---R coordinates : Vector % -> Matrix GF +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if GF has FINITE +--R coordinates : Vector(%) -> Matrix(GF) --R createNormalElement : () -> % if GF has FINITE --R createPrimitiveElement : () -> % if GF has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial GF ---R degree : % -> OnePointCompletion PositiveInteger +--R definingPolynomial : () -> SparseUnivariatePolynomial(GF) +--R degree : % -> OnePointCompletion(PositiveInteger) --R differentiate : (%,NonNegativeInteger) -> % if GF has FINITE --R differentiate : % -> % if GF has FINITE --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if GF has CHARNZ or GF has FINITE --R discreteLog : % -> NonNegativeInteger if GF 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 GF has FINITE ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if GF has FINITE +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R generator : () -> % if GF has FINITE ---R getMultiplicationMatrix : () -> Matrix GF ---R getMultiplicationTable : () -> Vector List Record(value: GF,index: SingleInteger) +--R getMultiplicationMatrix : () -> Matrix(GF) +--R getMultiplicationTable : () -> Vector(List(Record(value: GF,index: SingleInteger))) --R index : PositiveInteger -> % if GF has FINITE --R init : () -> % if GF has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial GF) -> % if GF has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial GF,"failed") if GF has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial GF if GF has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial GF if GF has FINITE +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(GF)) -> % if GF has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(GF),"failed") if GF has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(GF) if GF has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(GF) if GF has FINITE --R lookup : % -> PositiveInteger if GF has FINITE ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if GF has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial GF ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if GF has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(GF) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R nextItem : % -> Union(%,"failed") if GF has FINITE --R norm : (%,PositiveInteger) -> % if GF has FINITE --R normal? : % -> Boolean if GF has FINITE --R normalElement : () -> % if GF has FINITE ---R order : % -> OnePointCompletion PositiveInteger if GF has CHARNZ or GF has FINITE +--R order : % -> OnePointCompletion(PositiveInteger) if GF has CHARNZ or GF has FINITE --R order : % -> PositiveInteger if GF has FINITE --R primeFrobenius : % -> % if GF has CHARNZ or GF has FINITE --R primeFrobenius : (%,NonNegativeInteger) -> % if GF has CHARNZ or GF has FINITE --R primitive? : % -> Boolean if GF has FINITE --R primitiveElement : () -> % if GF has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R random : () -> % if GF has FINITE --R representationType : () -> Union("prime",polynomial,normal,cyclic) if GF has FINITE --R retractIfCan : % -> Union(GF,"failed") @@ -41522,7 +41637,7 @@ flexibleArray [i for i in 1..6] --R --R --R (1) [1,2,3,4,5,6] ---R Type: FlexibleArray PositiveInteger +--R Type: FlexibleArray(PositiveInteger) --E 1 --S 2 of 16 @@ -41530,7 +41645,7 @@ f : FARRAY INT := new(6,0) --R --R --R (2) [0,0,0,0,0,0] ---R Type: FlexibleArray Integer +--R Type: FlexibleArray(Integer) --E 2 --S 3 of 16 @@ -41538,7 +41653,7 @@ for i in 1..6 repeat f.i := i; f --R --R --R (3) [1,2,3,4,5,6] ---R Type: FlexibleArray Integer +--R Type: FlexibleArray(Integer) --E 3 --S 4 of 16 @@ -41554,7 +41669,7 @@ concat!(f,11) --R --R --R (5) [1,2,3,4,5,6,11] ---R Type: FlexibleArray Integer +--R Type: FlexibleArray(Integer) --E 5 --S 6 of 16 @@ -41570,7 +41685,7 @@ physicalLength!(f,15) --R --R --R (7) [1,2,3,4,5,6,11] ---R Type: FlexibleArray Integer +--R Type: FlexibleArray(Integer) --E 7 --S 8 of 16 @@ -41578,7 +41693,7 @@ concat!(f,f) --R --R --R (8) [1,2,3,4,5,6,11,1,2,3,4,5,6,11] ---R Type: FlexibleArray Integer +--R Type: FlexibleArray(Integer) --E 8 --S 9 of 16 @@ -41586,7 +41701,7 @@ insert!(22,f,1) --R --R --R (9) [22,1,2,3,4,5,6,11,1,2,3,4,5,6,11] ---R Type: FlexibleArray Integer +--R Type: FlexibleArray(Integer) --E 9 --S 10 of 16 @@ -41594,7 +41709,7 @@ g := f(10..) --R --R --R (10) [2,3,4,5,6,11] ---R Type: FlexibleArray Integer +--R Type: FlexibleArray(Integer) --E 10 --S 11 of 16 @@ -41602,7 +41717,7 @@ insert!(g,f,1) --R --R --R (11) [2,3,4,5,6,11,22,1,2,3,4,5,6,11,1,2,3,4,5,6,11] ---R Type: FlexibleArray Integer +--R Type: FlexibleArray(Integer) --E 11 --S 12 of 16 @@ -41610,7 +41725,7 @@ merge!(sort! f, sort! g) --R --R --R (12) [1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,11,11,11,11,22] ---R Type: FlexibleArray Integer +--R Type: FlexibleArray(Integer) --E 12 --S 13 of 16 @@ -41618,7 +41733,7 @@ removeDuplicates! f --R --R --R (13) [1,2,3,4,5,6,11,22] ---R Type: FlexibleArray Integer +--R Type: FlexibleArray(Integer) --E 13 --S 14 of 16 @@ -41626,7 +41741,7 @@ select!(i +-> even? i,f) --R --R --R (14) [2,4,6,22] ---R Type: FlexibleArray Integer +--R Type: FlexibleArray(Integer) --E 14 --S 15 of 16 @@ -41972,7 +42087,7 @@ i :: Fraction Integer --R --R --R (6) 3 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 6 --S 7 of 64 @@ -41990,7 +42105,7 @@ r :: Fraction Integer --R 3 --R (8) - --R 7 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 8 --S 9 of 64 @@ -42204,7 +42319,7 @@ a: Matrix Fraction Integer := matrix [ [1/(i+j+1) for j in 0..9] for i in 0..9] --R | 1 1 1 1 1 1 1 1 1 1| --R |-- -- -- -- -- -- -- -- -- --| --R +10 11 12 13 14 15 16 17 18 19+ ---R Type: Matrix Fraction Integer +--R Type: Matrix(Fraction(Integer)) --E 29 --S 30 of 64 @@ -42214,7 +42329,7 @@ d:= determinant a --R 1 --R (29) ----------------------------------------------------- --R 46206893947914691316295628839036278726983680000000000 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 30 --S 31 of 64 @@ -42282,7 +42397,7 @@ b: Matrix DoubleFloat := matrix [ [1/(i+j+1$DoubleFloat) for j in 0..9] for i in --R 6.25E-2, 5.8823529411764705E-2, 5.5555555555555552E-2, --R 5.2631578947368418E-2] --R ] ---R Type: Matrix DoubleFloat +--R Type: Matrix(DoubleFloat) --E 32 --S 33 of 64 @@ -42392,7 +42507,7 @@ c: Matrix Float := matrix [ [1/(i+j+1$Float) for j in 0..9] for i in 0..9] --R 0.05555 55555 55555 55555 55555 55555 55555 55555 6, --R 0.05263 15789 47368 42105 26315 78947 36842 10526 3] --R ] ---R Type: Matrix Float +--R Type: Matrix(Float) --E 35 --S 36 of 64 @@ -44058,6 +44173,7 @@ Float(): --S 1 of 1 )show FortranCode +--R --R FortranCode is a domain constructor --R Abbreviation for FortranCode is FC --R This constructor is exposed in this frame. @@ -44065,57 +44181,58 @@ Float(): --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean assign : (Symbol,String) -> % ---R block : List % -> % call : String -> % ---R coerce : % -> OutputForm comment : List String -> % +--R block : List(%) -> % call : String -> % +--R coerce : % -> OutputForm comment : List(String) -> % --R comment : String -> % cond : (Switch,%,%) -> % --R cond : (Switch,%) -> % continue : SingleInteger -> % --R getCode : % -> SExpression goto : SingleInteger -> % --R hash : % -> SingleInteger latex : % -> String ---R printCode : % -> Void returns : Expression Integer -> % ---R returns : Expression Float -> % returns : () -> % ---R save : () -> % stop : () -> % ---R whileLoop : (Switch,%) -> % ?~=? : (%,%) -> Boolean ---R assign : (Symbol,List Polynomial Integer,Expression Complex Float) -> % ---R assign : (Symbol,List Polynomial Integer,Expression Float) -> % ---R assign : (Symbol,List Polynomial Integer,Expression Integer) -> % ---R assign : (Symbol,Vector Expression Complex Float) -> % ---R assign : (Symbol,Vector Expression Float) -> % ---R assign : (Symbol,Vector Expression Integer) -> % ---R assign : (Symbol,Matrix Expression Complex Float) -> % ---R assign : (Symbol,Matrix Expression Float) -> % ---R assign : (Symbol,Matrix Expression Integer) -> % ---R assign : (Symbol,Expression Complex Float) -> % ---R assign : (Symbol,Expression Float) -> % ---R assign : (Symbol,Expression Integer) -> % ---R assign : (Symbol,List Polynomial Integer,Expression MachineComplex) -> % ---R assign : (Symbol,List Polynomial Integer,Expression MachineFloat) -> % ---R assign : (Symbol,List Polynomial Integer,Expression MachineInteger) -> % ---R assign : (Symbol,Vector Expression MachineComplex) -> % ---R assign : (Symbol,Vector Expression MachineFloat) -> % ---R assign : (Symbol,Vector Expression MachineInteger) -> % ---R assign : (Symbol,Matrix Expression MachineComplex) -> % ---R assign : (Symbol,Matrix Expression MachineFloat) -> % ---R assign : (Symbol,Matrix Expression MachineInteger) -> % ---R assign : (Symbol,Vector MachineComplex) -> % ---R assign : (Symbol,Vector MachineFloat) -> % ---R assign : (Symbol,Vector MachineInteger) -> % ---R assign : (Symbol,Matrix MachineComplex) -> % ---R assign : (Symbol,Matrix MachineFloat) -> % ---R assign : (Symbol,Matrix MachineInteger) -> % ---R assign : (Symbol,Expression MachineComplex) -> % ---R assign : (Symbol,Expression MachineFloat) -> % ---R assign : (Symbol,Expression MachineInteger) -> % ---R code : % -> Union(nullBranch: null,assignmentBranch: Record(var: Symbol,arrayIndex: List Polynomial Integer,rand: Record(ints2Floats?: Boolean,expr: OutputForm)),arrayAssignmentBranch: Record(var: Symbol,rand: OutputForm,ints2Floats?: Boolean),conditionalBranch: Record(switch: Switch,thenClause: %,elseClause: %),returnBranch: Record(empty?: Boolean,value: Record(ints2Floats?: Boolean,expr: OutputForm)),blockBranch: List %,commentBranch: List String,callBranch: String,forBranch: Record(range: SegmentBinding Polynomial Integer,span: Polynomial Integer,body: %),labelBranch: SingleInteger,loopBranch: Record(switch: Switch,body: %),commonBranch: Record(name: Symbol,contents: List Symbol),printBranch: List OutputForm) ---R common : (Symbol,List Symbol) -> % ---R forLoop : (SegmentBinding Polynomial Integer,Polynomial Integer,%) -> % ---R forLoop : (SegmentBinding Polynomial Integer,%) -> % +--R printCode : % -> Void returns : Expression(Float) -> % +--R returns : () -> % save : () -> % +--R stop : () -> % whileLoop : (Switch,%) -> % +--R ?~=? : (%,%) -> Boolean +--R assign : (Symbol,List(Polynomial(Integer)),Expression(Complex(Float))) -> % +--R assign : (Symbol,List(Polynomial(Integer)),Expression(Float)) -> % +--R assign : (Symbol,List(Polynomial(Integer)),Expression(Integer)) -> % +--R assign : (Symbol,Vector(Expression(Complex(Float)))) -> % +--R assign : (Symbol,Vector(Expression(Float))) -> % +--R assign : (Symbol,Vector(Expression(Integer))) -> % +--R assign : (Symbol,Matrix(Expression(Complex(Float)))) -> % +--R assign : (Symbol,Matrix(Expression(Float))) -> % +--R assign : (Symbol,Matrix(Expression(Integer))) -> % +--R assign : (Symbol,Expression(Complex(Float))) -> % +--R assign : (Symbol,Expression(Float)) -> % +--R assign : (Symbol,Expression(Integer)) -> % +--R assign : (Symbol,List(Polynomial(Integer)),Expression(MachineComplex)) -> % +--R assign : (Symbol,List(Polynomial(Integer)),Expression(MachineFloat)) -> % +--R assign : (Symbol,List(Polynomial(Integer)),Expression(MachineInteger)) -> % +--R assign : (Symbol,Vector(Expression(MachineComplex))) -> % +--R assign : (Symbol,Vector(Expression(MachineFloat))) -> % +--R assign : (Symbol,Vector(Expression(MachineInteger))) -> % +--R assign : (Symbol,Matrix(Expression(MachineComplex))) -> % +--R assign : (Symbol,Matrix(Expression(MachineFloat))) -> % +--R assign : (Symbol,Matrix(Expression(MachineInteger))) -> % +--R assign : (Symbol,Vector(MachineComplex)) -> % +--R assign : (Symbol,Vector(MachineFloat)) -> % +--R assign : (Symbol,Vector(MachineInteger)) -> % +--R assign : (Symbol,Matrix(MachineComplex)) -> % +--R assign : (Symbol,Matrix(MachineFloat)) -> % +--R assign : (Symbol,Matrix(MachineInteger)) -> % +--R assign : (Symbol,Expression(MachineComplex)) -> % +--R assign : (Symbol,Expression(MachineFloat)) -> % +--R assign : (Symbol,Expression(MachineInteger)) -> % +--R code : % -> Union(nullBranch: null,assignmentBranch: Record(var: Symbol,arrayIndex: List(Polynomial(Integer)),rand: Record(ints2Floats?: Boolean,expr: OutputForm)),arrayAssignmentBranch: Record(var: Symbol,rand: OutputForm,ints2Floats?: Boolean),conditionalBranch: Record(switch: Switch,thenClause: %,elseClause: %),returnBranch: Record(empty?: Boolean,value: Record(ints2Floats?: Boolean,expr: OutputForm)),blockBranch: List(%),commentBranch: List(String),callBranch: String,forBranch: Record(range: SegmentBinding(Polynomial(Integer)),span: Polynomial(Integer),body: %),labelBranch: SingleInteger,loopBranch: Record(switch: Switch,body: %),commonBranch: Record(name: Symbol,contents: List(Symbol)),printBranch: List(OutputForm)) +--R common : (Symbol,List(Symbol)) -> % +--R forLoop : (SegmentBinding(Polynomial(Integer)),Polynomial(Integer),%) -> % +--R forLoop : (SegmentBinding(Polynomial(Integer)),%) -> % --R operation : % -> Union(Null: null,Assignment: assignment,Conditional: conditional,Return: return,Block: block,Comment: comment,Call: call,For: for,While: while,Repeat: repeat,Goto: goto,Continue: continue,ArrayAssignment: arrayAssignment,Save: save,Stop: stop,Common: common,Print: print) ---R printStatement : List OutputForm -> % +--R printStatement : List(OutputForm) -> % --R repeatUntilLoop : (Switch,%) -> % ---R returns : Expression Complex Float -> % ---R returns : Expression MachineComplex -> % ---R returns : Expression MachineInteger -> % ---R returns : Expression MachineFloat -> % +--R returns : Expression(Complex(Float)) -> % +--R returns : Expression(Integer) -> % +--R returns : Expression(MachineComplex) -> % +--R returns : Expression(MachineInteger) -> % +--R returns : Expression(MachineFloat) -> % --R setLabelValue : SingleInteger -> SingleInteger --R --E 1 @@ -44784,7 +44901,8 @@ FortranCode(): public == private where --S 1 of 1 )show FortranExpression ---R FortranExpression(basicSymbols: List Symbol,subscriptedSymbols: List Symbol,R: FortranMachineTypeCategory) is a domain constructor +--R +--R FortranExpression(basicSymbols: List(Symbol),subscriptedSymbols: List(Symbol),R: FortranMachineTypeCategory) is a domain constructor --R Abbreviation for FortranExpression is FEXPR --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FEXPR @@ -44797,86 +44915,88 @@ FortranCode(): public == private where --R ?-? : (%,%) -> % ? Boolean --R ?<=? : (%,%) -> Boolean ?=? : (%,%) -> Boolean --R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean ---R D : (%,Symbol) -> % D : (%,List Symbol) -> % +--R D : (%,Symbol) -> % D : (%,List(Symbol)) -> % --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % abs : % -> % --R acos : % -> % asin : % -> % --R atan : % -> % belong? : BasicOperator -> Boolean ---R box : List % -> % box : % -> % ---R coerce : % -> Expression R coerce : Integer -> % ---R coerce : R -> % coerce : Kernel % -> % +--R box : List(%) -> % box : % -> % +--R coerce : % -> Expression(R) coerce : Integer -> % +--R coerce : R -> % coerce : Kernel(%) -> % --R coerce : % -> OutputForm cos : % -> % --R cosh : % -> % differentiate : (%,Symbol) -> % --R distribute : (%,%) -> % distribute : % -> % --R elt : (BasicOperator,%,%) -> % elt : (BasicOperator,%) -> % ---R eval : (%,List %,List %) -> % eval : (%,%,%) -> % ---R eval : (%,Equation %) -> % eval : (%,List Equation %) -> % ---R eval : (%,Kernel %,%) -> % exp : % -> % +--R eval : (%,%,%) -> % eval : (%,Equation(%)) -> % +--R eval : (%,Kernel(%),%) -> % exp : % -> % --R freeOf? : (%,Symbol) -> Boolean freeOf? : (%,%) -> Boolean --R hash : % -> SingleInteger height : % -> NonNegativeInteger --R is? : (%,Symbol) -> Boolean kernel : (BasicOperator,%) -> % ---R kernels : % -> List Kernel % latex : % -> String +--R kernels : % -> List(Kernel(%)) latex : % -> String --R log : % -> % log10 : % -> % ---R map : ((% -> %),Kernel %) -> % max : (%,%) -> % ---R min : (%,%) -> % one? : % -> Boolean ---R paren : List % -> % paren : % -> % ---R pi : () -> % recip : % -> Union(%,"failed") ---R retract : Symbol -> % retract : Expression R -> % ---R retract : % -> R retract : % -> Kernel % ---R sample : () -> % sin : % -> % ---R sinh : % -> % sqrt : % -> % ---R subst : (%,Equation %) -> % tan : % -> % ---R tanh : % -> % tower : % -> List Kernel % ---R useNagFunctions : () -> Boolean variables : % -> List Symbol ---R zero? : % -> Boolean ?~=? : (%,%) -> Boolean +--R max : (%,%) -> % min : (%,%) -> % +--R one? : % -> Boolean paren : List(%) -> % +--R paren : % -> % pi : () -> % +--R recip : % -> Union(%,"failed") retract : Symbol -> % +--R retract : Expression(R) -> % retract : % -> R +--R retract : % -> Kernel(%) sample : () -> % +--R sin : % -> % sinh : % -> % +--R sqrt : % -> % subst : (%,Equation(%)) -> % +--R tan : % -> % tanh : % -> % +--R tower : % -> List(Kernel(%)) useNagFunctions : () -> Boolean +--R variables : % -> List(Symbol) zero? : % -> Boolean +--R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R D : (%,Symbol,NonNegativeInteger) -> % ---R D : (%,List Symbol,List NonNegativeInteger) -> % +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R definingPolynomial : % -> % if $ has RING ---R differentiate : (%,List Symbol) -> % +--R differentiate : (%,List(Symbol)) -> % --R differentiate : (%,Symbol,NonNegativeInteger) -> % ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % ---R elt : (BasicOperator,List %) -> % +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % +--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 retract : Polynomial Float -> % if R has RETRACT FLOAT ---R retract : Fraction Polynomial Float -> % if R has RETRACT FLOAT ---R retract : Expression Float -> % if R has RETRACT FLOAT ---R retract : Polynomial Integer -> % if R has RETRACT INT ---R retract : Fraction Polynomial Integer -> % if R has RETRACT INT ---R retract : Expression Integer -> % if R has RETRACT INT ---R retractIfCan : Polynomial Float -> Union(%,"failed") if R has RETRACT FLOAT ---R retractIfCan : Fraction Polynomial Float -> Union(%,"failed") if R has RETRACT FLOAT ---R retractIfCan : Expression Float -> Union(%,"failed") if R has RETRACT FLOAT ---R retractIfCan : Polynomial Integer -> Union(%,"failed") if R has RETRACT INT ---R retractIfCan : Fraction Polynomial Integer -> Union(%,"failed") if R has RETRACT INT ---R retractIfCan : Expression Integer -> Union(%,"failed") if R has RETRACT INT +--R operators : % -> List(BasicOperator) +--R retract : Polynomial(Float) -> % if R has RETRACT(FLOAT) +--R retract : Fraction(Polynomial(Float)) -> % if R has RETRACT(FLOAT) +--R retract : Expression(Float) -> % if R has RETRACT(FLOAT) +--R retract : Polynomial(Integer) -> % if R has RETRACT(INT) +--R retract : Fraction(Polynomial(Integer)) -> % if R has RETRACT(INT) +--R retract : Expression(Integer) -> % if R has RETRACT(INT) +--R retractIfCan : Polynomial(Float) -> Union(%,"failed") if R has RETRACT(FLOAT) +--R retractIfCan : Fraction(Polynomial(Float)) -> Union(%,"failed") if R has RETRACT(FLOAT) +--R retractIfCan : Expression(Float) -> Union(%,"failed") if R has RETRACT(FLOAT) +--R retractIfCan : Polynomial(Integer) -> Union(%,"failed") if R has RETRACT(INT) +--R retractIfCan : Fraction(Polynomial(Integer)) -> Union(%,"failed") if R has RETRACT(INT) +--R retractIfCan : Expression(Integer) -> Union(%,"failed") if R has RETRACT(INT) --R retractIfCan : Symbol -> Union(%,"failed") ---R retractIfCan : Expression R -> Union(%,"failed") +--R retractIfCan : Expression(R) -> Union(%,"failed") --R retractIfCan : % -> Union(R,"failed") ---R retractIfCan : % -> Union(Kernel %,"failed") ---R subst : (%,List Kernel %,List %) -> % ---R subst : (%,List Equation %) -> % +--R retractIfCan : % -> Union(Kernel(%),"failed") +--R subst : (%,List(Kernel(%)),List(%)) -> % +--R subst : (%,List(Equation(%))) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") --R useNagFunctions : Boolean -> Boolean --R @@ -45342,26 +45462,27 @@ FortranExpression(basicSymbols,subscriptedSymbols,R): --S 1 of 1 )show FortranProgram ---R FortranProgram(name: Symbol,returnType: Union(fst: FortranScalarType,void: void),arguments: List Symbol,symbols: SymbolTable) is a domain constructor +--R +--R FortranProgram(name: Symbol,returnType: Union(fst: FortranScalarType,void: void),arguments: List(Symbol),symbols: SymbolTable) is a domain constructor --R Abbreviation for FortranProgram is FORTRAN --R This constructor is exposed in this frame. --R Issue )edit NIL to see algebra source code for FORTRAN --R --R------------------------------- Operations -------------------------------- ---R coerce : Expression Float -> % coerce : Expression Integer -> % ---R coerce : List FortranCode -> % coerce : FortranCode -> % +--R coerce : Expression(Float) -> % coerce : Expression(Integer) -> % +--R coerce : List(FortranCode) -> % coerce : FortranCode -> % --R coerce : % -> OutputForm outputAsFortran : % -> Void ---R coerce : Equation Expression Complex Float -> % ---R coerce : Equation Expression Float -> % ---R coerce : Equation Expression Integer -> % ---R coerce : Expression Complex Float -> % ---R coerce : Equation Expression MachineComplex -> % ---R coerce : Equation Expression MachineFloat -> % ---R coerce : Equation Expression MachineInteger -> % ---R coerce : Expression MachineComplex -> % ---R coerce : Expression MachineFloat -> % ---R coerce : Expression MachineInteger -> % ---R coerce : Record(localSymbols: SymbolTable,code: List FortranCode) -> % +--R coerce : Equation(Expression(Complex(Float))) -> % +--R coerce : Equation(Expression(Float)) -> % +--R coerce : Equation(Expression(Integer)) -> % +--R coerce : Expression(Complex(Float)) -> % +--R coerce : Equation(Expression(MachineComplex)) -> % +--R coerce : Equation(Expression(MachineFloat)) -> % +--R coerce : Equation(Expression(MachineInteger)) -> % +--R coerce : Expression(MachineComplex) -> % +--R coerce : Expression(MachineFloat) -> % +--R coerce : Expression(MachineInteger) -> % +--R coerce : Record(localSymbols: SymbolTable,code: List(FortranCode)) -> % --R --E 1 @@ -46039,6 +46160,7 @@ FortranTemplate() : specification == implementation where --S 1 of 1 )show FortranType +--R --R FortranType is a domain constructor --R Abbreviation for FortranType is FT --R This constructor is exposed in this frame. @@ -46052,9 +46174,9 @@ FortranTemplate() : specification == implementation where --R fortranInteger : () -> % fortranLogical : () -> % --R fortranReal : () -> % hash : % -> SingleInteger --R latex : % -> String ?~=? : (%,%) -> Boolean ---R construct : (Union(fst: FortranScalarType,void: void),List Polynomial Integer,Boolean) -> % ---R construct : (Union(fst: FortranScalarType,void: void),List Symbol,Boolean) -> % ---R dimensionsOf : % -> List Polynomial Integer +--R construct : (Union(fst: FortranScalarType,void: void),List(Polynomial(Integer)),Boolean) -> % +--R construct : (Union(fst: FortranScalarType,void: void),List(Symbol),Boolean) -> % +--R dimensionsOf : % -> List(Polynomial(Integer)) --R scalarTypeOf : % -> Union(fst: FortranScalarType,void: void) --R --E 1 @@ -46228,7 +46350,8 @@ FortranType() : exports == implementation where --S 1 of 1 )show FourierComponent ---R FourierComponent E: OrderedSet is a domain constructor +--R +--R FourierComponent(E: OrderedSet) is a domain constructor --R Abbreviation for FourierComponent is FCOMP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FCOMP @@ -46345,7 +46468,8 @@ FourierComponent(E:OrderedSet): --S 1 of 1 )show FourierSeries ---R FourierSeries(R: Join(CommutativeRing,Algebra Fraction Integer),E: Join(OrderedSet,AbelianGroup)) is a domain constructor +--R +--R FourierSeries(R: Join(CommutativeRing,Algebra(Fraction(Integer))),E: Join(OrderedSet,AbelianGroup)) is a domain constructor --R Abbreviation for FourierSeries is FSERIES --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FSERIES @@ -46357,7 +46481,7 @@ FourierComponent(E:OrderedSet): --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % ---R ?^? : (%,PositiveInteger) -> % coerce : FourierComponent E -> % +--R ?^? : (%,PositiveInteger) -> % coerce : FourierComponent(E) -> % --R coerce : R -> % coerce : Integer -> % --R coerce : % -> OutputForm hash : % -> SingleInteger --R latex : % -> String makeCos : (E,R) -> % @@ -46514,7 +46638,7 @@ a := 11/12 --R 11 --R (1) -- --R 12 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 1 --S 2 of 12 @@ -46524,7 +46648,7 @@ b := 23/24 --R 23 --R (2) -- --R 24 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 2 --S 3 of 12 @@ -46534,7 +46658,7 @@ b := 23/24 --R 313271 --R (3) ------ --R 76032 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 3 --S 4 of 12 @@ -46562,7 +46686,7 @@ r := (x**2 + 2*x + 1)/(x**2 - 2*x + 1) --R (6) ----------- --R 2 --R x - 2x + 1 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 6 --S 7 of 12 @@ -46574,7 +46698,7 @@ factor(r) --R (7) ----------- --R 2 --R x - 2x + 1 ---R Type: Factored Fraction Polynomial Integer +--R Type: Factored(Fraction(Polynomial(Integer))) --E 7 --S 8 of 12 @@ -46586,7 +46710,7 @@ map(factor,r) --R (8) -------- --R 2 --R (x - 1) ---R Type: Fraction Factored Polynomial Integer +--R Type: Fraction(Factored(Polynomial(Integer))) --E 8 --S 9 of 12 @@ -46596,7 +46720,7 @@ continuedFraction(7/12) --R 1 | 1 | 1 | 1 | --R (9) +---+ + +---+ + +---+ + +---+ --R | 1 | 1 | 2 | 2 ---R Type: ContinuedFraction Integer +--R Type: ContinuedFraction(Integer) --E 9 --S 10 of 12 @@ -46607,7 +46731,7 @@ partialFraction(7,12) --R (10) 1 - -- + - --R 2 3 --R 2 ---R Type: PartialFraction Integer +--R Type: PartialFraction(Integer) --E 10 --S 11 of 12 @@ -46617,7 +46741,7 @@ g := 2/3 + 4/5*%i --R 2 4 --R (11) - + - %i --R 3 5 ---R Type: Complex Fraction Integer +--R Type: Complex(Fraction(Integer)) --E 11 --S 12 of 12 @@ -46627,7 +46751,7 @@ g :: FRAC COMPLEX INT --R 10 + 12%i --R (12) --------- --R 15 ---R Type: Fraction Complex Integer +--R Type: Fraction(Complex(Integer)) --E 12 )spool @@ -47193,7 +47317,8 @@ Fraction(S: IntegralDomain): QuotientFieldCategory S with --S 1 of 1 )show FractionalIdeal ---R FractionalIdeal(R: EuclideanDomain,F: QuotientFieldCategory R,UP: UnivariatePolynomialCategory F,A: Join(FramedAlgebra(F,UP),RetractableTo F)) is a domain constructor +--R +--R FractionalIdeal(R: EuclideanDomain,F: QuotientFieldCategory(R),UP: UnivariatePolynomialCategory(F),A: Join(FramedAlgebra(F,UP),RetractableTo(F))) is a domain constructor --R Abbreviation for FractionalIdeal is FRIDEAL --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FRIDEAL @@ -47203,17 +47328,17 @@ Fraction(S: IntegralDomain): QuotientFieldCategory S with --R ?**? : (%,PositiveInteger) -> % ?/? : (%,%) -> % --R ?=? : (%,%) -> Boolean 1 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % ---R basis : % -> Vector A coerce : % -> OutputForm +--R basis : % -> Vector(A) coerce : % -> OutputForm --R commutator : (%,%) -> % conjugate : (%,%) -> % --R denom : % -> R hash : % -> SingleInteger ---R ideal : Vector A -> % inv : % -> % +--R ideal : Vector(A) -> % inv : % -> % --R latex : % -> String minimize : % -> % ---R norm : % -> F numer : % -> Vector A +--R norm : % -> F numer : % -> Vector(A) --R one? : % -> Boolean recip : % -> Union(%,"failed") --R sample : () -> % ?~=? : (%,%) -> Boolean --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % ---R randomLC : (NonNegativeInteger,Vector A) -> A +--R randomLC : (NonNegativeInteger,Vector(A)) -> A --R --E 1 @@ -47455,7 +47580,8 @@ FractionalIdeal(R, F, UP, A): Exports == Implementation where --S 1 of 1 )show FramedModule ---R FramedModule(R: EuclideanDomain,F: QuotientFieldCategory R,UP: UnivariatePolynomialCategory F,A: FramedAlgebra(F,UP),ibasis: Vector A) is a domain constructor +--R +--R FramedModule(R: EuclideanDomain,F: QuotientFieldCategory(R),UP: UnivariatePolynomialCategory(F),A: FramedAlgebra(F,UP),ibasis: Vector(A)) is a domain constructor --R Abbreviation for FramedModule is FRMOD --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FRMOD @@ -47463,15 +47589,15 @@ FractionalIdeal(R, F, UP, A): Exports == Implementation where --R------------------------------- Operations -------------------------------- --R ?*? : (%,%) -> % ?**? : (%,PositiveInteger) -> % --R ?=? : (%,%) -> Boolean 1 : () -> % ---R ?^? : (%,PositiveInteger) -> % basis : % -> Vector A +--R ?^? : (%,PositiveInteger) -> % basis : % -> Vector(A) --R coerce : % -> OutputForm hash : % -> SingleInteger ---R latex : % -> String module : Vector A -> % +--R latex : % -> String module : Vector(A) -> % --R norm : % -> F one? : % -> Boolean --R recip : % -> Union(%,"failed") sample : () -> % --R ?~=? : (%,%) -> Boolean --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % ---R module : FractionalIdeal(R,F,UP,A) -> % if A has RETRACT F +--R module : FractionalIdeal(R,F,UP,A) -> % if A has RETRACT(F) --R --E 1 @@ -47640,7 +47766,8 @@ FramedModule(R, F, UP, A, ibasis): Exports == Implementation where --S 1 of 1 )show FreeAbelianGroup ---R FreeAbelianGroup S: SetCategory is a domain constructor +--R +--R FreeAbelianGroup(S: SetCategory) is a domain constructor --R Abbreviation for FreeAbelianGroup is FAGROUP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FAGROUP @@ -47669,7 +47796,7 @@ FramedModule(R, F, UP, A, ibasis): Exports == Implementation where --R min : (%,%) -> % if S has ORDSET --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 @@ -47793,7 +47920,8 @@ FreeAbelianGroup(S:SetCategory): Exports == Implementation where --S 1 of 1 )show FreeAbelianMonoid ---R FreeAbelianMonoid S: SetCategory is a domain constructor +--R +--R FreeAbelianMonoid(S: SetCategory) is a domain constructor --R Abbreviation for FreeAbelianMonoid is FAMONOID --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FAMONOID @@ -47815,7 +47943,7 @@ FreeAbelianGroup(S:SetCategory): Exports == Implementation where --R nthCoef : (%,Integer) -> NonNegativeInteger --R retractIfCan : % -> Union(S,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") ---R terms : % -> List Record(gen: S,exp: NonNegativeInteger) +--R terms : % -> List(Record(gen: S,exp: NonNegativeInteger)) --R --E 1 @@ -47901,7 +48029,8 @@ FreeAbelianMonoid(S: SetCategory): --S 1 of 1 )show FreeGroup ---R FreeGroup S: SetCategory is a domain constructor +--R +--R FreeGroup(S: SetCategory) is a domain constructor --R Abbreviation for FreeGroup is FGROUP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FGROUP @@ -47923,7 +48052,7 @@ FreeAbelianMonoid(S: SetCategory): --R ?~=? : (%,%) -> Boolean --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % ---R factors : % -> List Record(gen: S,exp: Integer) +--R factors : % -> List(Record(gen: S,exp: Integer)) --R mapExpon : ((Integer -> Integer),%) -> % --R retractIfCan : % -> Union(S,"failed") --R @@ -48215,6 +48344,7 @@ FreeModule(R:Ring,S:OrderedSet): --S 1 of 1 )show FreeModule1 +--R --R FreeModule1(R: Ring,S: OrderedSet) is a domain constructor --R Abbreviation for FreeModule1 is FM1 --R This constructor is not exposed in this frame. @@ -48227,17 +48357,17 @@ FreeModule(R:Ring,S:OrderedSet): --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean --R 0 : () -> % coefficient : (%,S) -> R ---R coefficients : % -> List R coerce : S -> % +--R coefficients : % -> List(R) coerce : S -> % --R coerce : % -> OutputForm hash : % -> SingleInteger --R latex : % -> String leadingCoefficient : % -> R --R leadingMonomial : % -> S map : ((R -> R),%) -> % --R monom : (S,R) -> % monomial? : % -> Boolean ---R monomials : % -> List % reductum : % -> % +--R monomials : % -> List(%) reductum : % -> % --R retract : % -> S sample : () -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R leadingTerm : % -> Record(k: S,c: R) ---R listOfTerms : % -> List Record(k: S,c: R) +--R listOfTerms : % -> List(Record(k: S,c: R)) --R numberOfMonomials : % -> NonNegativeInteger --R retractIfCan : % -> Union(S,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -48409,7 +48539,8 @@ FreeModule1(R:Ring,S:OrderedSet): FMcat == FMdef where --S 1 of 1 )show FreeMonoid ---R FreeMonoid S: SetCategory is a domain constructor +--R +--R FreeMonoid(S: SetCategory) is a domain constructor --R Abbreviation for FreeMonoid is FMONOID --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FMONOID @@ -48434,7 +48565,7 @@ FreeModule1(R:Ring,S:OrderedSet): FMcat == FMdef where --R ?>=? : (%,%) -> Boolean if S has ORDSET --R ?^? : (%,NonNegativeInteger) -> % --R divide : (%,%) -> Union(Record(lm: %,rm: %),"failed") ---R factors : % -> List Record(gen: S,exp: NonNegativeInteger) +--R factors : % -> List(Record(gen: S,exp: NonNegativeInteger)) --R lquo : (%,%) -> Union(%,"failed") --R mapExpon : ((NonNegativeInteger -> NonNegativeInteger),%) -> % --R max : (%,%) -> % if S has ORDSET @@ -48932,7 +49063,7 @@ f : Fx := 36 / (x**5-2*x**4-2*x**3+4*x**2+x-2) --R (2) ---------------------------- --R 5 4 3 2 --R x - 2x - 2x + 4x + x - 2 ---R Type: Fraction UnivariatePolynomial(x,Fraction Integer) +--R Type: Fraction(UnivariatePolynomial(x,Fraction(Integer))) --E 2 --S 3 of 16 @@ -48944,7 +49075,7 @@ g := fullPartialFraction f --R x - 2 x + 1 --+ 2 --R 2 (x - %A) --R %A - 1= 0 ---RType: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +--RType: FullPartialFractionExpansion(Fraction(Integer),UnivariatePolynomial(x,Fraction(Integer))) --E 3 --S 4 of 16 @@ -48955,7 +49086,7 @@ g :: Fx --R (4) ---------------------------- --R 5 4 3 2 --R x - 2x - 2x + 4x + x - 2 ---R Type: Fraction UnivariatePolynomial(x,Fraction Integer) +--R Type: Fraction(UnivariatePolynomial(x,Fraction(Integer))) --E 4 --S 5 of 16 @@ -48967,7 +49098,7 @@ g5 := D(g, 5) --R 6 6 --+ 7 --R (x - 2) (x + 1) 2 (x - %A) --R %A - 1= 0 ---RType: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +--RType: FullPartialFractionExpansion(Fraction(Integer),UnivariatePolynomial(x,Fraction(Integer))) --E 5 --S 6 of 16 @@ -48989,7 +49120,7 @@ f5 := D(f, 5) --R + --R 4 3 2 --R 276x - 1184x + 208x + 192x - 64 ---R Type: Fraction UnivariatePolynomial(x,Fraction Integer) +--R Type: Fraction(UnivariatePolynomial(x,Fraction(Integer))) --E 6 --S 7 of 16 @@ -48997,7 +49128,7 @@ g5::Fx - f5 --R --R --R (7) 0 ---R Type: Fraction UnivariatePolynomial(x,Fraction Integer) +--R Type: Fraction(UnivariatePolynomial(x,Fraction(Integer))) --E 7 --S 8 of 16 @@ -49009,7 +49140,7 @@ f : Fx := (x**5 * (x-1)) / ((x**2 + x + 1)**2 * (x-2)**3) --R (8) ----------------------------------- --R 7 6 5 3 2 --R x - 4x + 3x + 9x - 6x - 4x - 8 ---R Type: Fraction UnivariatePolynomial(x,Fraction Integer) +--R Type: Fraction(UnivariatePolynomial(x,Fraction(Integer))) --E 8 --S 9 of 16 @@ -49032,7 +49163,7 @@ g := fullPartialFraction f --R --+ 2 --R 2 (x - %A) --R %A + %A + 1= 0 ---RType: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +--RType: FullPartialFractionExpansion(Fraction(Integer),UnivariatePolynomial(x,Fraction(Integer))) --E 9 --S 10 of 16 @@ -49040,7 +49171,7 @@ g :: Fx - f --R --R --R (10) 0 ---R Type: Fraction UnivariatePolynomial(x,Fraction Integer) +--R Type: Fraction(UnivariatePolynomial(x,Fraction(Integer))) --E 10 --S 11 of 16 @@ -49052,7 +49183,7 @@ f : Fx := (2*x**7-7*x**5+26*x**3+8*x) / (x**8-5*x**6+6*x**4+4*x**2-8) --R (11) ------------------------ --R 8 6 4 2 --R x - 5x + 6x + 4x - 8 ---R Type: Fraction UnivariatePolynomial(x,Fraction Integer) +--R Type: Fraction(UnivariatePolynomial(x,Fraction(Integer))) --E 11 --S 12 of 16 @@ -49066,7 +49197,7 @@ g := fullPartialFraction f --R --+ x - %A --+ 3 --+ x - %A --R 2 2 (x - %A) 2 --R %A - 2= 0 %A - 2= 0 %A + 1= 0 ---RType: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +--RType: FullPartialFractionExpansion(Fraction(Integer),UnivariatePolynomial(x,Fraction(Integer))) --E 12 --S 13 of 16 @@ -49074,7 +49205,7 @@ g :: Fx - f --R --R --R (13) 0 ---R Type: Fraction UnivariatePolynomial(x,Fraction Integer) +--R Type: Fraction(UnivariatePolynomial(x,Fraction(Integer))) --E 13 --S 14 of 16 @@ -49092,7 +49223,7 @@ f:Fx := x**3 / (x**21 + 2*x**20 + 4*x**19 + 7*x**18 + 10*x**17 + 17*x**16 + 22*x --R 47x + 46x + 49x + 43x + 38x + 32x + 23x + 19x + 10x + 7x + 2x --R + --R 1 ---R Type: Fraction UnivariatePolynomial(x,Fraction Integer) +--R Type: Fraction(UnivariatePolynomial(x,Fraction(Integer))) --E 14 --S 15 of 16 @@ -49151,7 +49282,7 @@ g := fullPartialFraction f --R ------------------------------------------------------------------- --R 3 --R (x - %A) ---RType: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +--RType: FullPartialFractionExpansion(Fraction(Integer),UnivariatePolynomial(x,Fraction(Integer))) --E 15 --S 16 of 16 @@ -49159,7 +49290,7 @@ g :: Fx - f --R --R --R (16) 0 ---R Type: Fraction UnivariatePolynomial(x,Fraction Integer) +--R Type: Fraction(UnivariatePolynomial(x,Fraction(Integer))) --E 16 )spool )lisp (bye) @@ -49601,7 +49732,8 @@ FullPartialFractionExpansion(F, UP): Exports == Implementation where --S 1 of 1 )show FunctionCalled ---R FunctionCalled f: Symbol is a domain constructor +--R +--R FunctionCalled(f: Symbol) is a domain constructor --R Abbreviation for FunctionCalled is FUNCTION --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for FUNCTION @@ -49685,7 +49817,7 @@ d1 := -4*z + 4*y**2*x + 16*x**2 + 1 --R --R 2 2 --R (2) - 4z + 4y x + 16x + 1 ---R Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 2 --S 3 of 10 @@ -49694,7 +49826,7 @@ d2 := 2*z*y**2 + 4*x + 1 --R --R 2 --R (3) 2z y + 4x + 1 ---R Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 3 --S 4 of 10 @@ -49703,7 +49835,7 @@ d3 := 2*z*x**2 - 2*y**2 - x --R --R 2 2 --R (4) 2z x - 2y - x ---R Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 4 --S 5 of 10 @@ -49720,7 +49852,7 @@ groebner [d1,d2,d3] --R 7 29 6 17 4 11 3 1 2 15 1 --R x + -- x - -- x - -- x + -- x + -- x + -] --R 4 16 8 32 16 4 ---R Type: List DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: List(DistributedMultivariatePolynomial([z,y,x],Fraction(Integer))) --E 5 --S 6 of 10 @@ -49735,7 +49867,7 @@ n1 := d1 --R --R 2 2 --R (7) 4y x + 16x - 4z + 1 ---R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 7 --S 8 of 10 @@ -49744,7 +49876,7 @@ n2 := d2 --R --R 2 --R (8) 2z y + 4x + 1 ---R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 8 --S 9 of 10 @@ -49753,7 +49885,7 @@ n3 := d3 --R --R 2 2 --R (9) 2z x - 2y - x ---R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 9 --S 10 of 10 @@ -49770,7 +49902,7 @@ groebner [n1,n2,n3] --R 2 2 2 1 3 --R z - 4y + 2x - - z - - x] --R 4 2 ---RType: List HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: List(HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer))) --E 10 )spool )lisp (bye) @@ -50239,7 +50371,8 @@ GeneralDistributedMultivariatePolynomial(vl,R,E): public == private where --S 1 of 1 )show GeneralModulePolynomial ---R GeneralModulePolynomial(vl: List Symbol,R: CommutativeRing,IS: OrderedSet,E: DirectProductCategory(# vl,NonNegativeInteger),ff: ((Record(index: IS,exponent: E),Record(index: IS,exponent: E)) -> Boolean),P: PolynomialCategory(R,E,OrderedVariableList vl)) is a domain constructor +--R +--R GeneralModulePolynomial(vl: List(Symbol),R: CommutativeRing,IS: OrderedSet,E: DirectProductCategory(#(vl),NonNegativeInteger),ff: ((Record(index: IS,exponent: E),Record(index: IS,exponent: E)) -> Boolean),P: PolynomialCategory(R,E,OrderedVariableList(vl))) is a domain constructor --R Abbreviation for GeneralModulePolynomial is GMODPOL --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for GMODPOL @@ -50401,7 +50534,8 @@ GeneralModulePolynomial(vl, R, IS, E, ff, P): public == private where --S 1 of 1 )show GenericNonAssociativeAlgebra ---R GenericNonAssociativeAlgebra(R: CommutativeRing,n: PositiveInteger,ls: List Symbol,gamma: Vector Matrix R) is a domain constructor +--R +--R GenericNonAssociativeAlgebra(R: CommutativeRing,n: PositiveInteger,ls: List(Symbol),gamma: Vector(Matrix(R))) is a domain constructor --R Abbreviation for GenericNonAssociativeAlgebra is GCNAALG --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for GCNAALG @@ -50414,89 +50548,90 @@ GeneralModulePolynomial(vl, R, IS, E, ff, P): public == private where --R 0 : () -> % alternative? : () -> Boolean --R antiAssociative? : () -> Boolean antiCommutative? : () -> Boolean --R antiCommutator : (%,%) -> % associative? : () -> Boolean ---R associator : (%,%,%) -> % basis : () -> Vector % +--R associator : (%,%,%) -> % basis : () -> Vector(%) --R coerce : % -> OutputForm commutative? : () -> Boolean --R commutator : (%,%) -> % flexible? : () -> Boolean ---R generic : (Symbol,Vector %) -> % generic : Vector % -> % ---R generic : Vector Symbol -> % generic : Symbol -> % ---R generic : () -> % hash : % -> SingleInteger ---R jacobiIdentity? : () -> Boolean jordanAdmissible? : () -> Boolean ---R jordanAlgebra? : () -> Boolean latex : % -> String ---R leftAlternative? : () -> Boolean lieAdmissible? : () -> Boolean ---R lieAlgebra? : () -> Boolean powerAssociative? : () -> Boolean ---R rank : () -> PositiveInteger rightAlternative? : () -> Boolean ---R sample : () -> % someBasis : () -> Vector % ---R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (SquareMatrix(n,Fraction Polynomial R),%) -> % ---R ?*? : (Fraction Polynomial R,%) -> % ---R ?*? : (%,Fraction Polynomial R) -> % +--R generic : Vector(%) -> % generic : Vector(Symbol) -> % +--R generic : Symbol -> % generic : () -> % +--R hash : % -> SingleInteger jacobiIdentity? : () -> Boolean +--R jordanAdmissible? : () -> Boolean jordanAlgebra? : () -> Boolean +--R latex : % -> String leftAlternative? : () -> Boolean +--R lieAdmissible? : () -> Boolean lieAlgebra? : () -> Boolean +--R powerAssociative? : () -> Boolean rank : () -> PositiveInteger +--R rightAlternative? : () -> Boolean sample : () -> % +--R someBasis : () -> Vector(%) zero? : % -> Boolean +--R ?~=? : (%,%) -> Boolean +--R ?*? : (SquareMatrix(n,Fraction(Polynomial(R))),%) -> % +--R ?*? : (Fraction(Polynomial(R)),%) -> % +--R ?*? : (%,Fraction(Polynomial(R))) -> % --R ?*? : (NonNegativeInteger,%) -> % ---R apply : (Matrix Fraction Polynomial R,%) -> % ---R associatorDependence : () -> List Vector Fraction Polynomial R if Fraction Polynomial R has INTDOM ---R coerce : Vector Fraction Polynomial R -> % ---R conditionsForIdempotents : () -> List Polynomial R if R has INTDOM ---R conditionsForIdempotents : Vector % -> List Polynomial R if R has INTDOM ---R conditionsForIdempotents : () -> List Polynomial Fraction Polynomial R ---R conditionsForIdempotents : Vector % -> List Polynomial Fraction Polynomial R ---R convert : Vector Fraction Polynomial R -> % ---R convert : % -> Vector Fraction Polynomial R ---R coordinates : Vector % -> Matrix Fraction Polynomial R ---R coordinates : % -> Vector Fraction Polynomial R ---R coordinates : (Vector %,Vector %) -> Matrix Fraction Polynomial R ---R coordinates : (%,Vector %) -> Vector Fraction Polynomial R ---R ?.? : (%,Integer) -> Fraction Polynomial R ---R generic : (Vector Symbol,Vector %) -> % ---R genericLeftDiscriminant : () -> Fraction Polynomial R if R has INTDOM ---R genericLeftMinimalPolynomial : % -> SparseUnivariatePolynomial Fraction Polynomial R if R has INTDOM ---R genericLeftNorm : % -> Fraction Polynomial R if R has INTDOM ---R genericLeftTrace : % -> Fraction Polynomial R if R has INTDOM ---R genericLeftTraceForm : (%,%) -> Fraction Polynomial R if R has INTDOM ---R genericRightDiscriminant : () -> Fraction Polynomial R if R has INTDOM ---R genericRightMinimalPolynomial : % -> SparseUnivariatePolynomial Fraction Polynomial R if R has INTDOM ---R genericRightNorm : % -> Fraction Polynomial R if R has INTDOM ---R genericRightTrace : % -> Fraction Polynomial R if R has INTDOM ---R genericRightTraceForm : (%,%) -> Fraction Polynomial R if R has INTDOM ---R leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial Fraction Polynomial R ---R leftDiscriminant : () -> Fraction Polynomial R ---R leftDiscriminant : Vector % -> Fraction Polynomial R ---R leftMinimalPolynomial : % -> SparseUnivariatePolynomial Fraction Polynomial R if Fraction Polynomial R has INTDOM ---R leftNorm : % -> Fraction Polynomial R +--R apply : (Matrix(Fraction(Polynomial(R))),%) -> % +--R associatorDependence : () -> List(Vector(Fraction(Polynomial(R)))) if Fraction(Polynomial(R)) has INTDOM +--R coerce : Vector(Fraction(Polynomial(R))) -> % +--R conditionsForIdempotents : () -> List(Polynomial(R)) if R has INTDOM +--R conditionsForIdempotents : Vector(%) -> List(Polynomial(R)) if R has INTDOM +--R conditionsForIdempotents : () -> List(Polynomial(Fraction(Polynomial(R)))) +--R conditionsForIdempotents : Vector(%) -> List(Polynomial(Fraction(Polynomial(R)))) +--R convert : Vector(Fraction(Polynomial(R))) -> % +--R convert : % -> Vector(Fraction(Polynomial(R))) +--R coordinates : Vector(%) -> Matrix(Fraction(Polynomial(R))) +--R coordinates : % -> Vector(Fraction(Polynomial(R))) +--R coordinates : (Vector(%),Vector(%)) -> Matrix(Fraction(Polynomial(R))) +--R coordinates : (%,Vector(%)) -> Vector(Fraction(Polynomial(R))) +--R ?.? : (%,Integer) -> Fraction(Polynomial(R)) +--R generic : (Vector(Symbol),Vector(%)) -> % +--R generic : (Symbol,Vector(%)) -> % +--R genericLeftDiscriminant : () -> Fraction(Polynomial(R)) if R has INTDOM +--R genericLeftMinimalPolynomial : % -> SparseUnivariatePolynomial(Fraction(Polynomial(R))) if R has INTDOM +--R genericLeftNorm : % -> Fraction(Polynomial(R)) if R has INTDOM +--R genericLeftTrace : % -> Fraction(Polynomial(R)) if R has INTDOM +--R genericLeftTraceForm : (%,%) -> Fraction(Polynomial(R)) if R has INTDOM +--R genericRightDiscriminant : () -> Fraction(Polynomial(R)) if R has INTDOM +--R genericRightMinimalPolynomial : % -> SparseUnivariatePolynomial(Fraction(Polynomial(R))) if R has INTDOM +--R genericRightNorm : % -> Fraction(Polynomial(R)) if R has INTDOM +--R genericRightTrace : % -> Fraction(Polynomial(R)) if R has INTDOM +--R genericRightTraceForm : (%,%) -> Fraction(Polynomial(R)) if R has INTDOM +--R leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial(Fraction(Polynomial(R))) +--R leftDiscriminant : () -> Fraction(Polynomial(R)) +--R leftDiscriminant : Vector(%) -> Fraction(Polynomial(R)) +--R leftMinimalPolynomial : % -> SparseUnivariatePolynomial(Fraction(Polynomial(R))) if Fraction(Polynomial(R)) has INTDOM +--R leftNorm : % -> Fraction(Polynomial(R)) --R leftPower : (%,PositiveInteger) -> % ---R leftRankPolynomial : () -> SparseUnivariatePolynomial Fraction Polynomial R if R has INTDOM ---R leftRankPolynomial : () -> SparseUnivariatePolynomial Polynomial Fraction Polynomial R if Fraction Polynomial R has FIELD ---R leftRecip : % -> Union(%,"failed") if Fraction Polynomial R has INTDOM ---R leftRegularRepresentation : % -> Matrix Fraction Polynomial R ---R leftRegularRepresentation : (%,Vector %) -> Matrix Fraction Polynomial R ---R leftTrace : % -> Fraction Polynomial R ---R leftTraceMatrix : () -> Matrix Fraction Polynomial R ---R leftTraceMatrix : Vector % -> Matrix Fraction Polynomial R ---R leftUnit : () -> Union(%,"failed") if Fraction Polynomial R has INTDOM ---R leftUnits : () -> Union(Record(particular: %,basis: List %),"failed") +--R leftRankPolynomial : () -> SparseUnivariatePolynomial(Fraction(Polynomial(R))) if R has INTDOM +--R leftRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(Fraction(Polynomial(R)))) if Fraction(Polynomial(R)) has FIELD +--R leftRecip : % -> Union(%,"failed") if Fraction(Polynomial(R)) has INTDOM +--R leftRegularRepresentation : % -> Matrix(Fraction(Polynomial(R))) +--R leftRegularRepresentation : (%,Vector(%)) -> Matrix(Fraction(Polynomial(R))) +--R leftTrace : % -> Fraction(Polynomial(R)) +--R leftTraceMatrix : () -> Matrix(Fraction(Polynomial(R))) +--R leftTraceMatrix : Vector(%) -> Matrix(Fraction(Polynomial(R))) +--R leftUnit : () -> Union(%,"failed") if Fraction(Polynomial(R)) has INTDOM +--R leftUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") --R noncommutativeJordanAlgebra? : () -> Boolean --R plenaryPower : (%,PositiveInteger) -> % ---R recip : % -> Union(%,"failed") if Fraction Polynomial R has INTDOM ---R represents : Vector Fraction Polynomial R -> % ---R represents : (Vector Fraction Polynomial R,Vector %) -> % ---R rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial Fraction Polynomial R ---R rightDiscriminant : () -> Fraction Polynomial R ---R rightDiscriminant : Vector % -> Fraction Polynomial R ---R rightMinimalPolynomial : % -> SparseUnivariatePolynomial Fraction Polynomial R if Fraction Polynomial R has INTDOM ---R rightNorm : % -> Fraction Polynomial R +--R recip : % -> Union(%,"failed") if Fraction(Polynomial(R)) has INTDOM +--R represents : Vector(Fraction(Polynomial(R))) -> % +--R represents : (Vector(Fraction(Polynomial(R))),Vector(%)) -> % +--R rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial(Fraction(Polynomial(R))) +--R rightDiscriminant : () -> Fraction(Polynomial(R)) +--R rightDiscriminant : Vector(%) -> Fraction(Polynomial(R)) +--R rightMinimalPolynomial : % -> SparseUnivariatePolynomial(Fraction(Polynomial(R))) if Fraction(Polynomial(R)) has INTDOM +--R rightNorm : % -> Fraction(Polynomial(R)) --R rightPower : (%,PositiveInteger) -> % ---R rightRankPolynomial : () -> SparseUnivariatePolynomial Fraction Polynomial R if R has INTDOM ---R rightRankPolynomial : () -> SparseUnivariatePolynomial Polynomial Fraction Polynomial R if Fraction Polynomial R has FIELD ---R rightRecip : % -> Union(%,"failed") if Fraction Polynomial R has INTDOM ---R rightRegularRepresentation : % -> Matrix Fraction Polynomial R ---R rightRegularRepresentation : (%,Vector %) -> Matrix Fraction Polynomial R ---R rightTrace : % -> Fraction Polynomial R ---R rightTraceMatrix : () -> Matrix Fraction Polynomial R ---R rightTraceMatrix : Vector % -> Matrix Fraction Polynomial R ---R rightUnit : () -> Union(%,"failed") if Fraction Polynomial R has INTDOM ---R rightUnits : () -> Union(Record(particular: %,basis: List %),"failed") ---R structuralConstants : () -> Vector Matrix Fraction Polynomial R ---R structuralConstants : Vector % -> Vector Matrix Fraction Polynomial R +--R rightRankPolynomial : () -> SparseUnivariatePolynomial(Fraction(Polynomial(R))) if R has INTDOM +--R rightRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(Fraction(Polynomial(R)))) if Fraction(Polynomial(R)) has FIELD +--R rightRecip : % -> Union(%,"failed") if Fraction(Polynomial(R)) has INTDOM +--R rightRegularRepresentation : % -> Matrix(Fraction(Polynomial(R))) +--R rightRegularRepresentation : (%,Vector(%)) -> Matrix(Fraction(Polynomial(R))) +--R rightTrace : % -> Fraction(Polynomial(R)) +--R rightTraceMatrix : () -> Matrix(Fraction(Polynomial(R))) +--R rightTraceMatrix : Vector(%) -> Matrix(Fraction(Polynomial(R))) +--R rightUnit : () -> Union(%,"failed") if Fraction(Polynomial(R)) has INTDOM +--R rightUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") +--R structuralConstants : () -> Vector(Matrix(Fraction(Polynomial(R)))) +--R structuralConstants : Vector(%) -> Vector(Matrix(Fraction(Polynomial(R)))) --R subtractIfCan : (%,%) -> Union(%,"failed") ---R unit : () -> Union(%,"failed") if Fraction Polynomial R has INTDOM +--R unit : () -> Union(%,"failed") if Fraction(Polynomial(R)) has INTDOM --R --E 1 @@ -50928,32 +51063,33 @@ GenericNonAssociativeAlgebra(R : CommutativeRing, n : PositiveInteger,_ --S 1 of 1 )show GeneralPolynomialSet +--R --R GeneralPolynomialSet(R: Ring,E: OrderedAbelianMonoidSup,VarSet: OrderedSet,P: RecursivePolynomialCategory(R,E,VarSet)) is a domain constructor --R Abbreviation for GeneralPolynomialSet is GPOLSET --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for GPOLSET --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 -> % convert : List P -> % +--R construct : List(P) -> % convert : List(P) -> % --R copy : % -> % empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean --R hash : % -> SingleInteger latex : % -> String ---R mainVariables : % -> List VarSet map : ((P -> P),%) -> % ---R mvar : % -> VarSet retract : List P -> % +--R mainVariables : % -> List(VarSet) map : ((P -> P),%) -> % +--R mvar : % -> VarSet retract : List(P) -> % --R sample : () -> % trivialIdeal? : % -> Boolean ---R variables : % -> List VarSet ?~=? : (%,%) -> Boolean +--R variables : % -> List(VarSet) ?~=? : (%,%) -> 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 $ has finiteAggregate 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 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 @@ -50961,9 +51097,9 @@ GenericNonAssociativeAlgebra(R : CommutativeRing, n : PositiveInteger,_ --R mainVariable? : (VarSet,%) -> Boolean --R map! : ((P -> P),%) -> % if $ has shallowlyMutable --R member? : (P,%) -> Boolean if $ has finiteAggregate and P has SETCAT ---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 $ has finiteAggregate and P has SETCAT @@ -50971,9 +51107,9 @@ GenericNonAssociativeAlgebra(R : CommutativeRing, n : PositiveInteger,_ --R remove : ((P -> Boolean),%) -> % if $ has finiteAggregate --R remove : (P,%) -> % if $ has finiteAggregate and P has SETCAT --R removeDuplicates : % -> % if $ has finiteAggregate and P has SETCAT ---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 @@ -51354,6 +51490,7 @@ GeneralSparseTable(Key, Entry, Tbl, dent): TableAggregate(Key, Entry) == Impl --S 1 of 1 )show GeneralTriangularSet +--R --R GeneralTriangularSet(R: IntegralDomain,E: OrderedAbelianMonoidSup,V: OrderedSet,P: RecursivePolynomialCategory(R,E,V)) is a domain constructor --R Abbreviation for GeneralTriangularSet is GTSET --R This constructor is not exposed in this frame. @@ -51361,10 +51498,10 @@ GeneralSparseTable(Key, Entry, Tbl, dent): TableAggregate(Key, Entry) == Impl --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) -> % @@ -51372,29 +51509,29 @@ GeneralSparseTable(Key, Entry, Tbl, dent): TableAggregate(Key, Entry) == Impl --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 $ has finiteAggregate 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 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") @@ -51403,10 +51540,10 @@ GeneralSparseTable(Key, Entry, Tbl, dent): TableAggregate(Key, Entry) == Impl --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((P -> P),%) -> % if $ has shallowlyMutable --R member? : (P,%) -> Boolean if $ has finiteAggregate and P has SETCAT ---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 @@ -51416,10 +51553,10 @@ GeneralSparseTable(Key, Entry, Tbl, dent): TableAggregate(Key, Entry) == Impl --R remove : ((P -> Boolean),%) -> % if $ has finiteAggregate --R remove : (P,%) -> % if $ has finiteAggregate and P has SETCAT --R removeDuplicates : % -> % if $ has finiteAggregate and P has SETCAT ---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 @@ -51430,7 +51567,7 @@ GeneralSparseTable(Key, Entry, Tbl, dent): TableAggregate(Key, Entry) == Impl --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 @@ -51663,6 +51800,7 @@ GeneralTriangularSet(R,E,V,P) : Exports == Implementation where --S 1 of 1 )show GeneralUnivariatePowerSeries +--R --R GeneralUnivariatePowerSeries(Coef: Ring,var: Symbol,cen: Coef) is a domain constructor --R Abbreviation for GeneralUnivariatePowerSeries is GSERIES --R This constructor is exposed in this frame. @@ -51676,121 +51814,121 @@ GeneralTriangularSet(R,E,V,P) : Exports == Implementation where --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> Coef ---R coerce : Variable var -> % coerce : Integer -> % +--R coerce : Variable(var) -> % coerce : Integer -> % --R coerce : % -> OutputForm complete : % -> % ---R degree : % -> Fraction Integer hash : % -> SingleInteger +--R degree : % -> Fraction(Integer) hash : % -> SingleInteger --R latex : % -> String 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 sample : () -> % 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 ?**? : (%,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 *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--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 *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) --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 : UnivariatePuiseuxSeries(Coef,var,cen) -> % --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 : (%,Variable var) -> % ---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 *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--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 : (%,Variable(var)) -> % +--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 *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) --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 : (%,Variable var) -> % if Coef has ALGEBRA FRAC INT ---R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List Symbol and Coef has ALGEBRA FRAC INT or Coef has ACFS INT and Coef has ALGEBRA FRAC INT and Coef has PRIMCAT and Coef has TRANFUN ---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 : (%,Variable(var)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List(Symbol) and Coef has ALGEBRA(FRAC(INT)) or Coef has ACFS(INT) and Coef has ALGEBRA(FRAC(INT)) and Coef has PRIMCAT and Coef has TRANFUN +--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 @@ -52041,6 +52179,7 @@ GeneralUnivariatePowerSeries(Coef,var,cen): Exports == Implementation where --S 1 of 1 )show GraphImage +--R --R GraphImage is a domain constructor --R Abbreviation for GraphImage is GRIMAGE --R This constructor is not exposed in this frame. @@ -52050,22 +52189,23 @@ GeneralUnivariatePowerSeries(Coef,var,cen): Exports == Implementation where --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R graphImage : () -> % hash : % -> SingleInteger --R key : % -> Integer latex : % -> String ---R makeGraphImage : % -> % ranges : % -> List Segment Float ---R units : % -> List Float ?~=? : (%,%) -> Boolean ---R appendPoint : (%,Point DoubleFloat) -> Void ---R coerce : List List Point DoubleFloat -> % ---R component : (%,Point DoubleFloat,Palette,Palette,PositiveInteger) -> Void ---R component : (%,Point DoubleFloat) -> Void ---R component : (%,List Point DoubleFloat,Palette,Palette,PositiveInteger) -> Void ---R figureUnits : List List Point DoubleFloat -> List DoubleFloat ---R makeGraphImage : (List List Point DoubleFloat,List Palette,List Palette,List PositiveInteger,List DrawOption) -> % ---R makeGraphImage : (List List Point DoubleFloat,List Palette,List Palette,List PositiveInteger) -> % ---R makeGraphImage : List List Point DoubleFloat -> % ---R point : (%,Point DoubleFloat,Palette) -> Void ---R pointLists : % -> List List Point DoubleFloat ---R putColorInfo : (List List Point DoubleFloat,List Palette) -> List List Point DoubleFloat ---R ranges : (%,List Segment Float) -> List Segment Float ---R units : (%,List Float) -> List Float +--R makeGraphImage : % -> % units : % -> List(Float) +--R ?~=? : (%,%) -> Boolean +--R appendPoint : (%,Point(DoubleFloat)) -> Void +--R coerce : List(List(Point(DoubleFloat))) -> % +--R component : (%,Point(DoubleFloat),Palette,Palette,PositiveInteger) -> Void +--R component : (%,Point(DoubleFloat)) -> Void +--R component : (%,List(Point(DoubleFloat)),Palette,Palette,PositiveInteger) -> Void +--R figureUnits : List(List(Point(DoubleFloat))) -> List(DoubleFloat) +--R makeGraphImage : (List(List(Point(DoubleFloat))),List(Palette),List(Palette),List(PositiveInteger),List(DrawOption)) -> % +--R makeGraphImage : (List(List(Point(DoubleFloat))),List(Palette),List(Palette),List(PositiveInteger)) -> % +--R makeGraphImage : List(List(Point(DoubleFloat))) -> % +--R point : (%,Point(DoubleFloat),Palette) -> Void +--R pointLists : % -> List(List(Point(DoubleFloat))) +--R putColorInfo : (List(List(Point(DoubleFloat))),List(Palette)) -> List(List(Point(DoubleFloat))) +--R ranges : (%,List(Segment(Float))) -> List(Segment(Float)) +--R ranges : % -> List(Segment(Float)) +--R units : (%,List(Float)) -> List(Float) --R --E 1 @@ -52532,6 +52672,7 @@ GraphImage (): Exports == Implementation where --S 1 of 1 )show GuessOption +--R --R GuessOption is a domain constructor --R Abbreviation for GuessOption is GOPT --R This constructor is exposed in this frame. @@ -52541,7 +52682,7 @@ GraphImage (): Exports == Implementation where --R ?=? : (%,%) -> Boolean allDegrees : Boolean -> % --R checkExtraValues : Boolean -> % coerce : % -> OutputForm --R debug : Boolean -> % displayKind : Symbol -> % ---R functionName : Symbol -> % functionNames : List Symbol -> % +--R functionName : Symbol -> % functionNames : List(Symbol) -> % --R hash : % -> SingleInteger indexName : Symbol -> % --R latex : % -> String one : Boolean -> % --R safety : NonNegativeInteger -> % variableName : Symbol -> % @@ -52556,7 +52697,7 @@ GraphImage (): Exports == Implementation where --R maxPower : Union(PositiveInteger,arbitrary) -> % --R maxShift : Union(NonNegativeInteger,arbitrary) -> % --R maxSubst : Union(PositiveInteger,arbitrary) -> % ---R option : (List %,Symbol) -> Union(Any,"failed") +--R option : (List(%),Symbol) -> Union(Any,"failed") --R --E 1 @@ -52792,17 +52933,20 @@ GuessOption(): Exports == Implementation where --S 1 of 1 )show GuessOptionFunctions0 +--R --R GuessOptionFunctions0 is a domain constructor --R Abbreviation for GuessOptionFunctions0 is GOPT0 --R This constructor is not exposed in this frame. +--R Issue )edit bookvol10.3.pamphlet to see algebra source code for GOPT0 +--R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R hash : % -> SingleInteger latex : % -> String --R one : List(GuessOption) -> Boolean ?~=? : (%,%) -> Boolean ---R MonteCarlo : List(GuessOption) -> Boolean --R Somos : List(GuessOption) -> Union(PositiveInteger,Boolean) --R allDegrees : List(GuessOption) -> Boolean ---R check : List(GuessOption) -> Boolean +--R check : List(GuessOption) -> Union(skip,MonteCarlo,deterministic) +--R checkExtraValues : List(GuessOption) -> Boolean --R checkOptions : List(GuessOption) -> Void --R debug : List(GuessOption) -> Boolean --R displayAsGF : List(GuessOption) -> Boolean @@ -53151,6 +53295,7 @@ GuessOptionFunctions0(): Exports == Implementation where --S 1 of 1 )show HashTable +--R --R HashTable(Key: SetCategory,Entry: SetCategory,hashfn: String) is a domain constructor --R Abbreviation for HashTable is HASHTBL --R This constructor is not exposed in this frame. @@ -53160,9 +53305,9 @@ GuessOptionFunctions0(): Exports == Implementation where --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 : () -> % @@ -53170,24 +53315,24 @@ GuessOptionFunctions0(): Exports == Implementation where --R ?=? : (%,%) -> Boolean if Record(key: Key,entry: Entry) has SETCAT or 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 Record(key: Key,entry: Entry) has SETCAT or 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 $ has finiteAggregate and Entry has SETCAT --R count : (Record(key: Key,entry: Entry),%) -> NonNegativeInteger if $ has finiteAggregate and Record(key: Key,entry: Entry) has SETCAT --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) @@ -53206,12 +53351,12 @@ GuessOptionFunctions0(): Exports == Implementation where --R maxIndex : % -> Key if Key has ORDSET --R member? : (Entry,%) -> Boolean if $ has finiteAggregate and Entry has SETCAT --R member? : (Record(key: Key,entry: Entry),%) -> Boolean if $ has finiteAggregate and Record(key: Key,entry: Entry) has SETCAT ---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 @@ -53227,7 +53372,7 @@ GuessOptionFunctions0(): Exports == Implementation where --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 Record(key: Key,entry: Entry) has SETCAT or Entry has SETCAT --R --E 1 @@ -53386,7 +53531,7 @@ a:Heap INT:= heap [1,2,3,4,5] --R --R --R (1) [5,4,2,1,3] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 1 --S 2 of 42 @@ -53394,7 +53539,7 @@ bag([1,2,3,4,5])$Heap(INT) --R --R --R (2) [5,4,3,1,2] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 2 --S 3 of 42 @@ -53402,7 +53547,7 @@ c:=copy a --R --R --R (3) [5,4,2,1,3] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 3 --S 4 of 42 @@ -53418,7 +53563,7 @@ b:=empty()$(Heap INT) --R --R --R (5) [] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 5 --S 6 of 42 @@ -53450,7 +53595,7 @@ h:=heap [17,-4,9,-11,2,7,-7] --R --R --R (9) [17,2,9,- 11,- 4,7,- 7] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 8 --S 9 of 42 @@ -53458,7 +53603,7 @@ h:=heap [17,-4,9,-11,2,7,-7] --R --R --R (10) [17,9,7,2,- 4,- 7,- 11] ---R Type: List Integer +--R Type: List(Integer) --E 9 --S 10 of 42 @@ -53470,7 +53615,7 @@ heapsort(x) == (empty? x => []; cons(extract!(x),heapsort x)) --S 11 of 42 h1 := heapsort heap [17,-4,9,-11,2,7,-7] --R ---R Compiling function heapsort with type Heap Integer -> List Integer +--R Compiling function heapsort with type Heap(Integer) -> List(Integer) --R --R (12) [17,9,7,2,- 4,- 7,- 11] --R Type: List Integer @@ -53497,7 +53642,7 @@ a --R --R --R (15) [4,3,2,1] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 14 --S 15 of 42 @@ -53513,7 +53658,7 @@ insert!(9,a) --R --R --R (17) [9,4,2,1,3] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 16 --S 17 of 42 @@ -53521,7 +53666,7 @@ map(x+->x+10,a) --R --R --R (18) [19,14,12,11,13] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 17 --S 18 of 42 @@ -53529,7 +53674,7 @@ a --R --R --R (19) [9,4,2,1,3] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 18 --S 19 of 42 @@ -53537,7 +53682,7 @@ map!(x+->x+10,a) --R --R --R (20) [19,14,12,11,13] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 19 --S 20 of 42 @@ -53545,7 +53690,7 @@ a --R --R --R (21) [19,14,12,11,13] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 20 --S 21 of 42 @@ -53561,7 +53706,7 @@ merge(a,c) --R --R --R (23) [19,14,12,11,13,5,4,2,1,3] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 22 --S 23 of 42 @@ -53569,7 +53714,7 @@ a --R --R --R (24) [19,14,12,11,13] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 23 --S 24 of 42 @@ -53577,7 +53722,7 @@ merge!(a,c) --R --R --R (25) [19,14,12,11,13,5,4,2,1,3] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 24 --S 25 of 42 @@ -53585,7 +53730,7 @@ a --R --R --R (26) [19,14,12,11,13,5,4,2,1,3] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 25 --S 26 of 42 @@ -53593,7 +53738,7 @@ c --R --R --R (27) [5,4,2,1,3] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 26 --S 27 of 42 @@ -53601,7 +53746,7 @@ sample()$Heap(INT) --R --R --R (28) [] ---R Type: Heap Integer +--R Type: Heap(Integer) --E 27 --S 28 of 42 @@ -53633,7 +53778,7 @@ parts a --R --R --R (32) [19,14,12,11,13,5,4,2,1,3] ---R Type: List Integer +--R Type: List(Integer) --E 31 --S 32 of 42 @@ -53665,7 +53810,7 @@ members a --R --R --R (36) [19,14,12,11,13,5,4,2,1,3] ---R Type: List Integer +--R Type: List(Integer) --E 35 --S 36 of 42 @@ -53719,16 +53864,16 @@ coerce a --S 42 of 42 )show Heap --R ---R Heap S: OrderedSet is a domain constructor +--R Heap(S: OrderedSet) is a domain constructor --R Abbreviation for Heap is HEAP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for HEAP --R --R------------------------------- Operations -------------------------------- ---R bag : List S -> % copy : % -> % +--R bag : List(S) -> % copy : % -> % --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean extract! : % -> S ---R heap : List S -> % insert! : (S,%) -> % +--R heap : List(S) -> % insert! : (S,%) -> % --R inspect : % -> S map : ((S -> S),%) -> % --R max : % -> S merge : (%,%) -> % --R merge! : (%,%) -> % sample : () -> % @@ -53738,19 +53883,19 @@ coerce a --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --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 $ has finiteAggregate and S has SETCAT ---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 @@ -54279,7 +54424,7 @@ r + hex(6/7) --R [0.00BB3EE721A54D88, 0.00BAB6561, 0.00BA2E8, 0.00B9A7862A0FF465879D5F, --R _____________________________ --R 0.00B92143FA36F5E02E4850FE8DBD78] ---R Type: List HexadecimalExpansion +--R Type: List(HexadecimalExpansion) --E 3 --S 4 of 7 @@ -54300,7 +54445,7 @@ p := hex(1/4)*x**2 + hex(2/3)*x + hex(4/9) --R --R 2 _ ___ --R (5) 0.4x + 0.Ax + 0.71C ---R Type: Polynomial HexadecimalExpansion +--R Type: Polynomial(HexadecimalExpansion) --E 5 --S 6 of 7 @@ -54309,7 +54454,7 @@ q := D(p, x) --R --R _ --R (6) 0.8x + 0.A ---R Type: Polynomial HexadecimalExpansion +--R Type: Polynomial(HexadecimalExpansion) --E 6 --S 7 of 7 @@ -54318,7 +54463,7 @@ g := gcd(p, q) --R --R _ --R (7) x + 1.5 ---R Type: Polynomial HexadecimalExpansion +--R Type: Polynomial(HexadecimalExpansion) --E 7 )spool )lisp (bye) @@ -55748,6 +55893,7 @@ HTMLFormat(): public == private where --S 1 of 1 )show HomogeneousDirectProduct +--R --R HomogeneousDirectProduct(dim: NonNegativeInteger,S: OrderedAbelianMonoidSup) is a domain constructor --R Abbreviation for HomogeneousDirectProduct is HDP --R This constructor is not exposed in this frame. @@ -55755,12 +55901,12 @@ HTMLFormat(): public == private where --R --R------------------------------- Operations -------------------------------- --R -? : % -> % if S has RING 1 : () -> % if S has MONOID ---R 0 : () -> % if S has CABMON coerce : % -> Vector S ---R copy : % -> % directProduct : Vector S -> % +--R 0 : () -> % if S has CABMON coerce : % -> Vector(S) +--R copy : % -> % directProduct : Vector(S) -> % --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 map : ((S -> S),%) -> % qelt : (%,Integer) -> S --R sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate @@ -55782,10 +55928,10 @@ HTMLFormat(): public == private where --R ?>=? : (%,%) -> Boolean if S has OAMONS or S has ORDRING --R D : (%,(S -> S)) -> % if S has RING --R D : (%,(S -> S),NonNegativeInteger) -> % if S has RING ---R D : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,List Symbol) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,Symbol) -> % if S has PDRING SYMBOL and S has RING +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,Symbol) -> % if S has PDRING(SYMBOL) and S has RING --R D : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING --R D : % -> % if S has DIFRING and S has RING --R ?^? : (%,PositiveInteger) -> % if S has MONOID @@ -55794,26 +55940,26 @@ HTMLFormat(): public == private where --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R characteristic : () -> NonNegativeInteger if S has RING --R coerce : S -> % if S has SETCAT ---R coerce : Fraction Integer -> % if S has RETRACT FRAC INT and S has SETCAT ---R coerce : Integer -> % if S has RETRACT INT and S has SETCAT or S has RING +--R coerce : Fraction(Integer) -> % if S has RETRACT(FRAC(INT)) and S has SETCAT +--R coerce : Integer -> % if S has RETRACT(INT) and S has SETCAT or S has RING --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R differentiate : (%,(S -> S)) -> % if S has RING --R differentiate : (%,(S -> S),NonNegativeInteger) -> % if S has RING ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,List Symbol) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,Symbol) -> % if S has PDRING SYMBOL and S has RING +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,Symbol) -> % if S has PDRING(SYMBOL) and S has RING --R differentiate : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING --R differentiate : % -> % if S has DIFRING and S has RING --R dimension : () -> CardinalNumber if S has FIELD --R dot : (%,%) -> S if S has RING --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 first : % -> S if Integer has ORDSET @@ -55826,27 +55972,27 @@ HTMLFormat(): public == private where --R max : (%,%) -> % if S has OAMONS or S has ORDRING --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R min : (%,%) -> % if S has OAMONS or S has ORDRING --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R negative? : % -> Boolean if S has ORDRING --R one? : % -> Boolean if S has MONOID ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R positive? : % -> Boolean if S has ORDRING --R qsetelt! : (%,Integer,S) -> S if $ has shallowlyMutable --R random : () -> % if S has FINITE --R recip : % -> Union(%,"failed") if S has MONOID ---R reducedSystem : Matrix % -> Matrix S if S has RING ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix S,vec: Vector S) if S has RING ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if S has LINEXP INT and S has RING ---R reducedSystem : Matrix % -> Matrix Integer if S has LINEXP INT and S has RING +--R reducedSystem : Matrix(%) -> Matrix(S) if S has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(S),vec: Vector(S)) if S has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if S has LINEXP(INT) and S has RING +--R reducedSystem : Matrix(%) -> Matrix(Integer) if S has LINEXP(INT) and S has RING --R retract : % -> S if S has SETCAT ---R retract : % -> Fraction Integer if S has RETRACT FRAC INT and S has SETCAT ---R retract : % -> Integer if S has RETRACT INT and S has SETCAT +--R retract : % -> Fraction(Integer) if S has RETRACT(FRAC(INT)) and S has SETCAT +--R retract : % -> Integer if S has RETRACT(INT) and S has SETCAT --R retractIfCan : % -> Union(S,"failed") if S has SETCAT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if S has RETRACT FRAC INT and S has SETCAT ---R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT INT and S has SETCAT +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if S has RETRACT(FRAC(INT)) and S has SETCAT +--R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT(INT) and S has SETCAT --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable --R sign : % -> Integer if S has ORDRING --R size : () -> NonNegativeInteger if S has FINITE @@ -56026,7 +56172,7 @@ d1 := -4*z + 4*y**2*x + 16*x**2 + 1 --R --R 2 2 --R (2) - 4z + 4y x + 16x + 1 ---R Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 2 --S 3 of 10 @@ -56035,7 +56181,7 @@ d2 := 2*z*y**2 + 4*x + 1 --R --R 2 --R (3) 2z y + 4x + 1 ---R Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 3 --S 4 of 10 @@ -56044,7 +56190,7 @@ d3 := 2*z*x**2 - 2*y**2 - x --R --R 2 2 --R (4) 2z x - 2y - x ---R Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 4 --S 5 of 10 @@ -56061,7 +56207,7 @@ groebner [d1,d2,d3] --R 7 29 6 17 4 11 3 1 2 15 1 --R x + -- x - -- x - -- x + -- x + -- x + -] --R 4 16 8 32 16 4 ---R Type: List DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--R Type: List(DistributedMultivariatePolynomial([z,y,x],Fraction(Integer))) --E 5 --S 6 of 10 @@ -56076,7 +56222,7 @@ n1 := d1 --R --R 2 2 --R (7) 4y x + 16x - 4z + 1 ---R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 7 --S 8 of 10 @@ -56085,7 +56231,7 @@ n2 := d2 --R --R 2 --R (8) 2z y + 4x + 1 ---R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 8 --S 9 of 10 @@ -56094,7 +56240,7 @@ n3 := d3 --R --R 2 2 --R (9) 2z x - 2y - x ---R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer)) --E 9 --S 10 of 10 @@ -56111,7 +56257,7 @@ groebner [n1,n2,n3] --R 2 2 2 1 3 --R z - 4y + 2x - - z - - x] --R 4 2 ---RType: List HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +--RType: List(HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction(Integer))) --E 10 )spool )lisp (bye) @@ -56368,7 +56514,8 @@ HomogeneousDistributedMultivariatePolynomial(vl,R): public == private where --S 1 of 1 )show HyperellipticFiniteDivisor ---R HyperellipticFiniteDivisor(F: Field,UP: UnivariatePolynomialCategory F,UPUP: UnivariatePolynomialCategory Fraction UP,R: FunctionFieldCategory(F,UP,UPUP)) is a domain constructor +--R +--R HyperellipticFiniteDivisor(F: Field,UP: UnivariatePolynomialCategory(F),UPUP: UnivariatePolynomialCategory(Fraction(UP)),R: FunctionFieldCategory(F,UP,UPUP)) is a domain constructor --R Abbreviation for HyperellipticFiniteDivisor is HELLFDIV --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for HELLFDIV @@ -56385,10 +56532,10 @@ HomogeneousDistributedMultivariatePolynomial(vl,R): public == private where --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 @@ -56897,7 +57044,7 @@ a:IBITS(32):=new(32,false) --R --R --R (1) "00000000000000000000000000000000" ---R Type: IndexedBits 32 +--R Type: IndexedBits(32) --E 1 --S 2 of 13 @@ -56905,7 +57052,7 @@ b:IBITS(32):=new(32,true) --R --R --R (2) "11111111111111111111111111111111" ---R Type: IndexedBits 32 +--R Type: IndexedBits(32) --E 2 --S 3 of 13 @@ -56929,7 +57076,7 @@ a --R --R --R (5) "00000000000000000000000000000100" ---R Type: IndexedBits 32 +--R Type: IndexedBits(32) --E 5 --S 6 of 13 @@ -56969,7 +57116,7 @@ Or(a,b) --R --R --R (10) "11111111111111111111111111111111" ---R Type: IndexedBits 32 +--R Type: IndexedBits(32) --E 10 --S 11 of 13 @@ -56977,7 +57124,7 @@ And(a,b) --R --R --R (11) "00000000000000000000000000000100" ---R Type: IndexedBits 32 +--R Type: IndexedBits(32) --E 11 --S 12 of 13 @@ -56985,7 +57132,7 @@ Not(a) --R --R --R (12) "11111111111111111111111111111011" ---R Type: IndexedBits 32 +--R Type: IndexedBits(32) --E 12 --S 13 of 13 @@ -56993,7 +57140,7 @@ c:=copy a --R --R --R (13) "00000000000000000000000000000100" ---R Type: IndexedBits 32 +--R Type: IndexedBits(32) --E 13 )spool )lisp (bye) @@ -57883,7 +58030,8 @@ IndexedDirectProductOrderedAbelianMonoidSup(A:OrderedAbelianMonoidSup,S:OrderedS --S 1 of 1 )show IndexedExponents ---R IndexedExponents Varset: OrderedSet is a domain constructor +--R +--R IndexedExponents(Varset: OrderedSet) is a domain constructor --R Abbreviation for IndexedExponents is INDE --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for INDE @@ -58006,22 +58154,23 @@ IndexedExponents(Varset:OrderedSet): C == T where --S 1 of 1 )show IndexedFlexibleArray +--R --R IndexedFlexibleArray(S: Type,mn: Integer) is a domain constructor --R Abbreviation for IndexedFlexibleArray is IFARRAY --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for IFARRAY --R --R------------------------------- Operations -------------------------------- ---R concat : List % -> % concat : (%,%) -> % +--R concat : List(%) -> % concat : (%,%) -> % --R concat : (S,%) -> % concat : (%,S) -> % --R concat! : (%,S) -> % concat! : (%,%) -> % ---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 flexibleArray : List S -> % index? : (Integer,%) -> Boolean ---R indices : % -> List Integer insert : (%,%,Integer) -> % +--R entries : % -> List(S) eq? : (%,%) -> Boolean +--R flexibleArray : List(S) -> % index? : (Integer,%) -> Boolean +--R indices : % -> List(Integer) insert : (%,%,Integer) -> % --R insert : (S,%,Integer) -> % insert! : (S,%,Integer) -> % --R insert! : (%,%,Integer) -> % map : (((S,S) -> S),%,%) -> % --R map : ((S -> S),%) -> % new : (NonNegativeInteger,S) -> % @@ -58035,18 +58184,18 @@ IndexedExponents(Varset:OrderedSet): C == T where --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 $ has finiteAggregate and S has SETCAT --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") @@ -58058,7 +58207,7 @@ IndexedExponents(Varset:OrderedSet): C == T where --R max : (%,%) -> % if S has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---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 merge! : (((S,S) -> Boolean),%,%) -> % @@ -58066,7 +58215,7 @@ IndexedExponents(Varset:OrderedSet): C == T where --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 physicalLength : % -> NonNegativeInteger --R physicalLength! : (%,Integer) -> % --R position : (S,%,Integer) -> Integer if S has SETCAT @@ -58085,7 +58234,7 @@ IndexedExponents(Varset:OrderedSet): C == T where --R reverse! : % -> % if $ has shallowlyMutable --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 sort : % -> % if S has ORDSET @@ -58454,16 +58603,17 @@ IndexedFlexibleArray(S:Type, mn: Integer): Exports == Implementation where --S 1 of 1 )show IndexedList +--R --R IndexedList(S: Type,mn: Integer) is a domain constructor --R Abbreviation for IndexedList is ILIST --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ILIST --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) -> % @@ -58471,16 +58621,16 @@ IndexedFlexibleArray(S:Type, mn: Integer): Exports == Implementation where --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 : % -> % @@ -58494,20 +58644,20 @@ IndexedFlexibleArray(S:Type, mn: Integer): Exports == Implementation where --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 $ has finiteAggregate and S has SETCAT --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") @@ -58520,7 +58670,7 @@ IndexedFlexibleArray(S:Type, mn: Integer): Exports == Implementation where --R max : (%,%) -> % if S has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---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),%,%) -> % @@ -58529,7 +58679,7 @@ IndexedFlexibleArray(S:Type, mn: Integer): Exports == Implementation where --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 @@ -58547,9 +58697,9 @@ IndexedFlexibleArray(S:Type, mn: Integer): Exports == Implementation where --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 @@ -58905,6 +59055,7 @@ IndexedList(S:Type, mn:Integer): Exports == Implementation where --S 1 of 1 )show IndexedMatrix +--R --R IndexedMatrix(R: Ring,mnRow: Integer,mnCol: Integer) is a domain constructor --R Abbreviation for IndexedMatrix is IMATRIX --R This constructor is not exposed in this frame. @@ -58916,17 +59067,17 @@ IndexedList(S:Type, mn:Integer): Exports == Implementation where --R ?+? : (%,%) -> % -? : % -> % --R ?-? : (%,%) -> % antisymmetric? : % -> Boolean --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 sample : () -> % --R square? : % -> Boolean squareTop : % -> % --R symmetric? : % -> Boolean transpose : % -> % @@ -58942,15 +59093,15 @@ IndexedList(S:Type, mn:Integer): Exports == Implementation where --R coerce : IndexedVector(R,mnRow) -> % --R coerce : % -> OutputForm if R has SETCAT --R column : (%,Integer) -> IndexedVector(R,mnRow) ---R columnSpace : % -> List IndexedVector(R,mnRow) if R has EUCDOM +--R columnSpace : % -> List(IndexedVector(R,mnRow)) if R has EUCDOM --R count : (R,%) -> NonNegativeInteger if $ has finiteAggregate and R has SETCAT --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 @@ -58958,11 +59109,11 @@ IndexedList(S:Type, mn:Integer): Exports == Implementation where --R latex : % -> String if R has SETCAT --R less? : (%,NonNegativeInteger) -> Boolean --R member? : (R,%) -> Boolean if $ has finiteAggregate and R has SETCAT ---R members : % -> List R if $ has finiteAggregate ---R minordet : % -> R if R has commutative * +--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 IndexedVector(R,mnRow) if R has INTDOM +--R nullSpace : % -> List(IndexedVector(R,mnRow)) if R has INTDOM --R nullity : % -> NonNegativeInteger if R has INTDOM --R pfaffian : % -> R if R has COMRING --R qsetelt! : (%,Integer,Integer,R) -> R @@ -58972,7 +59123,7 @@ IndexedList(S:Type, mn:Integer): Exports == Implementation where --R scalarMatrix : (NonNegativeInteger,R) -> % --R setColumn! : (%,Integer,IndexedVector(R,mnRow)) -> % --R setRow! : (%,Integer,IndexedVector(R,mnCol)) -> % ---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 @@ -59168,20 +59319,21 @@ IndexedMatrix(R,mnRow,mnCol): Exports == Implementation where --S 1 of 1 )show IndexedOneDimensionalArray +--R --R IndexedOneDimensionalArray(S: Type,mn: Integer) is a domain constructor --R Abbreviation for IndexedOneDimensionalArray is IARRAY1 --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for IARRAY1 --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 : % -> % @@ -59194,17 +59346,17 @@ IndexedMatrix(R,mnRow,mnCol): Exports == Implementation where --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 $ has finiteAggregate and S has SETCAT --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") @@ -59216,13 +59368,13 @@ IndexedMatrix(R,mnRow,mnCol): Exports == Implementation where --R max : (%,%) -> % if S has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---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 @@ -59235,7 +59387,7 @@ IndexedMatrix(R,mnRow,mnCol): Exports == Implementation where --R removeDuplicates : % -> % if $ has finiteAggregate and S has SETCAT --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 @@ -59461,26 +59613,27 @@ IndexedOneDimensionalArray(S:Type, mn:Integer): --S 1 of 1 )show IndexedString ---R IndexedString mn: Integer is a domain constructor +--R +--R IndexedString(mn: Integer) is a domain constructor --R Abbreviation for IndexedString is ISTRING --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ISTRING --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 entries : % -> List(Character) eq? : (%,%) -> Boolean --R hash : % -> Integer index? : (Integer,%) -> Boolean ---R indices : % -> List Integer insert : (%,%,Integer) -> % +--R indices : % -> List(Integer) insert : (%,%,Integer) -> % --R leftTrim : (%,Character) -> % lowerCase : % -> % --R lowerCase! : % -> % prefix? : (%,%) -> Boolean --R qelt : (%,Integer) -> Character reverse : % -> % --R rightTrim : (%,Character) -> % sample : () -> % ---R split : (%,Character) -> List % suffix? : (%,%) -> Boolean +--R split : (%,Character) -> List(%) suffix? : (%,%) -> Boolean --R trim : (%,CharacterClass) -> % trim : (%,Character) -> % --R upperCase : % -> % upperCase! : % -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate @@ -59491,18 +59644,18 @@ IndexedOneDimensionalArray(S:Type, mn:Integer): --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 $ has finiteAggregate and Character has SETCAT --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") @@ -59520,14 +59673,14 @@ IndexedOneDimensionalArray(S:Type, mn:Integer): --R max : (%,%) -> % if Character has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (Character,%) -> Boolean if $ has finiteAggregate and Character has SETCAT ---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 @@ -59540,11 +59693,11 @@ IndexedOneDimensionalArray(S:Type, mn:Integer): --R remove : ((Character -> Boolean),%) -> % if $ has finiteAggregate --R remove : (Character,%) -> % if $ has finiteAggregate and Character has SETCAT --R removeDuplicates : % -> % if $ has finiteAggregate and Character has SETCAT ---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 @@ -59553,7 +59706,7 @@ IndexedOneDimensionalArray(S:Type, mn:Integer): --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 @@ -59887,6 +60040,7 @@ first column in an array and vice versa. --S 1 of 1 )show IndexedTwoDimensionalArray +--R --R IndexedTwoDimensionalArray(R: Type,mnRow: Integer,mnCol: Integer) is a domain constructor --R Abbreviation for IndexedTwoDimensionalArray is IARRAY2 --R This constructor is not exposed in this frame. @@ -59901,7 +60055,7 @@ first column in an array and vice versa. --R map! : ((R -> 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 sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?=? : (%,%) -> Boolean if R has SETCAT @@ -59910,16 +60064,16 @@ first column in an array and vice versa. --R column : (%,Integer) -> IndexedOneDimensionalArray(R,mnRow) --R count : (R,%) -> NonNegativeInteger if $ has finiteAggregate and R has SETCAT --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 $ has finiteAggregate and R has SETCAT ---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 @@ -60034,20 +60188,21 @@ IndexedTwoDimensionalArray(R,mnRow,mnCol):Exports == Implementation where --S 1 of 1 )show IndexedVector +--R --R IndexedVector(R: Type,mn: Integer) is a domain constructor --R Abbreviation for IndexedVector is IVECTOR --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for IVECTOR --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 @@ -60065,19 +60220,19 @@ IndexedTwoDimensionalArray(R,mnRow,mnCol):Exports == Implementation where --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 $ has finiteAggregate and R has SETCAT --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") @@ -60091,14 +60246,14 @@ IndexedTwoDimensionalArray(R,mnRow,mnCol):Exports == Implementation where --R max : (%,%) -> % if R has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (R,%) -> Boolean if $ has finiteAggregate and R has SETCAT ---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 @@ -60111,7 +60266,7 @@ IndexedTwoDimensionalArray(R,mnRow,mnCol):Exports == Implementation where --R removeDuplicates : % -> % if $ has finiteAggregate and R has SETCAT --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 @@ -60255,13 +60410,14 @@ IndexedVector(R:Type, mn:Integer): --S 1 of 1 )show InfiniteTuple ---R InfiniteTuple S: Type is a domain constructor +--R +--R InfiniteTuple(S: Type) is a domain constructor --R Abbreviation for InfiniteTuple is ITUPLE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ITUPLE --R --R------------------------------- Operations -------------------------------- ---R coerce : % -> OutputForm construct : % -> Stream S +--R coerce : % -> OutputForm construct : % -> Stream(S) --R generate : ((S -> S),S) -> % map : ((S -> S),%) -> % --R select : ((S -> Boolean),%) -> % --R filterUntil : ((S -> Boolean),%) -> % @@ -60763,6 +60919,7 @@ InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField(K,symb,BLMET):_ --S 1 of 1 )show InnerAlgebraicNumber +--R --R InnerAlgebraicNumber is a domain constructor --R Abbreviation for InnerAlgebraicNumber is IAN --R This constructor is not exposed in this frame. @@ -60770,110 +60927,113 @@ InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField(K,symb,BLMET):_ --R --R------------------------------- Operations -------------------------------- --R ?*? : (PositiveInteger,%) -> % ?*? : (Integer,%) -> % ---R ?*? : (%,%) -> % ?*? : (%,Fraction Integer) -> % ---R ?*? : (Fraction Integer,%) -> % ?**? : (%,PositiveInteger) -> % ---R ?**? : (%,Integer) -> % ?**? : (%,Fraction Integer) -> % ---R ?+? : (%,%) -> % -? : % -> % ---R ?-? : (%,%) -> % ?/? : (%,%) -> % ---R ? Boolean ?<=? : (%,%) -> Boolean ---R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean ---R ?>=? : (%,%) -> Boolean D : % -> % ---R D : (%,NonNegativeInteger) -> % 1 : () -> % ---R 0 : () -> % ?^? : (%,PositiveInteger) -> % ---R ?^? : (%,Integer) -> % associates? : (%,%) -> Boolean ---R belong? : BasicOperator -> Boolean box : List % -> % ---R box : % -> % coerce : Integer -> % ---R coerce : % -> % coerce : Fraction Integer -> % ---R coerce : Kernel % -> % coerce : % -> OutputForm ---R convert : % -> Complex Float convert : % -> DoubleFloat ---R convert : % -> Float differentiate : % -> % ---R distribute : (%,%) -> % distribute : % -> % ---R elt : (BasicOperator,%,%) -> % elt : (BasicOperator,%) -> % ---R eval : (%,List %,List %) -> % eval : (%,%,%) -> % ---R eval : (%,Equation %) -> % eval : (%,List Equation %) -> % ---R eval : (%,Kernel %,%) -> % factor : % -> Factored % ---R freeOf? : (%,Symbol) -> Boolean freeOf? : (%,%) -> Boolean ---R gcd : (%,%) -> % gcd : List % -> % ---R hash : % -> SingleInteger height : % -> NonNegativeInteger ---R inv : % -> % is? : (%,Symbol) -> Boolean ---R kernel : (BasicOperator,%) -> % kernels : % -> List Kernel % ---R latex : % -> String lcm : (%,%) -> % ---R lcm : List % -> % map : ((% -> %),Kernel %) -> % +--R ?*? : (%,%) -> % ?*? : (%,Fraction(Integer)) -> % +--R ?*? : (Fraction(Integer),%) -> % ?**? : (%,PositiveInteger) -> % +--R ?**? : (%,Integer) -> % ?+? : (%,%) -> % +--R -? : % -> % ?-? : (%,%) -> % +--R ?/? : (%,%) -> % ? Boolean +--R ?<=? : (%,%) -> Boolean ?=? : (%,%) -> Boolean +--R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean +--R D : % -> % D : (%,NonNegativeInteger) -> % +--R 1 : () -> % 0 : () -> % +--R ?^? : (%,PositiveInteger) -> % ?^? : (%,Integer) -> % +--R associates? : (%,%) -> Boolean belong? : BasicOperator -> Boolean +--R box : List(%) -> % box : % -> % +--R coerce : Integer -> % coerce : % -> % +--R coerce : Fraction(Integer) -> % coerce : Kernel(%) -> % +--R coerce : % -> OutputForm convert : % -> Complex(Float) +--R convert : % -> DoubleFloat convert : % -> Float +--R differentiate : % -> % distribute : (%,%) -> % +--R distribute : % -> % elt : (BasicOperator,%,%) -> % +--R elt : (BasicOperator,%) -> % eval : (%,%,%) -> % +--R eval : (%,Equation(%)) -> % eval : (%,Kernel(%),%) -> % +--R factor : % -> Factored(%) freeOf? : (%,Symbol) -> Boolean +--R freeOf? : (%,%) -> Boolean gcd : (%,%) -> % +--R gcd : List(%) -> % hash : % -> SingleInteger +--R height : % -> NonNegativeInteger inv : % -> % +--R is? : (%,Symbol) -> Boolean kernel : (BasicOperator,%) -> % +--R kernels : % -> List(Kernel(%)) latex : % -> String +--R lcm : (%,%) -> % lcm : List(%) -> % --R max : (%,%) -> % min : (%,%) -> % ---R norm : (%,List Kernel %) -> % norm : (%,Kernel %) -> % +--R norm : (%,List(Kernel(%))) -> % norm : (%,Kernel(%)) -> % --R nthRoot : (%,Integer) -> % one? : % -> Boolean ---R paren : List % -> % paren : % -> % +--R paren : List(%) -> % paren : % -> % --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") reduce : % -> % ---R ?rem? : (%,%) -> % retract : % -> Fraction Integer ---R retract : % -> Integer retract : % -> Kernel % ---R rootOf : Polynomial % -> % rootsOf : Polynomial % -> List % ---R sample : () -> % sizeLess? : (%,%) -> Boolean ---R sqrt : % -> % squareFree : % -> Factored % ---R squareFreePart : % -> % subst : (%,Equation %) -> % ---R tower : % -> List Kernel % trueEqual : (%,%) -> Boolean ---R unit? : % -> Boolean unitCanonical : % -> % ---R zero? : % -> Boolean zeroOf : Polynomial % -> % ---R zerosOf : Polynomial % -> List % ?~=? : (%,%) -> Boolean +--R ?rem? : (%,%) -> % retract : % -> Fraction(Integer) +--R retract : % -> Integer retract : % -> Kernel(%) +--R rootOf : Polynomial(%) -> % sample : () -> % +--R sizeLess? : (%,%) -> Boolean sqrt : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % +--R subst : (%,Equation(%)) -> % tower : % -> List(Kernel(%)) +--R trueEqual : (%,%) -> Boolean unit? : % -> Boolean +--R unitCanonical : % -> % zero? : % -> Boolean +--R zeroOf : Polynomial(%) -> % ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % +--R ?**? : (%,Fraction(Integer)) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R coerce : SparseMultivariatePolynomial(Integer,Kernel %) -> % +--R coerce : SparseMultivariatePolynomial(Integer,Kernel(%)) -> % --R definingPolynomial : % -> % if $ has RING ---R denom : % -> SparseMultivariatePolynomial(Integer,Kernel %) +--R denom : % -> SparseMultivariatePolynomial(Integer,Kernel(%)) --R differentiate : (%,NonNegativeInteger) -> % --R divide : (%,%) -> Record(quotient: %,remainder: %) ---R elt : (BasicOperator,List %) -> % +--R elt : (BasicOperator,List(%)) -> % --R elt : (BasicOperator,%,%,%,%) -> % --R elt : (BasicOperator,%,%,%) -> % --R euclideanSize : % -> NonNegativeInteger --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") +--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") --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R is? : (%,BasicOperator) -> Boolean ---R kernel : (BasicOperator,List %) -> % ---R mainKernel : % -> Union(Kernel %,"failed") ---R minPoly : Kernel % -> SparseUnivariatePolynomial % if $ has RING ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R norm : (SparseUnivariatePolynomial %,List Kernel %) -> SparseUnivariatePolynomial % ---R norm : (SparseUnivariatePolynomial %,Kernel %) -> SparseUnivariatePolynomial % ---R numer : % -> SparseMultivariatePolynomial(Integer,Kernel %) ---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 multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R norm : (SparseUnivariatePolynomial(%),List(Kernel(%))) -> SparseUnivariatePolynomial(%) +--R norm : (SparseUnivariatePolynomial(%),Kernel(%)) -> SparseUnivariatePolynomial(%) +--R numer : % -> SparseMultivariatePolynomial(Integer,Kernel(%)) +--R odd? : % -> Boolean if $ has RETRACT(INT) --R operator : BasicOperator -> BasicOperator ---R operators : % -> List BasicOperator ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R reducedSystem : Matrix % -> Matrix Fraction Integer ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Fraction Integer,vec: Vector Fraction Integer) ---R reducedSystem : Matrix % -> Matrix Integer ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) ---R retractIfCan : % -> Union(Fraction Integer,"failed") +--R operators : % -> List(BasicOperator) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R reducedSystem : Matrix(%) -> Matrix(Fraction(Integer)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Fraction(Integer)),vec: Vector(Fraction(Integer))) +--R reducedSystem : Matrix(%) -> Matrix(Integer) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") --R retractIfCan : % -> Union(Integer,"failed") ---R retractIfCan : % -> Union(Kernel %,"failed") ---R rootOf : SparseUnivariatePolynomial % -> % ---R rootOf : (SparseUnivariatePolynomial %,Symbol) -> % ---R rootsOf : SparseUnivariatePolynomial % -> List % ---R rootsOf : (SparseUnivariatePolynomial %,Symbol) -> List % ---R subst : (%,List Kernel %,List %) -> % ---R subst : (%,List Equation %) -> % +--R retractIfCan : % -> Union(Kernel(%),"failed") +--R rootOf : SparseUnivariatePolynomial(%) -> % +--R rootOf : (SparseUnivariatePolynomial(%),Symbol) -> % +--R rootsOf : Polynomial(%) -> List(%) +--R rootsOf : SparseUnivariatePolynomial(%) -> List(%) +--R rootsOf : (SparseUnivariatePolynomial(%),Symbol) -> List(%) +--R subst : (%,List(Kernel(%)),List(%)) -> % +--R subst : (%,List(Equation(%))) -> % --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) ---R zeroOf : SparseUnivariatePolynomial % -> % ---R zeroOf : (SparseUnivariatePolynomial %,Symbol) -> % ---R zerosOf : SparseUnivariatePolynomial % -> List % ---R zerosOf : (SparseUnivariatePolynomial %,Symbol) -> List % +--R zeroOf : SparseUnivariatePolynomial(%) -> % +--R zeroOf : (SparseUnivariatePolynomial(%),Symbol) -> % +--R zerosOf : Polynomial(%) -> List(%) +--R zerosOf : SparseUnivariatePolynomial(%) -> List(%) +--R zerosOf : (SparseUnivariatePolynomial(%),Symbol) -> List(%) --R --E 1 @@ -61152,102 +61312,104 @@ InnerAlgebraicNumber(): Exports == Implementation where --S 1 of 1 )show InnerFiniteField +--R --R InnerFiniteField(p: PositiveInteger,n: PositiveInteger) is a domain constructor --R Abbreviation for InnerFiniteField is IFF --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for IFF --R --R------------------------------- Operations -------------------------------- ---R ?*? : (InnerPrimeField p,%) -> % ?*? : (%,InnerPrimeField p) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % --R ?-? : (%,%) -> % -? : % -> % ---R ?/? : (%,InnerPrimeField p) -> % ?/? : (%,%) -> % ---R ?=? : (%,%) -> Boolean 1 : () -> % ---R 0 : () -> % ?^? : (%,Integer) -> % ---R ?^? : (%,PositiveInteger) -> % algebraic? : % -> Boolean ---R associates? : (%,%) -> Boolean basis : () -> Vector % ---R coerce : InnerPrimeField p -> % coerce : Fraction Integer -> % ---R coerce : % -> % coerce : Integer -> % ---R coerce : % -> OutputForm 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 norm : % -> InnerPrimeField p one? : % -> Boolean ---R prime? : % -> Boolean ?quo? : (%,%) -> % ---R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R retract : % -> InnerPrimeField p sample : () -> % ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % ---R squareFreePart : % -> % trace : % -> InnerPrimeField p ---R transcendent? : % -> Boolean unit? : % -> Boolean ---R unitCanonical : % -> % zero? : % -> Boolean ---R ?~=? : (%,%) -> Boolean +--R ?/? : (%,%) -> % ?=? : (%,%) -> Boolean +--R 1 : () -> % 0 : () -> % +--R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % +--R algebraic? : % -> Boolean associates? : (%,%) -> Boolean +--R basis : () -> Vector(%) coerce : InnerPrimeField(p) -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % +--R coerce : Integer -> % coerce : % -> OutputForm +--R degree : % -> PositiveInteger dimension : () -> CardinalNumber +--R factor : % -> Factored(%) gcd : List(%) -> % +--R gcd : (%,%) -> % hash : % -> SingleInteger +--R inGroundField? : % -> Boolean inv : % -> % +--R latex : % -> String lcm : List(%) -> % +--R lcm : (%,%) -> % norm : % -> InnerPrimeField(p) +--R one? : % -> Boolean prime? : % -> Boolean +--R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") +--R ?rem? : (%,%) -> % retract : % -> InnerPrimeField(p) +--R sample : () -> % sizeLess? : (%,%) -> Boolean +--R squareFree : % -> Factored(%) squareFreePart : % -> % +--R trace : % -> InnerPrimeField(p) transcendent? : % -> Boolean +--R unit? : % -> Boolean unitCanonical : % -> % +--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean +--R ?*? : (InnerPrimeField(p),%) -> % +--R ?*? : (%,InnerPrimeField(p)) -> % --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % ---R D : (%,NonNegativeInteger) -> % if InnerPrimeField p has FINITE ---R D : % -> % if InnerPrimeField p has FINITE ---R Frobenius : (%,NonNegativeInteger) -> % if InnerPrimeField p has FINITE ---R Frobenius : % -> % if InnerPrimeField p has FINITE +--R ?/? : (%,InnerPrimeField(p)) -> % +--R D : (%,NonNegativeInteger) -> % if InnerPrimeField(p) has FINITE +--R D : % -> % if InnerPrimeField(p) has FINITE +--R Frobenius : (%,NonNegativeInteger) -> % if InnerPrimeField(p) has FINITE +--R Frobenius : % -> % if InnerPrimeField(p) has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger ---R charthRoot : % -> Union(%,"failed") if InnerPrimeField p has CHARNZ or InnerPrimeField p has FINITE ---R charthRoot : % -> % if InnerPrimeField p has FINITE ---R conditionP : Matrix % -> Union(Vector %,"failed") if InnerPrimeField p has FINITE ---R coordinates : Vector % -> Matrix InnerPrimeField p ---R coordinates : % -> Vector InnerPrimeField p ---R createNormalElement : () -> % if InnerPrimeField p has FINITE ---R createPrimitiveElement : () -> % if InnerPrimeField p has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial InnerPrimeField p ---R degree : % -> OnePointCompletion PositiveInteger ---R differentiate : (%,NonNegativeInteger) -> % if InnerPrimeField p has FINITE ---R differentiate : % -> % if InnerPrimeField p has FINITE ---R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if InnerPrimeField p has CHARNZ or InnerPrimeField p has FINITE ---R discreteLog : % -> NonNegativeInteger if InnerPrimeField p has FINITE +--R charthRoot : % -> Union(%,"failed") if InnerPrimeField(p) has CHARNZ or InnerPrimeField(p) has FINITE +--R charthRoot : % -> % if InnerPrimeField(p) has FINITE +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if InnerPrimeField(p) has FINITE +--R coordinates : Vector(%) -> Matrix(InnerPrimeField(p)) +--R coordinates : % -> Vector(InnerPrimeField(p)) +--R createNormalElement : () -> % if InnerPrimeField(p) has FINITE +--R createPrimitiveElement : () -> % if InnerPrimeField(p) has FINITE +--R definingPolynomial : () -> SparseUnivariatePolynomial(InnerPrimeField(p)) +--R degree : % -> OnePointCompletion(PositiveInteger) +--R differentiate : (%,NonNegativeInteger) -> % if InnerPrimeField(p) has FINITE +--R differentiate : % -> % if InnerPrimeField(p) has FINITE +--R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if InnerPrimeField(p) has CHARNZ or InnerPrimeField(p) has FINITE +--R discreteLog : % -> NonNegativeInteger if InnerPrimeField(p) 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 InnerPrimeField p has FINITE ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R generator : () -> % if InnerPrimeField p has FINITE ---R index : PositiveInteger -> % if InnerPrimeField p has FINITE ---R init : () -> % if InnerPrimeField p has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial InnerPrimeField p) -> % if InnerPrimeField p has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial InnerPrimeField p,"failed") if InnerPrimeField p has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial InnerPrimeField p if InnerPrimeField p has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial InnerPrimeField p if InnerPrimeField p has FINITE ---R lookup : % -> PositiveInteger if InnerPrimeField p has FINITE ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if InnerPrimeField p has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial InnerPrimeField p ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R nextItem : % -> Union(%,"failed") if InnerPrimeField p has FINITE ---R norm : (%,PositiveInteger) -> % if InnerPrimeField p has FINITE ---R normal? : % -> Boolean if InnerPrimeField p has FINITE ---R normalElement : () -> % if InnerPrimeField p has FINITE ---R order : % -> OnePointCompletion PositiveInteger if InnerPrimeField p has CHARNZ or InnerPrimeField p has FINITE ---R order : % -> PositiveInteger if InnerPrimeField p has FINITE ---R primeFrobenius : % -> % if InnerPrimeField p has CHARNZ or InnerPrimeField p has FINITE ---R primeFrobenius : (%,NonNegativeInteger) -> % if InnerPrimeField p has CHARNZ or InnerPrimeField p has FINITE ---R primitive? : % -> Boolean if InnerPrimeField p has FINITE ---R primitiveElement : () -> % if InnerPrimeField p has FINITE ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R random : () -> % if InnerPrimeField p has FINITE ---R representationType : () -> Union("prime",polynomial,normal,cyclic) if InnerPrimeField p has FINITE ---R represents : Vector InnerPrimeField p -> % ---R retractIfCan : % -> Union(InnerPrimeField p,"failed") ---R size : () -> NonNegativeInteger if InnerPrimeField p has FINITE +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if InnerPrimeField(p) has FINITE +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R generator : () -> % if InnerPrimeField(p) has FINITE +--R index : PositiveInteger -> % if InnerPrimeField(p) has FINITE +--R init : () -> % if InnerPrimeField(p) has FINITE +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(InnerPrimeField(p))) -> % if InnerPrimeField(p) has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(InnerPrimeField(p)),"failed") if InnerPrimeField(p) has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(InnerPrimeField(p)) if InnerPrimeField(p) has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(InnerPrimeField(p)) if InnerPrimeField(p) has FINITE +--R lookup : % -> PositiveInteger if InnerPrimeField(p) has FINITE +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if InnerPrimeField(p) has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(InnerPrimeField(p)) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R nextItem : % -> Union(%,"failed") if InnerPrimeField(p) has FINITE +--R norm : (%,PositiveInteger) -> % if InnerPrimeField(p) has FINITE +--R normal? : % -> Boolean if InnerPrimeField(p) has FINITE +--R normalElement : () -> % if InnerPrimeField(p) has FINITE +--R order : % -> OnePointCompletion(PositiveInteger) if InnerPrimeField(p) has CHARNZ or InnerPrimeField(p) has FINITE +--R order : % -> PositiveInteger if InnerPrimeField(p) has FINITE +--R primeFrobenius : % -> % if InnerPrimeField(p) has CHARNZ or InnerPrimeField(p) has FINITE +--R primeFrobenius : (%,NonNegativeInteger) -> % if InnerPrimeField(p) has CHARNZ or InnerPrimeField(p) has FINITE +--R primitive? : % -> Boolean if InnerPrimeField(p) has FINITE +--R primitiveElement : () -> % if InnerPrimeField(p) has FINITE +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R random : () -> % if InnerPrimeField(p) has FINITE +--R representationType : () -> Union("prime",polynomial,normal,cyclic) if InnerPrimeField(p) has FINITE +--R represents : Vector(InnerPrimeField(p)) -> % +--R retractIfCan : % -> Union(InnerPrimeField(p),"failed") +--R size : () -> NonNegativeInteger if InnerPrimeField(p) has FINITE --R subtractIfCan : (%,%) -> Union(%,"failed") ---R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if InnerPrimeField p has FINITE ---R trace : (%,PositiveInteger) -> % if InnerPrimeField p has FINITE +--R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if InnerPrimeField(p) has FINITE +--R trace : (%,PositiveInteger) -> % if InnerPrimeField(p) has FINITE --R transcendenceDegree : () -> NonNegativeInteger --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -61407,6 +61569,7 @@ InnerFiniteField(p:PositiveInteger, n:PositiveInteger) == --S 1 of 1 )show InnerFreeAbelianMonoid +--R --R InnerFreeAbelianMonoid(S: SetCategory,E: CancellationAbelianMonoid,un: E) is a domain constructor --R Abbreviation for InnerFreeAbelianMonoid is IFAMON --R This constructor is not exposed in this frame. @@ -61427,7 +61590,7 @@ InnerFiniteField(p:PositiveInteger, n:PositiveInteger) == --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 @@ -61537,7 +61700,8 @@ This is an internal type which provides an implementation of --S 1 of 1 )show InnerIndexedTwoDimensionalArray ---R InnerIndexedTwoDimensionalArray(R: Type,mnRow: Integer,mnCol: Integer,Row: FiniteLinearAggregate R,Col: FiniteLinearAggregate R) is a domain constructor +--R +--R InnerIndexedTwoDimensionalArray(R: Type,mnRow: Integer,mnCol: Integer,Row: FiniteLinearAggregate(R),Col: FiniteLinearAggregate(R)) is a domain constructor --R Abbreviation for InnerIndexedTwoDimensionalArray is IIARRAY2 --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for IIARRAY2 @@ -61552,7 +61716,7 @@ This is an internal type which provides an implementation of --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 @@ -61561,16 +61725,16 @@ This is an internal type which provides an implementation of --R coerce : % -> OutputForm if R has SETCAT --R count : (R,%) -> NonNegativeInteger if $ has finiteAggregate and R has SETCAT --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 $ has finiteAggregate and R has SETCAT ---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 @@ -61750,6 +61914,7 @@ InnerIndexedTwoDimensionalArray(R,mnRow,mnCol,Row,Col):_ --S 1 of 1 )show InnerPAdicInteger +--R --R InnerPAdicInteger(p: Integer,unBalanced?: Boolean) is a domain constructor --R Abbreviation for InnerPAdicInteger is IPADIC --R This constructor is not exposed in this frame. @@ -61764,10 +61929,10 @@ InnerIndexedTwoDimensionalArray(R,mnRow,mnCol,Row,Col):_ --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 : % -> % @@ -61783,14 +61948,14 @@ InnerIndexedTwoDimensionalArray(R,mnRow,mnCol,Row,Col):_ --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 @@ -62140,13 +62305,14 @@ InnerPAdicInteger(p,unBalanced?): Exports == Implementation where --S 1 of 1 )show InnerPrimeField ---R InnerPrimeField p: PositiveInteger is a domain constructor +--R +--R InnerPrimeField(p: PositiveInteger) is a domain constructor --R Abbreviation for InnerPrimeField is IPF --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for IPF --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -62156,27 +62322,27 @@ InnerPAdicInteger(p,unBalanced?): Exports == Implementation where --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R algebraic? : % -> Boolean associates? : (%,%) -> Boolean ---R basis : () -> Vector % charthRoot : % -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R basis : () -> Vector(%) charthRoot : % -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R convert : % -> Integer coordinates : % -> Vector % +--R convert : % -> Integer coordinates : % -> Vector(%) --R createPrimitiveElement : () -> % degree : % -> PositiveInteger --R differentiate : % -> % dimension : () -> CardinalNumber ---R factor : % -> Factored % gcd : List % -> % +--R factor : % -> Factored(%) gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger --R inGroundField? : % -> Boolean index : PositiveInteger -> % --R init : () -> % inv : % -> % ---R latex : % -> String lcm : List % -> % +--R latex : % -> String lcm : List(%) -> % --R lcm : (%,%) -> % lookup : % -> PositiveInteger --R norm : % -> % one? : % -> Boolean --R order : % -> PositiveInteger prime? : % -> Boolean --R primeFrobenius : % -> % primitive? : % -> Boolean --R primitiveElement : () -> % ?quo? : (%,%) -> % --R random : () -> % recip : % -> Union(%,"failed") ---R ?rem? : (%,%) -> % represents : Vector % -> % +--R ?rem? : (%,%) -> % represents : Vector(%) -> % --R retract : % -> % sample : () -> % --R size : () -> NonNegativeInteger sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R trace : % -> % transcendent? : % -> Boolean --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean @@ -62185,42 +62351,42 @@ InnerPAdicInteger(p,unBalanced?): Exports == Implementation where --R Frobenius : % -> % if $ has FINITE --R Frobenius : (%,NonNegativeInteger) -> % if $ has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") ---R conditionP : Matrix % -> Union(Vector %,"failed") ---R coordinates : Vector % -> Matrix % +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") +--R coordinates : Vector(%) -> Matrix(%) --R createNormalElement : () -> % if $ has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial % ---R degree : % -> OnePointCompletion PositiveInteger +--R definingPolynomial : () -> SparseUnivariatePolynomial(%) +--R degree : % -> OnePointCompletion(PositiveInteger) --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 extensionDegree : () -> OnePointCompletion PositiveInteger +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) --R extensionDegree : () -> PositiveInteger ---R factorsOfCyclicGroupSize : () -> List Record(factor: Integer,exponent: Integer) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R generator : () -> % if $ has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial %) -> % if $ has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial % if $ has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial %,"failed") if $ has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial % if $ has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial % ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if $ has FINITE ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(%)) -> % if $ has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(%) if $ has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(%),"failed") if $ has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(%) if $ has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(%) +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if $ has FINITE +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R nextItem : % -> Union(%,"failed") --R norm : (%,PositiveInteger) -> % if $ has FINITE --R normal? : % -> Boolean if $ has FINITE --R normalElement : () -> % if $ has FINITE ---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 retractIfCan : % -> Union(%,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -62537,7 +62703,8 @@ InnerPrimeField(p:PositiveInteger): Exports == Implementation where --S 1 of 1 )show InnerSparseUnivariatePowerSeries ---R InnerSparseUnivariatePowerSeries Coef: Ring is a domain constructor +--R +--R InnerSparseUnivariatePowerSeries(Coef: Ring) is a domain constructor --R Abbreviation for InnerSparseUnivariatePowerSeries is ISUPS --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ISUPS @@ -62564,80 +62731,80 @@ InnerPrimeField(p:PositiveInteger): Exports == Implementation where --R taylorQuoByVar : % -> % 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 ?**? : (%,NonNegativeInteger) -> % --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 *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--R D : (%,Symbol) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) --R ?^? : (%,NonNegativeInteger) -> % --R approximate : (%,Integer) -> Coef if Coef has **: (Coef,Integer) -> Coef and Coef has coerce: Symbol -> Coef --R associates? : (%,%) -> Boolean if Coef has INTDOM ---R cAcos : % -> % if Coef has ALGEBRA FRAC INT ---R cAcosh : % -> % if Coef has ALGEBRA FRAC INT ---R cAcot : % -> % if Coef has ALGEBRA FRAC INT ---R cAcoth : % -> % if Coef has ALGEBRA FRAC INT ---R cAcsc : % -> % if Coef has ALGEBRA FRAC INT ---R cAcsch : % -> % if Coef has ALGEBRA FRAC INT ---R cAsec : % -> % if Coef has ALGEBRA FRAC INT ---R cAsech : % -> % if Coef has ALGEBRA FRAC INT ---R cAsin : % -> % if Coef has ALGEBRA FRAC INT ---R cAsinh : % -> % if Coef has ALGEBRA FRAC INT ---R cAtan : % -> % if Coef has ALGEBRA FRAC INT ---R cAtanh : % -> % if Coef has ALGEBRA FRAC INT ---R cCos : % -> % if Coef has ALGEBRA FRAC INT ---R cCosh : % -> % if Coef has ALGEBRA FRAC INT ---R cCot : % -> % if Coef has ALGEBRA FRAC INT ---R cCoth : % -> % if Coef has ALGEBRA FRAC INT ---R cCsc : % -> % if Coef has ALGEBRA FRAC INT ---R cCsch : % -> % if Coef has ALGEBRA FRAC INT ---R cExp : % -> % if Coef has ALGEBRA FRAC INT ---R cLog : % -> % if Coef has ALGEBRA FRAC INT ---R cPower : (%,Coef) -> % if Coef has ALGEBRA FRAC INT ---R cRationalPower : (%,Fraction Integer) -> % if Coef has ALGEBRA FRAC INT ---R cSec : % -> % if Coef has ALGEBRA FRAC INT ---R cSech : % -> % if Coef has ALGEBRA FRAC INT ---R cSin : % -> % if Coef has ALGEBRA FRAC INT ---R cSinh : % -> % if Coef has ALGEBRA FRAC INT ---R cTan : % -> % if Coef has ALGEBRA FRAC INT ---R cTanh : % -> % if Coef has ALGEBRA FRAC INT +--R cAcos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cAcosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cAcot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cAcoth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cAcsc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cAcsch : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cAsec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cAsech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cAsin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cAsinh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cAtan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cAtanh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cCos : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cCosh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cCot : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cCoth : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cCsc : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cCsch : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cExp : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cLog : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cPower : (%,Coef) -> % if Coef has ALGEBRA(FRAC(INT)) +--R cRationalPower : (%,Fraction(Integer)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R cSec : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cSech : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cSin : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cSinh : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cTan : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R cTanh : % -> % if Coef has ALGEBRA(FRAC(INT)) --R characteristic : () -> NonNegativeInteger --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 *: (Integer,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (Integer,Coef) -> Coef ---R differentiate : (%,Symbol) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) --R ?.? : (%,%) -> % if Integer has SGROUP ---R eval : (%,Coef) -> Stream Coef if Coef has **: (Coef,Integer) -> Coef +--R eval : (%,Coef) -> Stream(Coef) if Coef has **: (Coef,Integer) -> Coef --R exquo : (%,%) -> Union(%,"failed") if Coef has INTDOM ---R getRef : % -> Reference OrderedCompletion Integer ---R getStream : % -> Stream Record(k: Integer,c: Coef) +--R getRef : % -> Reference(OrderedCompletion(Integer)) +--R getStream : % -> Stream(Record(k: Integer,c: Coef)) --R iExquo : (%,%,Boolean) -> Union(%,"failed") ---R integrate : % -> % if Coef has ALGEBRA FRAC INT ---R makeSeries : (Reference OrderedCompletion Integer,Stream Record(k: Integer,c: Coef)) -> % ---R monomial : (%,List SingletonAsOrderedSet,List Integer) -> % +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R makeSeries : (Reference(OrderedCompletion(Integer)),Stream(Record(k: Integer,c: Coef))) -> % +--R monomial : (%,List(SingletonAsOrderedSet),List(Integer)) -> % --R monomial : (%,SingletonAsOrderedSet,Integer) -> % --R multiplyCoefficients : ((Integer -> Coef),%) -> % --R multiplyExponents : (%,PositiveInteger) -> % ---R series : Stream Record(k: Integer,c: Coef) -> % ---R seriesToOutputForm : (Stream Record(k: Integer,c: Coef),Reference OrderedCompletion Integer,Symbol,Coef,Fraction Integer) -> OutputForm +--R series : Stream(Record(k: Integer,c: Coef)) -> % +--R seriesToOutputForm : (Stream(Record(k: Integer,c: Coef)),Reference(OrderedCompletion(Integer)),Symbol,Coef,Fraction(Integer)) -> OutputForm --R subtractIfCan : (%,%) -> Union(%,"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 --E 1 @@ -63835,6 +64002,7 @@ InnerSparseUnivariatePowerSeries(Coef): Exports == Implementation where --S 1 of 1 )show InnerTable +--R --R InnerTable(Key: SetCategory,Entry: SetCategory,addDom) where --R addDom: TableAggregate(Key,Entry) with --R finiteAggregate is a domain constructor @@ -63846,9 +64014,9 @@ InnerSparseUnivariatePowerSeries(Coef): Exports == Implementation where --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 : () -> % @@ -63856,24 +64024,24 @@ InnerSparseUnivariatePowerSeries(Coef): Exports == Implementation where --R ?=? : (%,%) -> Boolean if Record(key: Key,entry: Entry) has SETCAT or 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 Record(key: Key,entry: Entry) has SETCAT or 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 $ has finiteAggregate and Entry has SETCAT --R count : (Record(key: Key,entry: Entry),%) -> NonNegativeInteger if $ has finiteAggregate and Record(key: Key,entry: Entry) has SETCAT --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) @@ -63892,12 +64060,12 @@ InnerSparseUnivariatePowerSeries(Coef): Exports == Implementation where --R maxIndex : % -> Key if Key has ORDSET --R member? : (Entry,%) -> Boolean if $ has finiteAggregate and Entry has SETCAT --R member? : (Record(key: Key,entry: Entry),%) -> Boolean if $ has finiteAggregate and Record(key: Key,entry: Entry) has SETCAT ---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 @@ -63913,7 +64081,7 @@ InnerSparseUnivariatePowerSeries(Coef): Exports == Implementation where --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 Record(key: Key,entry: Entry) has SETCAT or Entry has SETCAT --R --E 1 @@ -64044,7 +64212,8 @@ InnerTable(Key: SetCategory, Entry: SetCategory, addDom):Exports == Implementati --S 1 of 1 )show InnerTaylorSeries ---R InnerTaylorSeries Coef: Ring is a domain constructor +--R +--R InnerTaylorSeries(Coef: Ring) is a domain constructor --R Abbreviation for InnerTaylorSeries is ITAYLOR --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ITAYLOR @@ -64057,12 +64226,12 @@ InnerTable(Key: SetCategory, Entry: SetCategory, addDom):Exports == Implementati --R ?-? : (%,%) -> % -? : % -> % --R ?=? : (%,%) -> Boolean 1 : () -> % --R 0 : () -> % ?^? : (%,PositiveInteger) -> % ---R coefficients : % -> Stream Coef coerce : Integer -> % +--R coefficients : % -> Stream(Coef) coerce : Integer -> % --R coerce : % -> OutputForm hash : % -> SingleInteger --R latex : % -> String one? : % -> Boolean --R order : % -> NonNegativeInteger pole? : % -> Boolean --R recip : % -> Union(%,"failed") sample : () -> % ---R series : Stream Coef -> % zero? : % -> Boolean +--R series : Stream(Coef) -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % @@ -64286,6 +64455,7 @@ InnerTaylorSeries(Coef): Exports == Implementation where --S 1 of 1 )show InputForm +--R --R InputForm is a domain constructor --R Abbreviation for InputForm is INFORM --R This constructor is not exposed in this frame. @@ -64296,28 +64466,28 @@ InnerTaylorSeries(Coef): Exports == Implementation where --R ?**? : (%,Integer) -> % ?+? : (%,%) -> % --R ?/? : (%,%) -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % ---R atom? : % -> Boolean binary : (%,List %) -> % +--R atom? : % -> Boolean binary : (%,List(%)) -> % --R car : % -> % cdr : % -> % --R coerce : % -> OutputForm convert : SExpression -> % --R convert : % -> SExpression convert : OutputForm -> % --R convert : DoubleFloat -> % convert : Integer -> % --R convert : Symbol -> % convert : String -> % ---R convert : List % -> % declare : List % -> Symbol ---R destruct : % -> List % ?.? : (%,List Integer) -> % +--R convert : List(%) -> % declare : List(%) -> Symbol +--R destruct : % -> List(%) ?.? : (%,List(Integer)) -> % --R ?.? : (%,Integer) -> % eq : (%,%) -> Boolean --R expr : % -> OutputForm flatten : % -> % --R float : % -> DoubleFloat float? : % -> Boolean --R hash : % -> SingleInteger integer : % -> Integer --R integer? : % -> Boolean interpret : % -> Any ---R lambda : (%,List Symbol) -> % latex : % -> String +--R lambda : (%,List(Symbol)) -> % latex : % -> String --R list? : % -> Boolean null? : % -> Boolean --R pair? : % -> Boolean parse : String -> % --R string : % -> String string? : % -> Boolean --R symbol : % -> Symbol symbol? : % -> Boolean --R unparse : % -> String ?~=? : (%,%) -> Boolean --R ?**? : (%,NonNegativeInteger) -> % ---R compile : (Symbol,List %) -> Symbol ---R function : (%,List Symbol,Symbol) -> % +--R compile : (Symbol,List(%)) -> Symbol +--R function : (%,List(Symbol),Symbol) -> % --R --E 1 @@ -64783,7 +64953,7 @@ reduce(lcm,[2,45,-89,78,100,-45]) --R 13 --R (24) -- --R 4 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 24 --S 25 of 42 @@ -64840,7 +65010,7 @@ factor 102400 --R --R 12 2 --R (31) 2 5 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 31 --S 32 of 42 @@ -64880,7 +65050,7 @@ primes(100,175) --R --R --R (36) [173,167,163,157,151,149,139,137,131,127,113,109,107,103,101] ---R Type: List Integer +--R Type: List(Integer) --E 36 --S 37 of 42 @@ -64889,7 +65059,7 @@ factor(2 :: Complex Integer) --R --R 2 --R (37) - %i (1 + %i) ---R Type: Factored Complex Integer +--R Type: Factored(Complex(Integer)) --E 37 --S 38 of 42 @@ -64897,7 +65067,7 @@ factor(2 :: Complex Integer) --R --R --R (38) [0,1,1,2,3,5,8,13,21,34,...] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 38 --S 39 of 42 @@ -64905,7 +65075,7 @@ factor(2 :: Complex Integer) --R --R --R (39) [0,1,- 1,1,1,1,- 1,- 1,- 1,1,- 1] ---R Type: List Integer +--R Type: List(Integer) --E 39 --S 40 of 42 @@ -64913,7 +65083,7 @@ factor(2 :: Complex Integer) --R --R --R (40) [0,1,1,0,1,0,0,- 1,1,0] ---R Type: List Integer +--R Type: List(Integer) --E 40 --S 41 of 42 @@ -64921,7 +65091,7 @@ factor(2 :: Complex Integer) --R --R --R (41) [1,1,2,2,4,2,6,4,6,4,...] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 41 --S 42 of 42 @@ -64929,7 +65099,7 @@ factor(2 :: Complex Integer) --R --R --R (42) [1,- 1,- 1,0,- 1,1,- 1,0,0,1,...] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 42 )spool )lisp (bye) @@ -65539,7 +65709,8 @@ Integer: Join(IntegerNumberSystem, ConvertibleTo String, OpenMath) with --S 1 of 1 )show IntegerMod ---R IntegerMod p: PositiveInteger is a domain constructor +--R +--R IntegerMod(p: PositiveInteger) is a domain constructor --R Abbreviation for IntegerMod is ZMOD --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ZMOD @@ -65719,6 +65890,7 @@ IntegerMod(p:PositiveInteger): --S 1 of 1 )show IntegrationFunctionsTable +--R --R IntegrationFunctionsTable is a domain constructor --R Abbreviation for IntegrationFunctionsTable is INTFTBL --R This constructor is exposed in this frame. @@ -65726,12 +65898,12 @@ IntegerMod(p:PositiveInteger): --R --R------------------------------- Operations -------------------------------- --R clearTheFTable : () -> Void showTheFTable : () -> % ---R entries : % -> List Record(key: Record(var: Symbol,fn: Expression DoubleFloat,range: Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat),entry: Record(endPointContinuity: Union(continuous: Continuous at the end points,lowerSingular: There is a singularity at the lower end point,upperSingular: There is a singularity at the upper end point,bothSingular: There are singularities at both end points,notEvaluated: End point continuity not yet evaluated),singularitiesStream: Union(str: Stream DoubleFloat,notEvaluated: Internal singularities not yet evaluated),range: Union(finite: The range is finite,lowerInfinite: The bottom of range is infinite,upperInfinite: The top of range is infinite,bothInfinite: Both top and bottom points are infinite,notEvaluated: Range not yet evaluated))) ---R entry : Record(var: Symbol,fn: Expression DoubleFloat,range: Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat) -> Record(endPointContinuity: Union(continuous: Continuous at the end points,lowerSingular: There is a singularity at the lower end point,upperSingular: There is a singularity at the upper end point,bothSingular: There are singularities at both end points,notEvaluated: End point continuity not yet evaluated),singularitiesStream: Union(str: Stream DoubleFloat,notEvaluated: Internal singularities not yet evaluated),range: Union(finite: The range is finite,lowerInfinite: The bottom of range is infinite,upperInfinite: The top of range is infinite,bothInfinite: Both top and bottom points are infinite,notEvaluated: Range not yet evaluated)) ---R fTable : List Record(key: Record(var: Symbol,fn: Expression DoubleFloat,range: Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat),entry: Record(endPointContinuity: Union(continuous: Continuous at the end points,lowerSingular: There is a singularity at the lower end point,upperSingular: There is a singularity at the upper end point,bothSingular: There are singularities at both end points,notEvaluated: End point continuity not yet evaluated),singularitiesStream: Union(str: Stream DoubleFloat,notEvaluated: Internal singularities not yet evaluated),range: Union(finite: The range is finite,lowerInfinite: The bottom of range is infinite,upperInfinite: The top of range is infinite,bothInfinite: Both top and bottom points are infinite,notEvaluated: Range not yet evaluated))) -> % ---R insert! : Record(key: Record(var: Symbol,fn: Expression DoubleFloat,range: Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat),entry: Record(endPointContinuity: Union(continuous: Continuous at the end points,lowerSingular: There is a singularity at the lower end point,upperSingular: There is a singularity at the upper end point,bothSingular: There are singularities at both end points,notEvaluated: End point continuity not yet evaluated),singularitiesStream: Union(str: Stream DoubleFloat,notEvaluated: Internal singularities not yet evaluated),range: Union(finite: The range is finite,lowerInfinite: The bottom of range is infinite,upperInfinite: The top of range is infinite,bothInfinite: Both top and bottom points are infinite,notEvaluated: Range not yet evaluated))) -> % ---R keys : % -> List Record(var: Symbol,fn: Expression DoubleFloat,range: Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat) ---R showAttributes : Record(var: Symbol,fn: Expression DoubleFloat,range: Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat) -> Union(Record(endPointContinuity: Union(continuous: Continuous at the end points,lowerSingular: There is a singularity at the lower end point,upperSingular: There is a singularity at the upper end point,bothSingular: There are singularities at both end points,notEvaluated: End point continuity not yet evaluated),singularitiesStream: Union(str: Stream DoubleFloat,notEvaluated: Internal singularities not yet evaluated),range: Union(finite: The range is finite,lowerInfinite: The bottom of range is infinite,upperInfinite: The top of range is infinite,bothInfinite: Both top and bottom points are infinite,notEvaluated: Range not yet evaluated)),"failed") +--R entries : % -> List(Record(key: Record(var: Symbol,fn: Expression(DoubleFloat),range: Segment(OrderedCompletion(DoubleFloat)),abserr: DoubleFloat,relerr: DoubleFloat),entry: Record(endPointContinuity: Union(continuous: Continuous at the end points,lowerSingular: There is a singularity at the lower end point,upperSingular: There is a singularity at the upper end point,bothSingular: There are singularities at both end points,notEvaluated: End point continuity not yet evaluated),singularitiesStream: Union(str: Stream(DoubleFloat),notEvaluated: Internal singularities not yet evaluated),range: Union(finite: The range is finite,lowerInfinite: The bottom of range is infinite,upperInfinite: The top of range is infinite,bothInfinite: Both top and bottom points are infinite,notEvaluated: Range not yet evaluated)))) +--R entry : Record(var: Symbol,fn: Expression(DoubleFloat),range: Segment(OrderedCompletion(DoubleFloat)),abserr: DoubleFloat,relerr: DoubleFloat) -> Record(endPointContinuity: Union(continuous: Continuous at the end points,lowerSingular: There is a singularity at the lower end point,upperSingular: There is a singularity at the upper end point,bothSingular: There are singularities at both end points,notEvaluated: End point continuity not yet evaluated),singularitiesStream: Union(str: Stream(DoubleFloat),notEvaluated: Internal singularities not yet evaluated),range: Union(finite: The range is finite,lowerInfinite: The bottom of range is infinite,upperInfinite: The top of range is infinite,bothInfinite: Both top and bottom points are infinite,notEvaluated: Range not yet evaluated)) +--R fTable : List(Record(key: Record(var: Symbol,fn: Expression(DoubleFloat),range: Segment(OrderedCompletion(DoubleFloat)),abserr: DoubleFloat,relerr: DoubleFloat),entry: Record(endPointContinuity: Union(continuous: Continuous at the end points,lowerSingular: There is a singularity at the lower end point,upperSingular: There is a singularity at the upper end point,bothSingular: There are singularities at both end points,notEvaluated: End point continuity not yet evaluated),singularitiesStream: Union(str: Stream(DoubleFloat),notEvaluated: Internal singularities not yet evaluated),range: Union(finite: The range is finite,lowerInfinite: The bottom of range is infinite,upperInfinite: The top of range is infinite,bothInfinite: Both top and bottom points are infinite,notEvaluated: Range not yet evaluated)))) -> % +--R insert! : Record(key: Record(var: Symbol,fn: Expression(DoubleFloat),range: Segment(OrderedCompletion(DoubleFloat)),abserr: DoubleFloat,relerr: DoubleFloat),entry: Record(endPointContinuity: Union(continuous: Continuous at the end points,lowerSingular: There is a singularity at the lower end point,upperSingular: There is a singularity at the upper end point,bothSingular: There are singularities at both end points,notEvaluated: End point continuity not yet evaluated),singularitiesStream: Union(str: Stream(DoubleFloat),notEvaluated: Internal singularities not yet evaluated),range: Union(finite: The range is finite,lowerInfinite: The bottom of range is infinite,upperInfinite: The top of range is infinite,bothInfinite: Both top and bottom points are infinite,notEvaluated: Range not yet evaluated))) -> % +--R keys : % -> List(Record(var: Symbol,fn: Expression(DoubleFloat),range: Segment(OrderedCompletion(DoubleFloat)),abserr: DoubleFloat,relerr: DoubleFloat)) +--R showAttributes : Record(var: Symbol,fn: Expression(DoubleFloat),range: Segment(OrderedCompletion(DoubleFloat)),abserr: DoubleFloat,relerr: DoubleFloat) -> Union(Record(endPointContinuity: Union(continuous: Continuous at the end points,lowerSingular: There is a singularity at the lower end point,upperSingular: There is a singularity at the upper end point,bothSingular: There are singularities at both end points,notEvaluated: End point continuity not yet evaluated),singularitiesStream: Union(str: Stream(DoubleFloat),notEvaluated: Internal singularities not yet evaluated),range: Union(finite: The range is finite,lowerInfinite: The bottom of range is infinite,upperInfinite: The top of range is infinite,bothInfinite: Both top and bottom points are infinite,notEvaluated: Range not yet evaluated)),"failed") --R --E 1 @@ -65881,13 +66053,14 @@ IntegrationFunctionsTable(): E == I where --S 1 of 1 )show IntegrationResult ---R IntegrationResult F: Field is a domain constructor +--R +--R IntegrationResult(F: Field) is a domain constructor --R Abbreviation for IntegrationResult is IR --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for IR --R --R------------------------------- Operations -------------------------------- ---R ?*? : (%,Fraction Integer) -> % ?*? : (Fraction Integer,%) -> % +--R ?*? : (%,Fraction(Integer)) -> % ?*? : (Fraction(Integer),%) -> % --R ?*? : (Integer,%) -> % ?*? : (PositiveInteger,%) -> % --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean @@ -65899,11 +66072,11 @@ IntegrationFunctionsTable(): E == I where --R sample : () -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % ---R differentiate : (%,Symbol) -> F if F has PDRING SYMBOL ---R integral : (F,Symbol) -> % if F has RETRACT SYMBOL ---R logpart : % -> List Record(scalar: Fraction Integer,coeff: SparseUnivariatePolynomial F,logand: SparseUnivariatePolynomial F) ---R mkAnswer : (F,List Record(scalar: Fraction Integer,coeff: SparseUnivariatePolynomial F,logand: SparseUnivariatePolynomial F),List Record(integrand: F,intvar: F)) -> % ---R notelem : % -> List Record(integrand: F,intvar: F) +--R differentiate : (%,Symbol) -> F if F has PDRING(SYMBOL) +--R integral : (F,Symbol) -> % if F has RETRACT(SYMBOL) +--R logpart : % -> List(Record(scalar: Fraction(Integer),coeff: SparseUnivariatePolynomial(F),logand: SparseUnivariatePolynomial(F))) +--R mkAnswer : (F,List(Record(scalar: Fraction(Integer),coeff: SparseUnivariatePolynomial(F),logand: SparseUnivariatePolynomial(F))),List(Record(integrand: F,intvar: F))) -> % +--R notelem : % -> List(Record(integrand: F,intvar: F)) --R retractIfCan : % -> Union(F,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") --R @@ -66900,7 +67073,7 @@ x :: Expression Integer --R --R --R (1) x ---R Type: Expression Integer +--R Type: Expression(Integer) --E 1 --S 2 of 19 @@ -66908,7 +67081,7 @@ kernel x --R --R --R (2) x ---R Type: Kernel Expression Integer +--R Type: Kernel(Expression(Integer)) --E 2 --S 3 of 19 @@ -66916,7 +67089,7 @@ sin(x) + cos(x) --R --R --R (3) sin(x) + cos(x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 3 --S 4 of 19 @@ -66924,7 +67097,7 @@ kernels % --R --R --R (4) [sin(x),cos(x)] ---R Type: List Kernel Expression Integer +--R Type: List(Kernel(Expression(Integer))) --E 4 --S 5 of 19 @@ -66933,7 +67106,7 @@ sin(x)**2 + sin(x) + cos(x) --R --R 2 --R (5) sin(x) + sin(x) + cos(x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 5 --S 6 of 19 @@ -66941,7 +67114,7 @@ kernels % --R --R --R (6) [sin(x),cos(x)] ---R Type: List Kernel Expression Integer +--R Type: List(Kernel(Expression(Integer))) --E 6 --S 7 of 19 @@ -66949,7 +67122,7 @@ kernels(1 :: Expression Integer) --R --R --R (7) [] ---R Type: List Kernel Expression Integer +--R Type: List(Kernel(Expression(Integer))) --E 7 --S 8 of 19 @@ -66957,7 +67130,7 @@ mainKernel(cos(x) + tan(x)) --R --R --R (8) tan(x) ---R Type: Union(Kernel Expression Integer,...) +--R Type: Union(Kernel(Expression(Integer)),...) --E 8 --S 9 of 19 @@ -67021,7 +67194,7 @@ e := f(x, y, 10) --R --R --R (16) f(x,y,10) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 16 --S 17 of 19 @@ -67045,7 +67218,7 @@ argument mainKernel e --R --R --R (19) [x,y,10] ---R Type: List Expression Integer +--R Type: List(Expression(Integer)) --E 19 )spool )lisp (bye) @@ -67391,7 +67564,7 @@ ey: KeyedAccessFile(Integer) := open("editor.year", "output") --R --R --R (1) "editor.year" ---R Type: KeyedAccessFile Integer +--R Type: KeyedAccessFile(Integer) --E 1 --S 2 of 20 @@ -67471,7 +67644,7 @@ keys ey --R --R --R (11) ["Fitch","Caviness"] ---R Type: List String +--R Type: List(String) --E 11 --S 12 of 20 @@ -67495,7 +67668,7 @@ reopen!(ey, "output") --R --R --R (14) "editor.year" ---R Type: KeyedAccessFile Integer +--R Type: KeyedAccessFile(Integer) --E 14 --S 15 of 20 @@ -67527,7 +67700,7 @@ close! ey --R --R --R (18) "editor.year" ---R Type: KeyedAccessFile Integer +--R Type: KeyedAccessFile(Integer) --E 18 --S 19 of 20 @@ -67535,7 +67708,7 @@ keys ey --R --R --R (19) ["Wang","Calmet","van Hulzen","Fitch","Caviness"] ---R Type: List String +--R Type: List(String) --E 19 --S 20 of 20 @@ -67543,7 +67716,7 @@ members ey --R --R --R (20) [1981,1982,1983,1984,1985] ---R Type: List Integer +--R Type: List(Integer) --E 20 )system rm -r editor.year @@ -67884,7 +68057,8 @@ KeyedAccessFile(Entry): KAFcategory == KAFcapsule where --S 1 of 1 )show LaurentPolynomial ---R LaurentPolynomial(R: IntegralDomain,UP: UnivariatePolynomialCategory R) is a domain constructor +--R +--R LaurentPolynomial(R: IntegralDomain,UP: UnivariatePolynomialCategory(R)) is a domain constructor --R Abbreviation for LaurentPolynomial is LAUPOL --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for LAUPOL @@ -67900,7 +68074,7 @@ KeyedAccessFile(Entry): KAFcategory == KAFcapsule where --R coefficient : (%,Integer) -> R coerce : UP -> % --R coerce : R -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R convert : % -> Fraction UP degree : % -> Integer +--R convert : % -> Fraction(UP) degree : % -> Integer --R hash : % -> SingleInteger latex : % -> String --R leadingCoefficient : % -> R monomial : (R,Integer) -> % --R monomial? : % -> Boolean one? : % -> Boolean @@ -67913,45 +68087,45 @@ KeyedAccessFile(Entry): KAFcategory == KAFcapsule where --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R D : (%,NonNegativeInteger) -> % if UP has DIFRING ---R D : (%,Symbol) -> % if UP has PDRING SYMBOL ---R D : (%,List Symbol) -> % if UP has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if UP has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if UP has PDRING SYMBOL +--R D : (%,Symbol) -> % if UP has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if UP has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if UP has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if UP has PDRING(SYMBOL) --R D : (%,(UP -> UP),NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if R has CHARNZ ---R coerce : Fraction Integer -> % if R has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) --R differentiate : % -> % if UP has DIFRING --R differentiate : (%,NonNegativeInteger) -> % if UP has DIFRING ---R differentiate : (%,Symbol) -> % if UP has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if UP has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if UP has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if UP has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if UP has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if UP has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if UP has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if UP has PDRING(SYMBOL) --R differentiate : (%,(UP -> UP),NonNegativeInteger) -> % --R differentiate : (%,(UP -> UP)) -> % --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") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if R has FIELD --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if R has FIELD --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 lcm : (%,%) -> % if R has FIELD ---R lcm : List % -> % if R has FIELD ---R multiEuclidean : (List %,%) -> Union(List %,"failed") if R has FIELD ---R principalIdeal : List % -> Record(coef: List %,generator: %) if R has FIELD +--R lcm : List(%) -> % if R has FIELD +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if R has FIELD +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if R has FIELD --R ?quo? : (%,%) -> % if R has FIELD --R ?rem? : (%,%) -> % if R has FIELD ---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(UP,"failed") --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 separate : Fraction UP -> Record(polyPart: %,fracPart: Fraction UP) if R has FIELD +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT(INT) +--R separate : Fraction(UP) -> Record(polyPart: %,fracPart: Fraction(UP)) if R has FIELD --R sizeLess? : (%,%) -> Boolean if R has FIELD --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) @@ -68229,7 +68403,7 @@ stuff."poly" := x**2 + 1 --R --R 2 --R (3) x + 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 3 --S 4 of 7 @@ -68245,7 +68419,7 @@ keys stuff --R --R --R (5) ["str","poly","int"] ---R Type: List String +--R Type: List(String) --E 5 --S 6 of 7 @@ -68254,7 +68428,7 @@ stuff.poly --R --R 2 --R (6) x + 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 6 --S 7 of 7 @@ -68263,7 +68437,7 @@ stuff("poly") --R --R 2 --R (7) x + 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 7 )system rm -rf Neat.stuff @@ -68464,7 +68638,7 @@ b: Symbol := 'b coef := Fraction(Integer) --R --R ---R (3) Fraction Integer +--R (3) Fraction(Integer) --R Type: Domain --E 3 @@ -68472,7 +68646,7 @@ coef := Fraction(Integer) group := LieExponentials(Symbol, coef, 3) --R --R ---R (4) LieExponentials(Symbol,Fraction Integer,3) +--R (4) LieExponentials(Symbol,Fraction(Integer),3) --R Type: Domain --E 4 @@ -68480,7 +68654,7 @@ group := LieExponentials(Symbol, coef, 3) lpoly := LiePolynomial(Symbol, coef) --R --R ---R (5) LiePolynomial(Symbol,Fraction Integer) +--R (5) LiePolynomial(Symbol,Fraction(Integer)) --R Type: Domain --E 5 @@ -68488,7 +68662,7 @@ lpoly := LiePolynomial(Symbol, coef) poly := XPBWPolynomial(Symbol, coef) --R --R ---R (6) XPBWPolynomial(Symbol,Fraction Integer) +--R (6) XPBWPolynomial(Symbol,Fraction(Integer)) --R Type: Domain --E 6 @@ -68498,7 +68672,7 @@ ea := exp(a::lpoly)$group --R --R [a] --R (7) e ---R Type: LieExponentials(Symbol,Fraction Integer,3) +--R Type: LieExponentials(Symbol,Fraction(Integer),3) --E 7 --S 8 of 13 @@ -68507,7 +68681,7 @@ eb := exp(b::lpoly)$group --R --R [b] --R (8) e ---R Type: LieExponentials(Symbol,Fraction Integer,3) +--R Type: LieExponentials(Symbol,Fraction(Integer),3) --E 8 --S 9 of 13 @@ -68518,7 +68692,7 @@ g: group := ea*eb --R - [a b ] - [a b] --R [b] 2 [a b] 2 [a] --R (9) e e e e e ---R Type: LieExponentials(Symbol,Fraction Integer,3) +--R Type: LieExponentials(Symbol,Fraction(Integer),3) --E 9 --S 10 of 13 @@ -68537,7 +68711,7 @@ g :: poly --R 1 --R - [b][b][b] --R 6 ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 10 --S 11 of 13 @@ -68547,7 +68721,7 @@ log(g)$group --R 1 1 2 1 2 --R (11) [a] + [b] + - [a b] + -- [a b] + -- [a b ] --R 2 12 12 ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 11 --S 12 of 13 @@ -68556,7 +68730,7 @@ g1: group := inv(g) --R --R - [b] - [a] --R (12) e e ---R Type: LieExponentials(Symbol,Fraction Integer,3) +--R Type: LieExponentials(Symbol,Fraction(Integer),3) --E 12 --S 13 of 13 @@ -68564,7 +68738,7 @@ g*g1 --R --R --R (13) 1 ---R Type: LieExponentials(Symbol,Fraction Integer,3) +--R Type: LieExponentials(Symbol,Fraction(Integer),3) --E 13 )spool )lisp (bye) @@ -68842,7 +69016,7 @@ LieExponentials(VarSet, R, Order): XDPcat == XDPdef where RN := Fraction Integer --R --R ---R (1) Fraction Integer +--R (1) Fraction(Integer) --R Type: Domain --E 1 @@ -68850,7 +69024,7 @@ RN := Fraction Integer Lpoly := LiePolynomial(Symbol,RN) --R --R ---R (2) LiePolynomial(Symbol,Fraction Integer) +--R (2) LiePolynomial(Symbol,Fraction(Integer)) --R Type: Domain --E 2 @@ -68858,7 +69032,7 @@ Lpoly := LiePolynomial(Symbol,RN) Dpoly := XDPOLY(Symbol,RN) --R --R ---R (3) XDistributedPolynomial(Symbol,Fraction Integer) +--R (3) XDistributedPolynomial(Symbol,Fraction(Integer)) --R Type: Domain --E 3 @@ -68866,7 +69040,7 @@ Dpoly := XDPOLY(Symbol,RN) Lword := LyndonWord Symbol --R --R ---R (4) LyndonWord Symbol +--R (4) LyndonWord(Symbol) --R Type: Domain --E 4 @@ -68899,7 +69073,7 @@ aa: Lpoly := a --R --R --R (8) [a] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 8 --S 9 of 28 @@ -68907,7 +69081,7 @@ bb: Lpoly := b --R --R --R (9) [b] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 9 --S 10 of 28 @@ -68915,7 +69089,7 @@ cc: Lpoly := c --R --R --R (10) [c] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 10 --S 11 of 28 @@ -68923,7 +69097,7 @@ p : Lpoly := [aa,bb] --R --R --R (11) [a b] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 11 --S 12 of 28 @@ -68932,7 +69106,7 @@ q : Lpoly := [p,bb] --R --R 2 --R (12) [a b ] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 12 --S 13 of 28 @@ -68941,7 +69115,7 @@ liste : List Lword := LyndonWordsList([a,b], 4) --R --R 2 2 3 2 2 3 --R (13) [[a],[b],[a b],[a b],[a b ],[a b],[a b ],[a b ]] ---R Type: List LyndonWord Symbol +--R Type: List(LyndonWord(Symbol)) --E 13 --S 14 of 28 @@ -68950,7 +69124,7 @@ r: Lpoly := p + q + 3*LiePoly(liste.4)$Lpoly --R --R 2 2 --R (14) [a b] + 3[a b] + [a b ] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 14 --S 15 of 28 @@ -68959,7 +69133,7 @@ s:Lpoly := [p,r] --R --R 2 2 --R (15) - 3[a b a b] + [a b a b ] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 15 --S 16 of 28 @@ -68968,7 +69142,7 @@ t:Lpoly := s + 2*LiePoly(liste.3) - 5*LiePoly(liste.5) --R --R 2 2 2 --R (16) 2[a b] - 5[a b ] - 3[a b a b] + [a b a b ] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 16 --S 17 of 28 @@ -68985,30 +69159,30 @@ mirror t --R --R 2 2 2 --R (18) - 2[a b] - 5[a b ] - 3[a b a b] + [a b a b ] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 18 --S 19 of 28 Jacobi(p: Lpoly, q: Lpoly, r: Lpoly): Lpoly == _ [ [p,q]$Lpoly, r] + [ [q,r]$Lpoly, p] + [ [r,p]$Lpoly, q] --R ---R Function declaration Jacobi : (LiePolynomial(Symbol,Fraction Integer ---R ),LiePolynomial(Symbol,Fraction Integer),LiePolynomial(Symbol, ---R Fraction Integer)) -> LiePolynomial(Symbol,Fraction Integer) has ---R been added to workspace. +--R Function declaration Jacobi : (LiePolynomial(Symbol,Fraction(Integer +--R )),LiePolynomial(Symbol,Fraction(Integer)),LiePolynomial(Symbol, +--R Fraction(Integer))) -> LiePolynomial(Symbol,Fraction(Integer)) +--R has been added to workspace. --R Type: Void --E 19 --S 20 of 28 test: Lpoly := Jacobi(a,b,b) --R ---R Compiling function Jacobi with type (LiePolynomial(Symbol,Fraction ---R Integer),LiePolynomial(Symbol,Fraction Integer),LiePolynomial( ---R Symbol,Fraction Integer)) -> LiePolynomial(Symbol,Fraction ---R Integer) +--R Compiling function Jacobi with type (LiePolynomial(Symbol,Fraction( +--R Integer)),LiePolynomial(Symbol,Fraction(Integer)),LiePolynomial( +--R Symbol,Fraction(Integer))) -> LiePolynomial(Symbol,Fraction( +--R Integer)) --R --R (20) 0 ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 20 --S 21 of 28 @@ -69016,7 +69190,7 @@ test: Lpoly := Jacobi(p,q,r) --R --R --R (21) 0 ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 21 --S 22 of 28 @@ -69024,7 +69198,7 @@ test: Lpoly := Jacobi(r,s,t) --R --R --R (22) 0 ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 22 --S 23 of 28 @@ -69033,7 +69207,7 @@ eval(p, a, p)$Lpoly --R --R 2 --R (23) [a b ] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 23 --S 24 of 28 @@ -69041,7 +69215,7 @@ eval(p, [a,b], [2*bb, 3*aa])$Lpoly --R --R --R (24) - 6[a b] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 24 --S 25 of 28 @@ -69049,7 +69223,7 @@ r: Lpoly := [p,c] --R --R --R (25) [a b c] + [a c b] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 25 --S 26 of 28 @@ -69057,7 +69231,7 @@ r1: Lpoly := eval(r, [a,b,c], [bb, cc, aa])$Lpoly --R --R --R (26) - [a b c] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 26 --S 27 of 28 @@ -69065,7 +69239,7 @@ r2: Lpoly := eval(r, [a,b,c], [cc, aa, bb])$Lpoly --R --R --R (27) - [a c b] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 27 --S 28 of 28 @@ -69073,7 +69247,7 @@ r + r1 + r2 --R --R --R (28) 0 ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 28 )spool @@ -69491,6 +69665,7 @@ LiePolynomial(VarSet:OrderedSet, R:CommutativeRing) : Public == Private where --S 1 of 1 )show LieSquareMatrix +--R --R LieSquareMatrix(n: PositiveInteger,R: CommutativeRing) is a domain constructor --R Abbreviation for LieSquareMatrix is LSQM --R This constructor is exposed in this frame. @@ -69507,14 +69682,14 @@ LiePolynomial(VarSet:OrderedSet, R:CommutativeRing) : Public == Private where --R ?^? : (%,PositiveInteger) -> % alternative? : () -> Boolean --R antiAssociative? : () -> Boolean antiCommutative? : () -> Boolean --R antiCommutator : (%,%) -> % antisymmetric? : % -> Boolean ---R apply : (Matrix R,%) -> % associative? : () -> Boolean ---R associator : (%,%,%) -> % basis : () -> Vector % ---R coerce : % -> Matrix R coerce : R -> % +--R apply : (Matrix(R),%) -> % associative? : () -> Boolean +--R associator : (%,%,%) -> % basis : () -> Vector(%) +--R coerce : % -> Matrix(R) coerce : R -> % --R coerce : Integer -> % coerce : % -> OutputForm --R commutative? : () -> Boolean commutator : (%,%) -> % ---R convert : % -> Vector R convert : Vector R -> % ---R coordinates : % -> Vector R copy : % -> % ---R diagonal? : % -> Boolean diagonalMatrix : List R -> % +--R convert : % -> Vector(R) convert : Vector(R) -> % +--R coordinates : % -> Vector(R) copy : % -> % +--R diagonal? : % -> Boolean diagonalMatrix : List(R) -> % --R diagonalProduct : % -> R ?.? : (%,Integer) -> R --R elt : (%,Integer,Integer) -> R elt : (%,Integer,Integer,R) -> R --R empty : () -> % empty? : % -> Boolean @@ -69522,25 +69697,25 @@ LiePolynomial(VarSet:OrderedSet, R:CommutativeRing) : Public == Private where --R hash : % -> SingleInteger jacobiIdentity? : () -> Boolean --R jordanAdmissible? : () -> Boolean jordanAlgebra? : () -> Boolean --R latex : % -> String leftAlternative? : () -> Boolean ---R leftDiscriminant : Vector % -> R leftDiscriminant : () -> R +--R leftDiscriminant : Vector(%) -> R leftDiscriminant : () -> R --R leftNorm : % -> R leftTrace : % -> R ---R leftTraceMatrix : () -> Matrix R lieAdmissible? : () -> Boolean ---R lieAlgebra? : () -> Boolean listOfLists : % -> List List R +--R leftTraceMatrix : () -> Matrix(R) lieAdmissible? : () -> Boolean +--R lieAlgebra? : () -> Boolean listOfLists : % -> List(List(R)) --R map : ((R -> R),%) -> % map : (((R,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 one? : % -> Boolean --R powerAssociative? : () -> Boolean qelt : (%,Integer,Integer) -> R --R rank : () -> PositiveInteger recip : % -> Union(%,"failed") ---R represents : Vector R -> % retract : % -> R ---R rightAlternative? : () -> Boolean rightDiscriminant : Vector % -> R ---R rightDiscriminant : () -> R rightNorm : % -> R ---R rightTrace : % -> R rightTraceMatrix : () -> Matrix R ---R sample : () -> % scalarMatrix : R -> % ---R someBasis : () -> Vector % square? : % -> Boolean ---R symmetric? : % -> Boolean trace : % -> R ---R zero? : % -> Boolean ?~=? : (%,%) -> Boolean +--R represents : Vector(R) -> % retract : % -> R +--R rightAlternative? : () -> Boolean rightDiscriminant : () -> R +--R rightNorm : % -> R rightTrace : % -> R +--R rightTraceMatrix : () -> Matrix(R) sample : () -> % +--R scalarMatrix : R -> % someBasis : () -> Vector(%) +--R square? : % -> Boolean symmetric? : % -> Boolean +--R trace : % -> R zero? : % -> Boolean +--R ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?*? : (DirectProduct(n,R),%) -> DirectProduct(n,R) --R ?*? : (%,DirectProduct(n,R)) -> DirectProduct(n,R) @@ -69549,88 +69724,89 @@ LiePolynomial(VarSet:OrderedSet, R:CommutativeRing) : Public == Private where --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 associatorDependence : () -> List Vector R if R has INTDOM +--R associatorDependence : () -> List(Vector(R)) if R has INTDOM --R characteristic : () -> NonNegativeInteger ---R coerce : Fraction Integer -> % if R has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) --R column : (%,Integer) -> DirectProduct(n,R) ---R conditionsForIdempotents : Vector % -> List Polynomial R ---R conditionsForIdempotents : () -> List Polynomial R ---R coordinates : (%,Vector %) -> Vector R ---R coordinates : (Vector %,Vector %) -> Matrix R ---R coordinates : Vector % -> Matrix R +--R conditionsForIdempotents : Vector(%) -> List(Polynomial(R)) +--R conditionsForIdempotents : () -> List(Polynomial(R)) +--R coordinates : (%,Vector(%)) -> Vector(R) +--R coordinates : (Vector(%),Vector(%)) -> Matrix(R) +--R coordinates : Vector(%) -> Matrix(R) --R count : (R,%) -> NonNegativeInteger if $ has finiteAggregate and R has SETCAT --R count : ((R -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R determinant : % -> R if R has commutative * +--R determinant : % -> R if R has commutative(*) --R diagonal : % -> DirectProduct(n,R) --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 leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial R ---R leftMinimalPolynomial : % -> SparseUnivariatePolynomial R if R has INTDOM +--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 : (%,Vector %) -> Matrix R ---R leftRegularRepresentation : % -> Matrix R ---R leftTraceMatrix : Vector % -> Matrix R +--R leftRegularRepresentation : (%,Vector(%)) -> Matrix(R) +--R leftRegularRepresentation : % -> 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 less? : (%,NonNegativeInteger) -> Boolean --R map! : ((R -> R),%) -> % if $ has shallowlyMutable --R member? : (R,%) -> Boolean if $ has finiteAggregate and R has SETCAT ---R members : % -> List R if $ has finiteAggregate ---R minordet : % -> R if R has commutative * +--R members : % -> List(R) if $ has finiteAggregate +--R minordet : % -> R if R has commutative(*) --R more? : (%,NonNegativeInteger) -> Boolean --R noncommutativeJordanAlgebra? : () -> Boolean ---R nullSpace : % -> List DirectProduct(n,R) if R has INTDOM +--R nullSpace : % -> List(DirectProduct(n,R)) 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 plenaryPower : (%,PositiveInteger) -> % --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 represents : (Vector R,Vector %) -> % ---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 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 rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial R ---R rightMinimalPolynomial : % -> SparseUnivariatePolynomial R if R has INTDOM +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT(INT) +--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 : (%,Vector %) -> Matrix R ---R rightRegularRepresentation : % -> Matrix R ---R rightTraceMatrix : Vector % -> Matrix R +--R rightRegularRepresentation : (%,Vector(%)) -> Matrix(R) +--R rightRegularRepresentation : % -> 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 rightUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") if R has INTDOM --R row : (%,Integer) -> DirectProduct(n,R) --R rowEchelon : % -> % if R has EUCDOM --R size? : (%,NonNegativeInteger) -> Boolean ---R structuralConstants : Vector % -> Vector Matrix R ---R structuralConstants : () -> Vector Matrix R +--R structuralConstants : Vector(%) -> Vector(Matrix(R)) +--R structuralConstants : () -> Vector(Matrix(R)) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unit : () -> Union(%,"failed") if R has INTDOM --R @@ -69900,7 +70076,7 @@ Dx := D() --R --R --R (2) D ---IType: LinearOrdinaryDifferentialOperator(Expression Integer,theMap LAMBDA-CLOSURE(NIL,NIL,NIL,G1404 envArg,SPADCALL(G1404,QUOTE x,ELT(*1;anonymousFunction;0;frame0;internal;MV,0)))) +--IType: LinearOrdinaryDifferentialOperator(Expression(Integer),... --E 2 --S 3 of 16 @@ -69912,7 +70088,7 @@ Dop:= Dx^3 + G/x^2*Dx + H/x^3 - 1 --R (3) D + -- D + -------- --R 2 3 --R x x ---IType: LinearOrdinaryDifferentialOperator(Expression Integer,theMap LAMBDA-CLOSURE(NIL,NIL,NIL,G1404 envArg,SPADCALL(G1404,QUOTE x,ELT(*1;anonymousFunction;0;frame0;internal;MV,0)))) +--IType: LinearOrdinaryDifferentialOperator(Expression(Integer),... --E 3 --S 4 of 16 @@ -69967,21 +70143,21 @@ leq == solve(pans1,[subscript(s,[i]) for i in 1..n]) leq --R --R Compiling body of rule n to compute value of type PositiveInteger ---R Compiling body of rule phi to compute value of type Expression ---R Integer ---R Compiling body of rule phi1 to compute value of type Expression ---R Integer ---R Compiling body of rule phi2 to compute value of type Expression ---R Integer ---R Compiling body of rule phi3 to compute value of type Polynomial ---R Integer +--R Compiling body of rule phi to compute value of type Expression( +--R Integer) +--R Compiling body of rule phi1 to compute value of type Expression( +--R Integer) +--R Compiling body of rule phi2 to compute value of type Expression( +--R Integer) +--R Compiling body of rule phi3 to compute value of type Polynomial( +--R Integer) --R Compiling body of rule pans to compute value of type ---R UnivariatePolynomial(x,Polynomial Integer) ---R Compiling body of rule pans1 to compute value of type List ---R Polynomial Integer ---R Compiling body of rule leq to compute value of type List List ---R Equation Fraction Polynomial Integer ---I Compiling function G3349 with type Integer -> Boolean +--R UnivariatePolynomial(x,Polynomial(Integer)) +--R Compiling body of rule pans1 to compute value of type List( +--R Polynomial(Integer)) +--R Compiling body of rule leq to compute value of type List(List( +--R Equation(Fraction(Polynomial(Integer))))) +--I Compiling function G3491 with type Integer -> Boolean --R --R (12) --R 2 3 2 @@ -70011,20 +70187,20 @@ n==4 leq --R --R Compiling body of rule n to compute value of type PositiveInteger ---R Compiling body of rule phi to compute value of type Expression ---R Integer ---R Compiling body of rule phi1 to compute value of type Expression ---R Integer ---R Compiling body of rule phi2 to compute value of type Expression ---R Integer ---R Compiling body of rule phi3 to compute value of type Polynomial ---R Integer +--R Compiling body of rule phi to compute value of type Expression( +--R Integer) +--R Compiling body of rule phi1 to compute value of type Expression( +--R Integer) +--R Compiling body of rule phi2 to compute value of type Expression( +--R Integer) +--R Compiling body of rule phi3 to compute value of type Polynomial( +--R Integer) --R Compiling body of rule pans to compute value of type ---R UnivariatePolynomial(x,Polynomial Integer) ---R Compiling body of rule pans1 to compute value of type List ---R Polynomial Integer ---R Compiling body of rule leq to compute value of type List List ---R Equation Fraction Polynomial Integer +--R UnivariatePolynomial(x,Polynomial(Integer)) +--R Compiling body of rule pans1 to compute value of type List( +--R Polynomial(Integer)) +--R Compiling body of rule leq to compute value of type List(List( +--R Equation(Fraction(Polynomial(Integer))))) --R --R (14) --R [ @@ -70051,7 +70227,7 @@ leq --R 1944 --R ] --R ] ---R Type: List List Equation Fraction Polynomial Integer +--R Type: List(List(Equation(Fraction(Polynomial(Integer))))) --E 14 --S 15 of 16 @@ -70073,20 +70249,20 @@ n==7 leq --R --R Compiling body of rule n to compute value of type PositiveInteger ---R Compiling body of rule phi to compute value of type Expression ---R Integer ---R Compiling body of rule phi1 to compute value of type Expression ---R Integer ---R Compiling body of rule phi2 to compute value of type Expression ---R Integer ---R Compiling body of rule phi3 to compute value of type Polynomial ---R Integer +--R Compiling body of rule phi to compute value of type Expression( +--R Integer) +--R Compiling body of rule phi1 to compute value of type Expression( +--R Integer) +--R Compiling body of rule phi2 to compute value of type Expression( +--R Integer) +--R Compiling body of rule phi3 to compute value of type Polynomial( +--R Integer) --R Compiling body of rule pans to compute value of type ---R UnivariatePolynomial(x,Polynomial Integer) ---R Compiling body of rule pans1 to compute value of type List ---R Polynomial Integer ---R Compiling body of rule leq to compute value of type List List ---R Equation Fraction Polynomial Integer +--R UnivariatePolynomial(x,Polynomial(Integer)) +--R Compiling body of rule pans1 to compute value of type List( +--R Polynomial(Integer)) +--R Compiling body of rule leq to compute value of type List(List( +--R Equation(Fraction(Polynomial(Integer))))) --R --R (16) --R [ @@ -70486,7 +70662,7 @@ LinearOrdinaryDifferentialOperator(A:Ring, diff: A -> A): RFZ := Fraction UnivariatePolynomial('x, Integer) --R --R ---R (1) Fraction UnivariatePolynomial(x,Integer) +--R (1) Fraction(UnivariatePolynomial(x,Integer)) --R Type: Domain --E 1 @@ -70495,7 +70671,7 @@ x : RFZ := 'x --R --R --R (2) x ---R Type: Fraction UnivariatePolynomial(x,Integer) +--R Type: Fraction(UnivariatePolynomial(x,Integer)) --E 2 --S 3 of 20 @@ -70503,7 +70679,7 @@ Dx : LODO1 RFZ := D() --R --R --R (3) D ---RType: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))) --E 3 --S 4 of 20 @@ -70513,7 +70689,7 @@ b : LODO1 RFZ := 3*x**2*Dx**2 + 2*Dx + 1/x --R 2 2 1 --R (4) 3x D + 2D + - --R x ---RType: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))) --E 4 --S 5 of 20 @@ -70523,7 +70699,7 @@ a : LODO1 RFZ := b*(5*x*Dx + 7) --R 3 3 2 2 7 --R (5) 15x D + (51x + 10x)D + 29D + - --R x ---RType: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))) --E 5 --S 6 of 20 @@ -70535,7 +70711,7 @@ p := x**2 + 1/x**2 --R (6) ------ --R 2 --R x ---R Type: Fraction UnivariatePolynomial(x,Integer) +--R Type: Fraction(UnivariatePolynomial(x,Integer)) --E 6 --S 7 of 20 @@ -70547,7 +70723,7 @@ p := x**2 + 1/x**2 --R (7) ------------------ --R 4 --R x ---R Type: Fraction UnivariatePolynomial(x,Integer) +--R Type: Fraction(UnivariatePolynomial(x,Integer)) --E 7 --S 8 of 20 @@ -70555,7 +70731,7 @@ ld := leftDivide(a,b) --R --R --R (8) [quotient= 5x D + 7,remainder= 0] ---RType: Record(quotient: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer),remainder: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer)) +--IType: Record(quotient: LinearOrdinaryDifferentialOperator1(Fraction(... --E 8 --S 9 of 20 @@ -70565,7 +70741,7 @@ a = b * ld.quotient + ld.remainder --R 3 3 2 2 7 3 3 2 2 7 --R (9) 15x D + (51x + 10x)D + 29D + -= 15x D + (51x + 10x)D + 29D + - --R x x ---RType: Equation LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: Equation(LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer)))) --E 9 --S 10 of 20 @@ -70575,7 +70751,7 @@ rd := rightDivide(a,b) --R 5 --R (10) [quotient= 5x D + 7,remainder= 10D + -] --R x ---RType: Record(quotient: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer),remainder: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer)) +--IType: Record(quotient: LinearOrdinaryDifferentialOperator1(... --E 10 --S 11 of 20 @@ -70585,7 +70761,7 @@ a = rd.quotient * b + rd.remainder --R 3 3 2 2 7 3 3 2 2 7 --R (11) 15x D + (51x + 10x)D + 29D + -= 15x D + (51x + 10x)D + 29D + - --R x x ---RType: Equation LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: Equation(LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer)))) --E 11 --S 12 of 20 @@ -70593,7 +70769,7 @@ rightQuotient(a,b) --R --R --R (12) 5x D + 7 ---RType: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))) --E 12 --S 13 of 20 @@ -70603,7 +70779,7 @@ rightRemainder(a,b) --R 5 --R (13) 10D + - --R x ---RType: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))) --E 13 --S 14 of 20 @@ -70611,7 +70787,7 @@ leftExactQuotient(a,b) --R --R --R (14) 5x D + 7 ---RType: Union(LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer),...) +--RType: Union(LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))),...) --E 14 --S 15 of 20 @@ -70621,7 +70797,7 @@ e := leftGcd(a,b) --R 2 2 1 --R (15) 3x D + 2D + - --R x ---RType: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))) --E 15 --S 16 of 20 @@ -70629,7 +70805,7 @@ leftRemainder(a, e) --R --R --R (16) 0 ---RType: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))) --E 16 --S 17 of 20 @@ -70639,7 +70815,7 @@ rightRemainder(a, e) --R 5 --R (17) 10D + - --R x ---RType: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))) --E 17 --S 18 of 20 @@ -70649,7 +70825,7 @@ f := rightLcm(a,b) --R 3 3 2 2 7 --R (18) 15x D + (51x + 10x)D + 29D + - --R x ---RType: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))) --E 18 --S 19 of 20 @@ -70659,7 +70835,7 @@ rightRemainder(f, b) --R 5 --R (19) 10D + - --R x ---RType: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))) --E 19 --S 20 of 20 @@ -70667,7 +70843,7 @@ leftRemainder(f, b) --R --R --R (20) 0 ---RType: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +--RType: LinearOrdinaryDifferentialOperator1(Fraction(UnivariatePolynomial(x,Integer))) --E 20 )spool )lisp (bye) @@ -70968,7 +71144,7 @@ LinearOrdinaryDifferentialOperator1(A:DifferentialRing) == Q := Fraction Integer --R --R ---R (1) Fraction Integer +--R (1) Fraction(Integer) --R Type: Domain --E 1 @@ -70976,7 +71152,7 @@ Q := Fraction Integer PQ := UnivariatePolynomial('x, Q) --R --R ---R (2) UnivariatePolynomial(x,Fraction Integer) +--R (2) UnivariatePolynomial(x,Fraction(Integer)) --R Type: Domain --E 2 @@ -70985,7 +71161,7 @@ x: PQ := 'x --R --R --R (3) x ---R Type: UnivariatePolynomial(x,Fraction Integer) +--R Type: UnivariatePolynomial(x,Fraction(Integer)) --E 3 --S 4 of 26 @@ -70993,7 +71169,7 @@ Dx: LODO2(Q, PQ) := D() --R --R --R (4) D ---RType: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +--RType: LinearOrdinaryDifferentialOperator2(Fraction(Integer),UnivariatePolynomial(x,Fraction(Integer))) --E 4 --S 5 of 26 @@ -71001,7 +71177,7 @@ a := Dx + 1 --R --R --R (5) D + 1 ---RType: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +--RType: LinearOrdinaryDifferentialOperator2(Fraction(Integer),UnivariatePolynomial(x,Fraction(Integer))) --E 5 --S 6 of 26 @@ -71011,7 +71187,7 @@ b := a + 1/2*Dx**2 - 1/2 --R 1 2 1 --R (6) - D + D + - --R 2 2 ---RType: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +--RType: LinearOrdinaryDifferentialOperator2(Fraction(Integer),UnivariatePolynomial(x,Fraction(Integer))) --E 6 --S 7 of 26 @@ -71021,7 +71197,7 @@ p := 4*x**2 + 2/3 --R 2 2 --R (7) 4x + - --R 3 ---R Type: UnivariatePolynomial(x,Fraction Integer) +--R Type: UnivariatePolynomial(x,Fraction(Integer)) --E 7 --S 8 of 26 @@ -71031,7 +71207,7 @@ a p --R 2 2 --R (8) 4x + 8x + - --R 3 ---R Type: UnivariatePolynomial(x,Fraction Integer) +--R Type: UnivariatePolynomial(x,Fraction(Integer)) --E 8 --S 9 of 26 @@ -71041,7 +71217,7 @@ a p --R 2 37 2 37 --R (9) 2x + 12x + --= 2x + 12x + -- --R 3 3 ---R Type: Equation UnivariatePolynomial(x,Fraction Integer) +--R Type: Equation(UnivariatePolynomial(x,Fraction(Integer))) --E 9 --S 10 of 26 @@ -71051,7 +71227,7 @@ c := (1/9)*b*(a + b)^2 --R 1 6 5 5 13 4 19 3 79 2 7 1 --R (10) -- D + -- D + -- D + -- D + -- D + -- D + - --R 72 36 24 18 72 12 8 ---RType: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +--RType: LinearOrdinaryDifferentialOperator2(Fraction(Integer),UnivariatePolynomial(x,Fraction(Integer))) --E 10 --S 11 of 26 @@ -71061,7 +71237,7 @@ c := (1/9)*b*(a + b)^2 --R 2 44 541 --R (11) 3x + -- x + --- --R 3 36 ---R Type: UnivariatePolynomial(x,Fraction Integer) +--R Type: UnivariatePolynomial(x,Fraction(Integer)) --E 11 )clear all --S 12 of 26 @@ -71130,7 +71306,7 @@ p:Vect := directProduct [3*x^2+1,2*x,7*x^3+2*x] --R --R 2 3 --R (7) [3x + 1,2x,7x + 2x] ---RType: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) +--IType: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),... --E 18 --S 19 of 26 @@ -71139,7 +71315,7 @@ q: Vect := m * p --R --R 4 2 5 2 5 3 --R (8) [3x + x + 2x,2x + 3x + 1,28x + 8x ] ---RType: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) +--IType: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),... --E 19 --S 20 of 26 @@ -71147,7 +71323,7 @@ Dx : Modo := D() --R --R --R (9) D ---RType: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) +--IType: LinearOrdinaryDifferentialOperator2(SquareMatrix(... --E 20 --S 21 of 26 @@ -71162,7 +71338,7 @@ a : Modo := Dx + m --R | | --R | 2| --R +0 0 4x + ---RType: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) +--IType: LinearOrdinaryDifferentialOperator2(SquareMatrix(... --E 21 --S 22 of 26 @@ -71177,7 +71353,7 @@ b : Modo := m*Dx + 1 --R | | +0 0 1+ --R | 2| --R +0 0 4x + ---RType: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) +--IType: LinearOrdinaryDifferentialOperator2(SquareMatrix(... --E 22 --S 23 of 26 @@ -71193,7 +71369,7 @@ c := a*b --R | | | | | | --R | 2| | 4 | | 2| --R +0 0 4x + + 0 0 16x + 8x + 1+ +0 0 4x + ---RType: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) +--IType: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,... --E 23 --S 24 of 26 @@ -71202,7 +71378,7 @@ a p --R --R 4 2 5 2 5 3 2 --R (13) [3x + x + 8x,2x + 3x + 3,28x + 8x + 21x + 2] ---RType: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) +--IType: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),... --E 24 --S 25 of 26 @@ -71211,7 +71387,7 @@ b p --R --R 3 2 4 4 3 2 --R (14) [6x + 3x + 3,2x + 8x,84x + 7x + 8x + 2x] ---RType: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) +--IType: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),... --E 25 --S 26 of 26 @@ -71225,7 +71401,7 @@ b p --R 10x + 10x + 12x + 92x + 6x + 32x + 72x + 28x + 49x + 32x + 19, --R 8 7 6 5 4 3 2 --R 2240x + 224x + 1280x + 3508x + 492x + 751x + 98x + 18x + 4] ---RType: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) +--IType: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),... --E 26 )spool )lisp (bye) @@ -71590,7 +71766,7 @@ LinearOrdinaryDifferentialOperator2(A, M): Exports == Implementation where --R --R --R (1) [2,4,5,6] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 1 --S 2 of 34 @@ -71598,7 +71774,7 @@ LinearOrdinaryDifferentialOperator2(A, M): Exports == Implementation where --R --R --R (2) [1] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 2 --S 3 of 34 @@ -71606,7 +71782,7 @@ list(1) --R --R --R (3) [1] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 3 --S 4 of 34 @@ -71614,7 +71790,7 @@ append([1,2,3],[5,6,7]) --R --R --R (4) [1,2,3,5,6,7] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 4 --S 5 of 34 @@ -71622,7 +71798,7 @@ cons(10,[9,8,7]) --R --R --R (5) [10,9,8,7] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 5 --S 6 of 34 @@ -71646,7 +71822,7 @@ k := [4,3,7,3,8,5,9,2] --R --R --R (8) [4,3,7,3,8,5,9,2] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 8 --S 9 of 34 @@ -71718,7 +71894,7 @@ k := [4,3,7,3,8,5,9,2] --R --R --R (17) [4,3,7,3,8,5,9,2] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 17 --S 18 of 34 @@ -71734,7 +71910,7 @@ k --R --R --R (19) [999,3,7,3,8,5,9,2] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 19 --S 20 of 34 @@ -71742,7 +71918,7 @@ k := [1,2] --R --R --R (20) [1,2] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 20 --S 21 of 34 @@ -71750,7 +71926,7 @@ m := cons(0,k) --R --R --R (21) [0,1,2] ---R Type: List Integer +--R Type: List(Integer) --E 21 --S 22 of 34 @@ -71766,7 +71942,7 @@ m --R --R --R (23) [0,99,2] ---R Type: List Integer +--R Type: List(Integer) --E 23 --S 24 of 34 @@ -71774,7 +71950,7 @@ k --R --R --R (24) [99,2] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 24 --S 25 of 34 @@ -71782,7 +71958,7 @@ k := [1,2,3] --R --R --R (25) [1,2,3] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 25 --S 26 of 34 @@ -71790,7 +71966,7 @@ rest k --R --R --R (26) [2,3] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 26 --S 27 of 34 @@ -71798,7 +71974,7 @@ removeDuplicates [4,3,4,3,5,3,4] --R --R --R (27) [4,3,5] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 27 --S 28 of 34 @@ -71806,7 +71982,7 @@ reverse [1,2,3,4,5,6] --R --R --R (28) [6,5,4,3,2,1] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 28 --S 29 of 34 @@ -71830,7 +72006,7 @@ reverse(rest(reverse(k))) --R --R --R (31) [1,2] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 31 --S 32 of 34 @@ -71838,7 +72014,7 @@ reverse(rest(reverse(k))) --R --R --R (32) [1..3,10..10,20..23] ---R Type: List Segment PositiveInteger +--R Type: List(Segment(PositiveInteger)) --E 32 --S 33 of 34 @@ -71846,7 +72022,7 @@ expand [1..3,10,20..23] --R --R --R (33) [1,2,3,10,20,21,22,23] ---R Type: List Integer +--R Type: List(Integer) --E 33 --S 34 of 34 @@ -71854,7 +72030,7 @@ expand [1..] --R --R --R (34) [1,2,3,4,5,6,7,8,9,10,...] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 34 )spool )lisp (bye) @@ -72406,6 +72582,7 @@ List(S:Type): Exports == Implementation where --S 1 of 1 )show ListMonoidOps +--R --R ListMonoidOps(S: SetCategory,E: AbelianMonoid,un: E) is a domain constructor --R Abbreviation for ListMonoidOps is LMOPS --R This constructor is not exposed in this frame. @@ -72423,8 +72600,8 @@ List(S:Type): Exports == Implementation where --R reverse! : % -> % rightMult : (%,S) -> % --R size : % -> NonNegativeInteger ?~=? : (%,%) -> Boolean --R commutativeEquality : (%,%) -> Boolean ---R listOfMonoms : % -> List Record(gen: S,exp: E) ---R makeMulti : List Record(gen: S,exp: E) -> % +--R listOfMonoms : % -> List(Record(gen: S,exp: E)) +--R makeMulti : List(Record(gen: S,exp: E)) -> % --R outputForm : (%,((OutputForm,OutputForm) -> OutputForm),((OutputForm,OutputForm) -> OutputForm),Integer) -> OutputForm --R retractIfCan : % -> Union(S,"failed") --R @@ -72654,14 +72831,15 @@ ListMonoidOps(S, E, un): Exports == Implementation where --S 1 of 1 )show ListMultiDictionary ---R ListMultiDictionary S: SetCategory is a domain constructor +--R +--R ListMultiDictionary(S: SetCategory) is a domain constructor --R Abbreviation for ListMultiDictionary is LMDICT --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for LMDICT --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 : () -> % duplicates? : % -> Boolean --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean extract! : % -> S @@ -72672,14 +72850,14 @@ ListMonoidOps(S, E, un): Exports == Implementation where --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 $ has finiteAggregate and S has SETCAT --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 @@ -72688,9 +72866,9 @@ ListMonoidOps(S, E, un): Exports == Implementation where --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((S -> S),%) -> % if $ has shallowlyMutable --R member? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---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 $ has finiteAggregate and S has SETCAT @@ -72931,7 +73109,8 @@ ListMultiDictionary(S:SetCategory): EE == II where --S 1 of 1 )show LocalAlgebra ---R LocalAlgebra(A: Algebra R,R: CommutativeRing,S: SubsetCategory(Monoid,R)) is a domain constructor +--R +--R LocalAlgebra(A: Algebra(R),R: CommutativeRing,S: SubsetCategory(Monoid,R)) is a domain constructor --R Abbreviation for LocalAlgebra is LA --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for LA @@ -73076,7 +73255,8 @@ LocalAlgebra(A: Algebra R, --S 1 of 1 )show Localize ---R Localize(M: Module R,R: CommutativeRing,S: SubsetCategory(Monoid,R)) is a domain constructor +--R +--R Localize(M: Module(R),R: CommutativeRing,S: SubsetCategory(Monoid,R)) is a domain constructor --R Abbreviation for Localize is LO --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for LO @@ -73260,7 +73440,7 @@ c:Symbol :='c lword:= LyndonWord(Symbol) --R --R ---R (4) LyndonWord Symbol +--R (4) LyndonWord(Symbol) --R Type: Domain --E 4 @@ -73268,7 +73448,7 @@ lword:= LyndonWord(Symbol) magma := Magma(Symbol) --R --R ---R (5) Magma Symbol +--R (5) Magma(Symbol) --R Type: Domain --E 5 @@ -73276,7 +73456,7 @@ magma := Magma(Symbol) word := OrderedFreeMonoid(Symbol) --R --R ---R (6) OrderedFreeMonoid Symbol +--R (6) OrderedFreeMonoid(Symbol) --R Type: Domain --E 6 @@ -73288,7 +73468,7 @@ LyndonWordsList1([a,b,c],3)$lword --R [[[a],[b],[c]], [[a b],[a c],[b c]], --R 2 2 2 2 2 2 --R [[a b],[a c],[a b ],[a b c],[a c b],[a c ],[b c],[b c ]]] ---R Type: OneDimensionalArray List LyndonWord Symbol +--R Type: OneDimensionalArray(List(LyndonWord(Symbol))) --E 7 --S 8 of 22 @@ -73300,7 +73480,7 @@ LyndonWordsList([a,b,c],3)$lword --R [[a], [b], [c], [a b], [a c], [b c], [a b], [a c], [a b ], [a b c], [a c b], --R 2 2 2 --R [a c ], [b c], [b c ]] ---R Type: List LyndonWord Symbol +--R Type: List(LyndonWord(Symbol)) --E 8 --S 9 of 22 @@ -73312,7 +73492,7 @@ lw := LyndonWordsList([a,b],5)$lword --R [[a], [b], [a b], [a b], [a b ], [a b], [a b ], [a b ], [a b], [a b ], --R 2 2 3 2 4 --R [a b a b], [a b ], [a b a b ], [a b ]] ---R Type: List LyndonWord Symbol +--R Type: List(LyndonWord(Symbol)) --E 9 --S 10 of 22 @@ -73321,7 +73501,7 @@ w1 : word := lw.4 :: word --R --R 2 --R (10) a b ---R Type: OrderedFreeMonoid Symbol +--R Type: OrderedFreeMonoid(Symbol) --E 10 --S 11 of 22 @@ -73330,7 +73510,7 @@ w2 : word := lw.5 :: word --R --R 2 --R (11) a b ---R Type: OrderedFreeMonoid Symbol +--R Type: OrderedFreeMonoid(Symbol) --E 11 --S 12 of 22 @@ -73338,7 +73518,7 @@ factor(a::word)$lword --R --R --R (12) [[a]] ---R Type: List LyndonWord Symbol +--R Type: List(LyndonWord(Symbol)) --E 12 --S 13 of 22 @@ -73347,7 +73527,7 @@ factor(w1*w2)$lword --R --R 2 2 --R (13) [[a b a b ]] ---R Type: List LyndonWord Symbol +--R Type: List(LyndonWord(Symbol)) --E 13 --S 14 of 22 @@ -73356,7 +73536,7 @@ factor(w2*w2)$lword --R --R 2 2 --R (14) [[a b ],[a b ]] ---R Type: List LyndonWord Symbol +--R Type: List(LyndonWord(Symbol)) --E 14 --S 15 of 22 @@ -73365,7 +73545,7 @@ factor(w2*w1)$lword --R --R 2 2 --R (15) [[a b ],[a b]] ---R Type: List LyndonWord Symbol +--R Type: List(LyndonWord(Symbol)) --E 15 --S 16 of 22 @@ -73398,7 +73578,7 @@ lyndonIfCan(w1)$lword --R --R 2 --R (19) [a b] ---R Type: Union(LyndonWord Symbol,...) +--R Type: Union(LyndonWord(Symbol),...) --E 19 --S 20 of 22 @@ -73415,7 +73595,7 @@ lyndon(w1)$lword --R --R 2 --R (21) [a b] ---R Type: LyndonWord Symbol +--R Type: LyndonWord(Symbol) --E 21 --S 22 of 22 @@ -73424,7 +73604,7 @@ lyndon(w1*w2)$lword --R --R 2 2 --R (22) [a b a b ] ---R Type: LyndonWord Symbol +--R Type: LyndonWord(Symbol) --E 22 )spool )lisp (bye) @@ -73780,6 +73960,7 @@ LyndonWord(VarSet:OrderedSet):Public == Private where --S 1 of 1 )show MachineComplex +--R --R MachineComplex is a domain constructor --R Abbreviation for MachineComplex is MCMPLX --R This constructor is exposed in this frame. @@ -73795,8 +73976,8 @@ LyndonWord(VarSet:OrderedSet):Public == Private where --R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % associates? : (%,%) -> Boolean ---R basis : () -> Vector % coerce : % -> Complex Float ---R coerce : Complex Integer -> % coerce : Complex Float -> % +--R basis : () -> Vector(%) coerce : % -> Complex(Float) +--R coerce : Complex(Integer) -> % coerce : Complex(Float) -> % --R coerce : MachineFloat -> % coerce : Integer -> % --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm conjugate : % -> % @@ -73811,20 +73992,20 @@ LyndonWord(VarSet:OrderedSet):Public == Private where --R trace : % -> MachineFloat unit? : % -> Boolean --R unitCanonical : % -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if MachineFloat has FIELD ---R ?*? : (Fraction Integer,%) -> % if MachineFloat has FIELD +--R ?*? : (%,Fraction(Integer)) -> % if MachineFloat has FIELD +--R ?*? : (Fraction(Integer),%) -> % if MachineFloat has FIELD --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,Integer) -> % if MachineFloat has FIELD ---R ?**? : (%,Fraction Integer) -> % if MachineFloat has RADCAT and MachineFloat has TRANFUN +--R ?**? : (%,Fraction(Integer)) -> % if MachineFloat has RADCAT and MachineFloat has TRANFUN --R ?**? : (%,%) -> % if MachineFloat has TRANFUN --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,%) -> % if MachineFloat has FIELD --R D : % -> % if MachineFloat has DIFRING --R D : (%,NonNegativeInteger) -> % if MachineFloat has DIFRING ---R D : (%,Symbol) -> % if MachineFloat has PDRING SYMBOL ---R D : (%,List Symbol) -> % if MachineFloat has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if MachineFloat has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if MachineFloat has PDRING SYMBOL +--R D : (%,Symbol) -> % if MachineFloat has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if MachineFloat has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if MachineFloat has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if MachineFloat has PDRING(SYMBOL) --R D : (%,(MachineFloat -> MachineFloat),NonNegativeInteger) -> % --R D : (%,(MachineFloat -> MachineFloat)) -> % --R ?^? : (%,Integer) -> % if MachineFloat has FIELD @@ -73844,27 +74025,27 @@ LyndonWord(VarSet:OrderedSet):Public == Private where --R atan : % -> % if MachineFloat has TRANFUN --R atanh : % -> % if MachineFloat has TRANFUN --R characteristic : () -> NonNegativeInteger ---R characteristicPolynomial : % -> SparseUnivariatePolynomial MachineFloat +--R characteristicPolynomial : % -> SparseUnivariatePolynomial(MachineFloat) --R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and MachineFloat has EUCDOM and MachineFloat has PFECAT or MachineFloat has CHARNZ --R charthRoot : % -> % if MachineFloat has FFIELDC ---R coerce : Fraction Integer -> % if MachineFloat has FIELD or MachineFloat has RETRACT FRAC INT ---R coerce : Complex MachineInteger -> % ---R coerce : Complex MachineFloat -> % +--R coerce : Fraction(Integer) -> % if MachineFloat has FIELD or MachineFloat has RETRACT(FRAC(INT)) +--R coerce : Complex(MachineInteger) -> % +--R coerce : Complex(MachineFloat) -> % --R complex : (MachineFloat,MachineFloat) -> % ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and MachineFloat has EUCDOM and MachineFloat has PFECAT or MachineFloat has FFIELDC ---R convert : % -> Vector MachineFloat ---R convert : Vector MachineFloat -> % ---R convert : % -> SparseUnivariatePolynomial MachineFloat ---R convert : SparseUnivariatePolynomial MachineFloat -> % ---R convert : % -> Pattern Integer if MachineFloat has KONVERT PATTERN INT ---R convert : % -> Pattern Float if MachineFloat has KONVERT PATTERN FLOAT ---R convert : % -> Complex Float if MachineFloat has REAL ---R convert : % -> Complex DoubleFloat if MachineFloat has REAL ---R convert : % -> InputForm if MachineFloat has KONVERT INFORM ---R coordinates : (%,Vector %) -> Vector MachineFloat ---R coordinates : (Vector %,Vector %) -> Matrix MachineFloat ---R coordinates : % -> Vector MachineFloat ---R coordinates : Vector % -> Matrix MachineFloat +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and MachineFloat has EUCDOM and MachineFloat has PFECAT or MachineFloat has FFIELDC +--R convert : % -> Vector(MachineFloat) +--R convert : Vector(MachineFloat) -> % +--R convert : % -> SparseUnivariatePolynomial(MachineFloat) +--R convert : SparseUnivariatePolynomial(MachineFloat) -> % +--R convert : % -> Pattern(Integer) if MachineFloat has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if MachineFloat has KONVERT(PATTERN(FLOAT)) +--R convert : % -> Complex(Float) if MachineFloat has REAL +--R convert : % -> Complex(DoubleFloat) if MachineFloat has REAL +--R convert : % -> InputForm if MachineFloat has KONVERT(INFORM) +--R coordinates : (%,Vector(%)) -> Vector(MachineFloat) +--R coordinates : (Vector(%),Vector(%)) -> Matrix(MachineFloat) +--R coordinates : % -> Vector(MachineFloat) +--R coordinates : Vector(%) -> Matrix(MachineFloat) --R cos : % -> % if MachineFloat has TRANFUN --R cosh : % -> % if MachineFloat has TRANFUN --R cot : % -> % if MachineFloat has TRANFUN @@ -73872,58 +74053,58 @@ LyndonWord(VarSet:OrderedSet):Public == Private where --R createPrimitiveElement : () -> % if MachineFloat has FFIELDC --R csc : % -> % if MachineFloat has TRANFUN --R csch : % -> % if MachineFloat has TRANFUN ---R definingPolynomial : () -> SparseUnivariatePolynomial MachineFloat ---R derivationCoordinates : (Vector %,(MachineFloat -> MachineFloat)) -> Matrix MachineFloat if MachineFloat has FIELD +--R definingPolynomial : () -> SparseUnivariatePolynomial(MachineFloat) +--R derivationCoordinates : (Vector(%),(MachineFloat -> MachineFloat)) -> Matrix(MachineFloat) if MachineFloat has FIELD --R differentiate : % -> % if MachineFloat has DIFRING --R differentiate : (%,NonNegativeInteger) -> % if MachineFloat has DIFRING ---R differentiate : (%,Symbol) -> % if MachineFloat has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if MachineFloat has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if MachineFloat has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if MachineFloat has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if MachineFloat has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if MachineFloat has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if MachineFloat has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if MachineFloat has PDRING(SYMBOL) --R differentiate : (%,(MachineFloat -> MachineFloat),NonNegativeInteger) -> % --R differentiate : (%,(MachineFloat -> MachineFloat)) -> % --R discreteLog : % -> NonNegativeInteger if MachineFloat has FFIELDC --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if MachineFloat has FFIELDC ---R discriminant : Vector % -> MachineFloat +--R discriminant : Vector(%) -> MachineFloat --R divide : (%,%) -> Record(quotient: %,remainder: %) if MachineFloat has EUCDOM --R ?.? : (%,MachineFloat) -> % if MachineFloat has ELTAB(MFLOAT,MFLOAT) --R euclideanSize : % -> NonNegativeInteger if MachineFloat has EUCDOM ---R eval : (%,List MachineFloat,List MachineFloat) -> % if MachineFloat has EVALAB MFLOAT ---R eval : (%,MachineFloat,MachineFloat) -> % if MachineFloat has EVALAB MFLOAT ---R eval : (%,Equation MachineFloat) -> % if MachineFloat has EVALAB MFLOAT ---R eval : (%,List Equation MachineFloat) -> % if MachineFloat has EVALAB MFLOAT ---R eval : (%,List Symbol,List MachineFloat) -> % if MachineFloat has IEVALAB(SYMBOL,MFLOAT) +--R eval : (%,List(MachineFloat),List(MachineFloat)) -> % if MachineFloat has EVALAB(MFLOAT) +--R eval : (%,MachineFloat,MachineFloat) -> % if MachineFloat has EVALAB(MFLOAT) +--R eval : (%,Equation(MachineFloat)) -> % if MachineFloat has EVALAB(MFLOAT) +--R eval : (%,List(Equation(MachineFloat))) -> % if MachineFloat has EVALAB(MFLOAT) +--R eval : (%,List(Symbol),List(MachineFloat)) -> % if MachineFloat has IEVALAB(SYMBOL,MFLOAT) --R eval : (%,Symbol,MachineFloat) -> % if MachineFloat has IEVALAB(SYMBOL,MFLOAT) --R exp : % -> % if MachineFloat has TRANFUN ---R expressIdealMember : (List %,%) -> Union(List %,"failed") if MachineFloat has EUCDOM +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if MachineFloat has EUCDOM --R exquo : (%,MachineFloat) -> Union(%,"failed") if MachineFloat has INTDOM --R exquo : (%,%) -> Union(%,"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if MachineFloat has EUCDOM --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if MachineFloat has EUCDOM ---R factor : % -> Factored % if MachineFloat has EUCDOM and MachineFloat has PFECAT or MachineFloat has FIELD ---R factorPolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if MachineFloat has EUCDOM and MachineFloat has PFECAT ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if MachineFloat has EUCDOM and MachineFloat has PFECAT ---R factorsOfCyclicGroupSize : () -> List Record(factor: Integer,exponent: Integer) if MachineFloat has FFIELDC +--R factor : % -> Factored(%) if MachineFloat has EUCDOM and MachineFloat has PFECAT or MachineFloat has FIELD +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if MachineFloat has EUCDOM and MachineFloat has PFECAT +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if MachineFloat has EUCDOM and MachineFloat has PFECAT +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) if MachineFloat has FFIELDC --R gcd : (%,%) -> % if MachineFloat has EUCDOM ---R gcd : List % -> % if MachineFloat has EUCDOM ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if MachineFloat has EUCDOM +--R gcd : List(%) -> % if MachineFloat has EUCDOM +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if MachineFloat has EUCDOM --R index : PositiveInteger -> % if MachineFloat has FINITE --R init : () -> % if MachineFloat has FFIELDC --R inv : % -> % if MachineFloat has FIELD --R lcm : (%,%) -> % if MachineFloat has EUCDOM ---R lcm : List % -> % if MachineFloat has EUCDOM ---R lift : % -> SparseUnivariatePolynomial MachineFloat +--R lcm : List(%) -> % if MachineFloat has EUCDOM +--R lift : % -> SparseUnivariatePolynomial(MachineFloat) --R log : % -> % if MachineFloat has TRANFUN --R lookup : % -> PositiveInteger if MachineFloat has FINITE --R map : ((MachineFloat -> MachineFloat),%) -> % ---R minimalPolynomial : % -> SparseUnivariatePolynomial MachineFloat if MachineFloat has FIELD ---R multiEuclidean : (List %,%) -> Union(List %,"failed") if MachineFloat has EUCDOM +--R minimalPolynomial : % -> SparseUnivariatePolynomial(MachineFloat) if MachineFloat has FIELD +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if MachineFloat has EUCDOM --R nextItem : % -> Union(%,"failed") if MachineFloat has FFIELDC --R nthRoot : (%,Integer) -> % if MachineFloat has RADCAT and MachineFloat has TRANFUN --R order : % -> PositiveInteger if MachineFloat has FFIELDC ---R order : % -> OnePointCompletion PositiveInteger if MachineFloat has FFIELDC ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if MachineFloat has PATMAB INT ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if MachineFloat has PATMAB FLOAT +--R order : % -> OnePointCompletion(PositiveInteger) if MachineFloat has FFIELDC +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if MachineFloat has PATMAB(INT) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if MachineFloat has PATMAB(FLOAT) --R pi : () -> % if MachineFloat has TRANFUN --R polarCoordinates : % -> Record(r: MachineFloat,phi: MachineFloat) if MachineFloat has RNS and MachineFloat has TRANFUN --R prime? : % -> Boolean if MachineFloat has EUCDOM and MachineFloat has PFECAT or MachineFloat has FIELD @@ -73931,26 +74112,26 @@ LyndonWord(VarSet:OrderedSet):Public == Private where --R primeFrobenius : % -> % if MachineFloat has FFIELDC --R primitive? : % -> Boolean if MachineFloat has FFIELDC --R primitiveElement : () -> % if MachineFloat has FFIELDC ---R principalIdeal : List % -> Record(coef: List %,generator: %) if MachineFloat has EUCDOM +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if MachineFloat has EUCDOM --R ?quo? : (%,%) -> % if MachineFloat has EUCDOM --R random : () -> % if MachineFloat has FINITE ---R rational : % -> Fraction Integer if MachineFloat has INS +--R rational : % -> Fraction(Integer) if MachineFloat has INS --R rational? : % -> Boolean if MachineFloat has INS ---R rationalIfCan : % -> Union(Fraction Integer,"failed") if MachineFloat has INS ---R reduce : SparseUnivariatePolynomial MachineFloat -> % ---R reduce : Fraction SparseUnivariatePolynomial MachineFloat -> Union(%,"failed") if MachineFloat has FIELD ---R reducedSystem : Matrix % -> Matrix Integer if MachineFloat has LINEXP INT ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if MachineFloat has LINEXP INT ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix MachineFloat,vec: Vector MachineFloat) ---R reducedSystem : Matrix % -> Matrix MachineFloat ---R regularRepresentation : (%,Vector %) -> Matrix MachineFloat ---R regularRepresentation : % -> Matrix MachineFloat +--R rationalIfCan : % -> Union(Fraction(Integer),"failed") if MachineFloat has INS +--R reduce : SparseUnivariatePolynomial(MachineFloat) -> % +--R reduce : Fraction(SparseUnivariatePolynomial(MachineFloat)) -> Union(%,"failed") if MachineFloat has FIELD +--R reducedSystem : Matrix(%) -> Matrix(Integer) if MachineFloat has LINEXP(INT) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if MachineFloat has LINEXP(INT) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(MachineFloat),vec: Vector(MachineFloat)) +--R reducedSystem : Matrix(%) -> Matrix(MachineFloat) +--R regularRepresentation : (%,Vector(%)) -> Matrix(MachineFloat) +--R regularRepresentation : % -> Matrix(MachineFloat) --R ?rem? : (%,%) -> % if MachineFloat has EUCDOM --R representationType : () -> Union("prime",polynomial,normal,cyclic) if MachineFloat has FFIELDC ---R represents : (Vector MachineFloat,Vector %) -> % ---R represents : Vector MachineFloat -> % ---R retract : % -> Fraction Integer if MachineFloat has RETRACT FRAC INT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if MachineFloat has RETRACT FRAC INT +--R represents : (Vector(MachineFloat),Vector(%)) -> % +--R represents : Vector(MachineFloat) -> % +--R retract : % -> Fraction(Integer) if MachineFloat has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if MachineFloat has RETRACT(FRAC(INT)) --R retractIfCan : % -> Union(MachineFloat,"failed") --R retractIfCan : % -> Union(Integer,"failed") --R sec : % -> % if MachineFloat has TRANFUN @@ -73959,17 +74140,17 @@ LyndonWord(VarSet:OrderedSet):Public == Private where --R sinh : % -> % if MachineFloat has TRANFUN --R size : () -> NonNegativeInteger if MachineFloat has FINITE --R sizeLess? : (%,%) -> Boolean if MachineFloat has EUCDOM ---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if MachineFloat has EUCDOM and MachineFloat has PFECAT +--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if MachineFloat has EUCDOM and MachineFloat has PFECAT --R sqrt : % -> % if MachineFloat has RADCAT and MachineFloat has TRANFUN ---R squareFree : % -> Factored % if MachineFloat has EUCDOM and MachineFloat has PFECAT or MachineFloat has FIELD +--R squareFree : % -> Factored(%) if MachineFloat has EUCDOM and MachineFloat has PFECAT or MachineFloat has FIELD --R squareFreePart : % -> % if MachineFloat has EUCDOM and MachineFloat has PFECAT or MachineFloat has FIELD ---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if MachineFloat has EUCDOM and MachineFloat has PFECAT +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if MachineFloat has EUCDOM and MachineFloat has PFECAT --R subtractIfCan : (%,%) -> Union(%,"failed") --R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) if MachineFloat has FFIELDC --R tan : % -> % if MachineFloat has TRANFUN --R tanh : % -> % if MachineFloat has TRANFUN ---R traceMatrix : Vector % -> Matrix MachineFloat ---R traceMatrix : () -> Matrix MachineFloat +--R traceMatrix : Vector(%) -> Matrix(MachineFloat) +--R traceMatrix : () -> Matrix(MachineFloat) --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R --E 1 @@ -74201,55 +74382,56 @@ MachineComplex():Exports == Implementation where --S 1 of 1 )show MachineFloat +--R --R MachineFloat is a domain constructor --R Abbreviation for MachineFloat is MFLOAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for MFLOAT --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 : MachineInteger -> % coerce : % -> Float ---R coerce : Float -> % 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 : (%,%) -> % maximumExponent : () -> Integer ---R min : (%,%) -> % minimumExponent : () -> Integer ---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 : % -> Float ---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 : MachineInteger -> % +--R coerce : % -> Float coerce : Float -> % +--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 maximumExponent : () -> Integer min : (%,%) -> % +--R minimumExponent : () -> Integer 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 : % -> Float 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 base : PositiveInteger -> PositiveInteger @@ -74260,23 +74442,23 @@ MachineComplex():Exports == Implementation where --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($,arbitraryExponent) and not has($,arbitraryPrecision) +--R max : () -> % if not(has($,arbitraryExponent)) and not(has($,arbitraryPrecision)) --R maximumExponent : Integer -> Integer ---R min : () -> % if not has($,arbitraryExponent) and not has($,arbitraryPrecision) +--R min : () -> % if not(has($,arbitraryExponent)) and not(has($,arbitraryPrecision)) --R minimumExponent : Integer -> Integer ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) --R precision : PositiveInteger -> PositiveInteger ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R retractIfCan : % -> Union(Float,"failed") ---R retractIfCan : % -> Union(Fraction Integer,"failed") +--R retractIfCan : % -> Union(Fraction(Integer),"failed") --R retractIfCan : % -> Union(Integer,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) @@ -74707,6 +74889,7 @@ MachineFloat(): Exports == Implementation where --S 1 of 1 )show MachineInteger +--R --R MachineInteger is a domain constructor --R Abbreviation for MachineInteger is MINT --R This constructor is exposed in this frame. @@ -74727,16 +74910,16 @@ MachineFloat(): Exports == Implementation where --R bit? : (%,%) -> Boolean coerce : Integer -> % --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm convert : % -> Integer ---R convert : % -> InputForm convert : % -> Pattern Integer +--R convert : % -> InputForm convert : % -> Pattern(Integer) --R convert : % -> Float convert : % -> DoubleFloat --R copy : % -> % dec : % -> % --R differentiate : % -> % even? : % -> Boolean ---R factor : % -> Factored % factorial : % -> % ---R gcd : (%,%) -> % gcd : List % -> % +--R factor : % -> Factored(%) factorial : % -> % +--R gcd : (%,%) -> % gcd : List(%) -> % --R hash : % -> % hash : % -> SingleInteger --R inc : % -> % init : () -> % --R invmod : (%,%) -> % latex : % -> String ---R lcm : (%,%) -> % lcm : List % -> % +--R lcm : (%,%) -> % lcm : List(%) -> % --R length : % -> % mask : % -> % --R max : (%,%) -> % maxint : () -> PositiveInteger --R min : (%,%) -> % mulmod : (%,%,%) -> % @@ -74745,12 +74928,12 @@ MachineFloat(): Exports == Implementation where --R positive? : % -> Boolean positiveRemainder : (%,%) -> % --R powmod : (%,%,%) -> % prime? : % -> Boolean --R ?quo? : (%,%) -> % random : () -> % ---R random : % -> % rational : % -> Fraction Integer +--R random : % -> % rational : % -> Fraction(Integer) --R rational? : % -> Boolean recip : % -> Union(%,"failed") --R ?rem? : (%,%) -> % retract : % -> Integer --R sample : () -> % shift : (%,%) -> % --R sign : % -> Integer sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R submod : (%,%,%) -> % symmetricRemainder : (%,%) -> % --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean @@ -74758,23 +74941,23 @@ MachineFloat(): Exports == Implementation where --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R coerce : Expression Integer -> Expression % +--R coerce : Expression(Integer) -> Expression(%) --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 : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R maxint : PositiveInteger -> PositiveInteger ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--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 %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) ---R reducedSystem : Matrix % -> Matrix 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(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) +--R reducedSystem : Matrix(%) -> Matrix(Integer) --R retractIfCan : % -> Union(Integer,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) @@ -74987,7 +75170,7 @@ z:Symbol :='z word := OrderedFreeMonoid(Symbol) --R --R ---R (4) OrderedFreeMonoid Symbol +--R (4) OrderedFreeMonoid(Symbol) --R Type: Domain --E 4 @@ -74995,7 +75178,7 @@ word := OrderedFreeMonoid(Symbol) tree := Magma(Symbol) --R --R ---R (5) Magma Symbol +--R (5) Magma(Symbol) --R Type: Domain --E 5 @@ -75004,7 +75187,7 @@ a:tree := x*x --R --R --R (6) [x,x] ---R Type: Magma Symbol +--R Type: Magma(Symbol) --E 6 --S 7 of 22 @@ -75012,7 +75195,7 @@ b:tree := y*y --R --R --R (7) [y,y] ---R Type: Magma Symbol +--R Type: Magma(Symbol) --E 7 --S 8 of 22 @@ -75020,7 +75203,7 @@ c:tree := a*b --R --R --R (8) [[x,x],[y,y]] ---R Type: Magma Symbol +--R Type: Magma(Symbol) --E 8 --S 9 of 22 @@ -75028,7 +75211,7 @@ left c --R --R --R (9) [x,x] ---R Type: Magma Symbol +--R Type: Magma(Symbol) --E 9 --S 10 of 22 @@ -75036,7 +75219,7 @@ right c --R --R --R (10) [y,y] ---R Type: Magma Symbol +--R Type: Magma(Symbol) --E 10 --S 11 of 22 @@ -75053,7 +75236,7 @@ c::word --R --R 2 2 --R (12) x y ---R Type: OrderedFreeMonoid Symbol +--R Type: OrderedFreeMonoid(Symbol) --E 12 --S 13 of 22 @@ -75093,7 +75276,7 @@ rest c --R --R --R (17) [x,[y,y]] ---R Type: Magma Symbol +--R Type: Magma(Symbol) --E 17 --S 18 of 22 @@ -75101,7 +75284,7 @@ rest rest c --R --R --R (18) [y,y] ---R Type: Magma Symbol +--R Type: Magma(Symbol) --E 18 --S 19 of 22 @@ -75109,7 +75292,7 @@ ax:tree := a*x --R --R --R (19) [[x,x],x] ---R Type: Magma Symbol +--R Type: Magma(Symbol) --E 19 --S 20 of 22 @@ -75117,7 +75300,7 @@ xa:tree := x*a --R --R --R (20) [x,[x,x]] ---R Type: Magma Symbol +--R Type: Magma(Symbol) --E 20 --S 21 of 22 @@ -75446,7 +75629,8 @@ Magma(VarSet:OrderedSet):Public == Private where --S 1 of 1 )show MakeCachableSet ---R MakeCachableSet S: SetCategory is a domain constructor +--R +--R MakeCachableSet(S: SetCategory) is a domain constructor --R Abbreviation for MakeCachableSet is MKCHSET --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for MKCHSET @@ -77220,7 +77404,7 @@ m : Matrix(Integer) := new(3,3,0) --R (1) |0 0 0| --R | | --R +0 0 0+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 1 --S 2 of 38 @@ -77248,7 +77432,7 @@ m --R (4) |0 0 5| --R | | --R +0 0 0+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 4 --S 5 of 38 @@ -77258,7 +77442,7 @@ matrix [ [1,2,3,4],[0,9,8,7] ] --R +1 2 3 4+ --R (5) | | --R +0 9 8 7+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 5 --S 6 of 38 @@ -77278,7 +77462,7 @@ dm := diagonalMatrix [1,x**2,x**3,x**4,x**5] --R | | --R | 5| --R +0 0 0 0 x + ---R Type: Matrix Polynomial Integer +--R Type: Matrix(Polynomial(Integer)) --E 6 --S 7 of 38 @@ -77297,7 +77481,7 @@ setRow!(dm,5,vector [1,1,1,1,1]) --R |0 0 0 x 0| --R | | --R +1 1 1 1 1+ ---R Type: Matrix Polynomial Integer +--R Type: Matrix(Polynomial(Integer)) --E 7 --S 8 of 38 @@ -77315,7 +77499,7 @@ setColumn!(dm,2,vector [y,y,y,y,y]) --R |0 y 0 x 0| --R | | --R +1 y 1 1 1+ ---R Type: Matrix Polynomial Integer +--R Type: Matrix(Polynomial(Integer)) --E 8 --S 9 of 38 @@ -77333,7 +77517,7 @@ cdm := copy(dm) --R |0 y 0 x 0| --R | | --R +1 y 1 1 1+ ---R Type: Matrix Polynomial Integer +--R Type: Matrix(Polynomial(Integer)) --E 9 --S 10 of 38 @@ -77342,7 +77526,7 @@ setelt(dm,4,1,1-x**7) --R --R 7 --R (10) - x + 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 10 --S 11 of 38 @@ -77360,7 +77544,7 @@ setelt(dm,4,1,1-x**7) --R |- x + 1 y 0 x 0| |0 y 0 x 0| --R | | | | --R + 1 y 1 1 1+ +1 y 1 1 1+ ---R Type: List Matrix Polynomial Integer +--R Type: List(Matrix(Polynomial(Integer))) --E 11 --S 12 of 38 @@ -77371,7 +77555,7 @@ subMatrix(dm,2,3,2,4) --R (12) | | --R | 3 | --R +y x 0+ ---R Type: Matrix Polynomial Integer +--R Type: Matrix(Polynomial(Integer)) --E 12 --S 13 of 38 @@ -77385,7 +77569,7 @@ d := diagonalMatrix [1.2,-1.3,1.4,-1.5] --R |0.0 0.0 1.4 0.0 | --R | | --R +0.0 0.0 0.0 - 1.5+ ---R Type: Matrix Float +--R Type: Matrix(Float) --E 13 --S 14 of 38 @@ -77395,7 +77579,7 @@ e := matrix [ [6.7,9.11],[-31.33,67.19] ] --R + 6.7 9.11 + --R (14) | | --R +- 31.33 67.19+ ---R Type: Matrix Float +--R Type: Matrix(Float) --E 14 --S 15 of 38 @@ -77409,7 +77593,7 @@ setsubMatrix!(d,1,2,e) --R |0.0 0.0 1.4 0.0 | --R | | --R +0.0 0.0 0.0 - 1.5+ ---R Type: Matrix Float +--R Type: Matrix(Float) --E 15 --S 16 of 38 @@ -77423,7 +77607,7 @@ d --R |0.0 0.0 1.4 0.0 | --R | | --R +0.0 0.0 0.0 - 1.5+ ---R Type: Matrix Float +--R Type: Matrix(Float) --E 16 --S 17 of 38 @@ -77437,7 +77621,7 @@ a := matrix [ [1/2,1/3,1/4],[1/5,1/6,1/7] ] --R |1 1 1| --R |- - -| --R +5 6 7+ ---R Type: Matrix Fraction Integer +--R Type: Matrix(Fraction(Integer)) --E 17 --S 18 of 38 @@ -77451,7 +77635,7 @@ b := matrix [ [3/5,3/7,3/11],[3/13,3/17,3/19] ] --R | 3 3 3| --R |-- -- --| --R +13 17 19+ ---R Type: Matrix Fraction Integer +--R Type: Matrix(Fraction(Integer)) --E 18 --S 19 of 38 @@ -77465,7 +77649,7 @@ horizConcat(a,b) --R |1 1 1 3 3 3| --R |- - - -- -- --| --R +5 6 7 13 17 19+ ---R Type: Matrix Fraction Integer +--R Type: Matrix(Fraction(Integer)) --E 19 --S 20 of 38 @@ -77487,7 +77671,7 @@ vab := vertConcat(a,b) --R | 3 3 3| --R |-- -- --| --R +13 17 19+ ---R Type: Matrix Fraction Integer +--R Type: Matrix(Fraction(Integer)) --E 20 --S 21 of 38 @@ -77505,7 +77689,7 @@ transpose vab --R |1 1 3 3| --R |- - -- --| --R +4 7 11 19+ ---R Type: Matrix Fraction Integer +--R Type: Matrix(Fraction(Integer)) --E 21 --S 22 of 38 @@ -77515,7 +77699,7 @@ m := matrix [ [1,2],[3,4] ] --R +1 2+ --R (22) | | --R +3 4+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 22 --S 23 of 38 @@ -77525,7 +77709,7 @@ m := matrix [ [1,2],[3,4] ] --R +- 20 - 40+ --R (23) | | --R +- 60 - 80+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 23 --S 24 of 38 @@ -77535,7 +77719,7 @@ n := matrix([ [1,0,-2],[-3,5,1] ]) --R + 1 0 - 2+ --R (24) | | --R +- 3 5 1 + ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 24 --S 25 of 38 @@ -77545,7 +77729,7 @@ m * n --R +- 5 10 0 + --R (25) | | --R +- 9 20 - 2+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 25 --S 26 of 38 @@ -77553,7 +77737,7 @@ vec := column(n,3) --R --R --R (26) [- 2,1] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 26 --S 27 of 38 @@ -77561,7 +77745,7 @@ vec * m --R --R --R (27) [1,0] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 27 --S 28 of 38 @@ -77569,7 +77753,7 @@ m * vec --R --R --R (28) [0,- 2] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 28 --S 29 of 38 @@ -77587,7 +77771,7 @@ hilb := matrix([ [1/(i + j) for i in 1..3] for j in 1..3]) --R |1 1 1| --R |- - -| --R +4 5 6+ ---R Type: Matrix Fraction Integer +--R Type: Matrix(Fraction(Integer)) --E 29 --S 30 of 38 @@ -77599,7 +77783,7 @@ inverse(hilb) --R (30) |- 240 900 - 720| --R | | --R + 180 - 720 600 + ---R Type: Union(Matrix Fraction Integer,...) +--R Type: Union(Matrix(Fraction(Integer)),...) --E 30 --S 31 of 38 @@ -77613,7 +77797,7 @@ mm := matrix([ [1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16] ]) --R |9 10 11 12| --R | | --R +13 14 15 16+ ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 31 --S 32 of 38 @@ -77661,7 +77845,7 @@ nullSpace(mm) --R --R --R (37) [[1,- 2,1,0],[2,- 3,0,1]] ---R Type: List Vector Integer +--R Type: List(Vector(Integer)) --E 37 --S 38 of 38 @@ -77675,7 +77859,7 @@ rowEchelon(mm) --R |0 0 0 0 | --R | | --R +0 0 0 0 + ---R Type: Matrix Integer +--R Type: Matrix(Integer) --E 38 )spool )lisp (bye) @@ -78394,7 +78578,8 @@ Matrix(R): Exports == Implementation where --S 1 of 1 )show ModMonic ---R ModMonic(R: Ring,Rep: UnivariatePolynomialCategory R) is a domain constructor +--R +--R ModMonic(R: Ring,Rep: UnivariatePolynomialCategory(R)) is a domain constructor --R Abbreviation for ModMonic is MODMON --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for MODMON @@ -78405,31 +78590,30 @@ Matrix(R): Exports == Implementation where --R ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> % --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean ---R An : % -> Vector R D : (%,(R -> R)) -> % +--R An : % -> Vector(R) D : (%,(R -> R)) -> % --R D : % -> % D : (%,NonNegativeInteger) -> % ---R 1 : () -> % UnVectorise : Vector R -> % ---R Vectorise : % -> Vector R 0 : () -> % ---R ?^? : (%,PositiveInteger) -> % coefficients : % -> List R +--R 1 : () -> % UnVectorise : Vector(R) -> % +--R Vectorise : % -> Vector(R) 0 : () -> % +--R ?^? : (%,PositiveInteger) -> % coefficients : % -> List(R) --R coerce : Rep -> % 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 : % -> % lift : % -> Rep --R map : ((R -> R),%) -> % modulus : () -> Rep ---R monomial? : % -> Boolean monomials : % -> List % ---R one? : % -> Boolean pow : () -> PrimitiveArray % ---R primitiveMonomials : % -> List % pseudoRemainder : (%,%) -> % ---R recip : % -> Union(%,"failed") reduce : Rep -> % ---R reductum : % -> % retract : % -> R ---R sample : () -> % setPoly : Rep -> Rep ---R zero? : % -> Boolean ?~=? : (%,%) -> 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 pow : () -> PrimitiveArray(%) +--R pseudoRemainder : (%,%) -> % recip : % -> Union(%,"failed") +--R reduce : Rep -> % reductum : % -> % +--R retract : % -> R sample : () -> % +--R setPoly : Rep -> Rep 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 @@ -78438,147 +78622,150 @@ Matrix(R): Exports == Implementation where --R ?>? : (%,%) -> Boolean if R has ORDSET --R ?>=? : (%,%) -> Boolean if R has ORDSET --R D : (%,(R -> R),NonNegativeInteger) -> % ---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL ---R D : (%,List Symbol) -> % if R has PDRING SYMBOL ---R D : (%,Symbol) -> % if R has PDRING SYMBOL ---R D : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R D : (%,Symbol) -> % if R has PDRING(SYMBOL) +--R D : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> % --R D : (%,SingletonAsOrderedSet,NonNegativeInteger) -> % ---R D : (%,List SingletonAsOrderedSet) -> % +--R D : (%,List(SingletonAsOrderedSet)) -> % --R D : (%,SingletonAsOrderedSet) -> % --R ?^? : (%,NonNegativeInteger) -> % --R associates? : (%,%) -> Boolean if R has INTDOM --R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and R has PFECAT or R has CHARNZ ---R coefficient : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--R coefficient : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> % --R coefficient : (%,SingletonAsOrderedSet,NonNegativeInteger) -> % --R coefficient : (%,NonNegativeInteger) -> R --R coerce : % -> % if R has INTDOM ---R coerce : Fraction Integer -> % if R has ALGEBRA FRAC INT or R has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT)) --R coerce : SingletonAsOrderedSet -> % ---R composite : (Fraction %,%) -> Union(Fraction %,"failed") if R has INTDOM +--R composite : (Fraction(%),%) -> Union(Fraction(%),"failed") if R has INTDOM --R composite : (%,%) -> Union(%,"failed") if R has INTDOM ---R computePowers : () -> PrimitiveArray % ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and R has PFECAT +--R computePowers : () -> PrimitiveArray(%) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and R has PFECAT --R content : (%,SingletonAsOrderedSet) -> % if R has GCDDOM --R content : % -> R if R has GCDDOM ---R convert : % -> InputForm if SingletonAsOrderedSet has KONVERT INFORM and R has KONVERT INFORM ---R convert : % -> Pattern Integer if SingletonAsOrderedSet has KONVERT PATTERN INT and R has KONVERT PATTERN INT ---R convert : % -> Pattern Float if SingletonAsOrderedSet has KONVERT PATTERN FLOAT and R has KONVERT PATTERN FLOAT ---R degree : (%,List SingletonAsOrderedSet) -> List NonNegativeInteger +--R convert : % -> InputForm if SingletonAsOrderedSet has KONVERT(INFORM) and R has KONVERT(INFORM) +--R convert : % -> Pattern(Integer) if SingletonAsOrderedSet has KONVERT(PATTERN(INT)) and R has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if SingletonAsOrderedSet has KONVERT(PATTERN(FLOAT)) and R has KONVERT(PATTERN(FLOAT)) +--R degree : (%,List(SingletonAsOrderedSet)) -> List(NonNegativeInteger) --R degree : (%,SingletonAsOrderedSet) -> NonNegativeInteger --R differentiate : (%,(R -> R),%) -> % --R differentiate : (%,(R -> R)) -> % --R differentiate : (%,(R -> R),NonNegativeInteger) -> % ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if R has PDRING SYMBOL ---R differentiate : (%,Symbol) -> % if R has PDRING SYMBOL +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,Symbol) -> % if R has PDRING(SYMBOL) --R differentiate : (%,NonNegativeInteger) -> % ---R differentiate : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--R differentiate : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> % --R differentiate : (%,SingletonAsOrderedSet,NonNegativeInteger) -> % ---R differentiate : (%,List SingletonAsOrderedSet) -> % +--R differentiate : (%,List(SingletonAsOrderedSet)) -> % --R differentiate : (%,SingletonAsOrderedSet) -> % --R discriminant : % -> R if R has COMRING --R discriminant : (%,SingletonAsOrderedSet) -> % if R has COMRING --R divide : (%,%) -> Record(quotient: %,remainder: %) if R has FIELD --R divideExponents : (%,NonNegativeInteger) -> Union(%,"failed") ---R ?.? : (%,Fraction %) -> Fraction % if R has INTDOM ---R elt : (Fraction %,R) -> R if R has FIELD ---R elt : (Fraction %,Fraction %) -> Fraction % if R has INTDOM +--R ?.? : (%,Fraction(%)) -> Fraction(%) if R has INTDOM +--R elt : (Fraction(%),R) -> R if R has FIELD +--R elt : (Fraction(%),Fraction(%)) -> Fraction(%) if R has INTDOM --R euclideanSize : % -> NonNegativeInteger if R has FIELD ---R eval : (%,List SingletonAsOrderedSet,List %) -> % +--R eval : (%,List(SingletonAsOrderedSet),List(%)) -> % --R eval : (%,SingletonAsOrderedSet,%) -> % ---R eval : (%,List SingletonAsOrderedSet,List R) -> % +--R eval : (%,List(SingletonAsOrderedSet),List(R)) -> % --R eval : (%,SingletonAsOrderedSet,R) -> % ---R expressIdealMember : (List %,%) -> Union(List %,"failed") if R has FIELD +--R eval : (%,List(%),List(%)) -> % +--R eval : (%,List(Equation(%))) -> % +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if R has FIELD --R exquo : (%,%) -> Union(%,"failed") if R has INTDOM --R exquo : (%,R) -> Union(%,"failed") if R has INTDOM --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if R has FIELD --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if R has FIELD ---R factor : % -> Factored % if R has PFECAT ---R factorPolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT +--R factor : % -> Factored(%) if R has PFECAT +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT --R frobenius : % -> % if R has FFIELDC --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 index : PositiveInteger -> % if R has FINITE ---R integrate : % -> % if R has ALGEBRA FRAC INT +--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 lookup : % -> PositiveInteger if R has FINITE --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 random : () -> % if R has FINITE ---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 size : () -> NonNegativeInteger if R has FINITE --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 @@ -78917,13 +79104,14 @@ ModMonic(R,Rep): C == T --S 1 of 1 )show ModularField +--R --R ModularField(R: CommutativeRing,Mod: AbelianMonoid,reduction: ((R,Mod) -> R),merge: ((Mod,Mod) -> Union(Mod,"failed")),exactQuo: ((R,R,Mod) -> Union(R,"failed"))) is a domain constructor --R Abbreviation for ModularField is MODFIELD --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for MODFIELD --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -78932,17 +79120,17 @@ ModMonic(R,Rep): C == T --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R associates? : (%,%) -> Boolean coerce : % -> R ---R coerce : Fraction Integer -> % coerce : % -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R factor : % -> Factored % gcd : List % -> % +--R factor : % -> Factored(%) gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R modulus : % -> Mod one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") reduce : (R,Mod) -> % --R ?rem? : (%,%) -> % sample : () -> % ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) --R squareFreePart : % -> % unit? : % -> Boolean --R unitCanonical : % -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean @@ -78953,13 +79141,13 @@ ModMonic(R,Rep): C == T --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger --R exQuo : (%,%) -> Union(%,"failed") ---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 @@ -79370,7 +79558,8 @@ ModuleMonomial(IS: OrderedSet, --S 1 of 1 )show ModuleOperator ---R ModuleOperator(R: Ring,M: LeftModule R) is a domain constructor +--R +--R ModuleOperator(R: Ring,M: LeftModule(R)) is a domain constructor --R Abbreviation for ModuleOperator is MODOP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for MODOP @@ -79402,7 +79591,7 @@ ModuleMonomial(IS: OrderedSet, --R charthRoot : % -> Union(%,"failed") if R has CHARNZ --R conjug : R -> R if R has COMRING --R evaluateInverse : (%,(M -> M)) -> % ---R makeop : (R,FreeGroup BasicOperator) -> % +--R makeop : (R,FreeGroup(BasicOperator)) -> % --R retractIfCan : % -> Union(BasicOperator,"failed") --R retractIfCan : % -> Union(R,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -79709,7 +79898,8 @@ ModuleOperator(R: Ring, M:LeftModule(R)): Exports == Implementation where --S 1 of 1 )show MoebiusTransform ---R MoebiusTransform F: Field is a domain constructor +--R +--R MoebiusTransform(F: Field) is a domain constructor --R Abbreviation for MoebiusTransform is MOEBIUS --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for MOEBIUS @@ -79730,7 +79920,7 @@ ModuleOperator(R: Ring, M:LeftModule(R)): Exports == Implementation where --R shift : F -> % ?~=? : (%,%) -> Boolean --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % ---R eval : (%,OnePointCompletion F) -> OnePointCompletion F +--R eval : (%,OnePointCompletion(F)) -> OnePointCompletion(F) --R --E 1 @@ -79896,6 +80086,7 @@ MoebiusTransform(F): Exports == Implementation where --S 1 of 1 )show MonoidRing +--R --R MonoidRing(R: Ring,M: Monoid) is a domain constructor --R Abbreviation for MonoidRing is MRING --R This constructor is not exposed in this frame. @@ -79908,12 +80099,12 @@ MoebiusTransform(F): Exports == Implementation where --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % coefficient : (%,M) -> R ---R coefficients : % -> List R coerce : R -> % +--R coefficients : % -> List(R) coerce : R -> % --R coerce : M -> % coerce : Integer -> % --R coerce : % -> OutputForm hash : % -> SingleInteger --R latex : % -> String map : ((R -> R),%) -> % --R monomial : (R,M) -> % monomial? : % -> Boolean ---R monomials : % -> List % one? : % -> Boolean +--R monomials : % -> List(%) one? : % -> Boolean --R recip : % -> Union(%,"failed") retract : % -> R --R retract : % -> M sample : () -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean @@ -79924,7 +80115,7 @@ MoebiusTransform(F): Exports == Implementation where --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if R has CHARNZ ---R coerce : List Record(coef: R,monom: M) -> % +--R coerce : List(Record(coef: R,monom: M)) -> % --R index : PositiveInteger -> % if M has FINITE and R has FINITE --R leadingCoefficient : % -> R if M has ORDSET --R leadingMonomial : % -> M if M has ORDSET @@ -79936,7 +80127,7 @@ MoebiusTransform(F): Exports == Implementation where --R retractIfCan : % -> Union(M,"failed") --R size : () -> NonNegativeInteger if M has FINITE and R has FINITE --R subtractIfCan : (%,%) -> Union(%,"failed") ---R terms : % -> List Record(coef: R,monom: M) +--R terms : % -> List(Record(coef: R,monom: M)) --R --E 1 @@ -80338,7 +80529,7 @@ s := multiset [1,2,3,4,5,4,3,2,3,4,5,6,7,4,10] --R --R --R (1) {1,2: 2,3: 3,4: 4,2: 5,6,7,10} ---R Type: Multiset PositiveInteger +--R Type: Multiset(PositiveInteger) --E 1 --S 2 of 14 @@ -80346,7 +80537,7 @@ insert!(3,s) --R --R --R (2) {1,2: 2,4: 3,4: 4,2: 5,6,7,10} ---R Type: Multiset PositiveInteger +--R Type: Multiset(PositiveInteger) --E 2 --S 3 of 14 @@ -80354,7 +80545,7 @@ remove!(3,s,1) --R --R --R (3) {1,2: 2,3: 3,4: 4,2: 5,6,7,10} ---R Type: Multiset PositiveInteger +--R Type: Multiset(PositiveInteger) --E 3 --S 4 of 14 @@ -80362,7 +80553,7 @@ s --R --R --R (4) {1,2: 2,3: 3,4: 4,2: 5,6,7,10} ---R Type: Multiset PositiveInteger +--R Type: Multiset(PositiveInteger) --E 4 --S 5 of 14 @@ -80370,7 +80561,7 @@ remove!(5,s) --R --R --R (5) {1,2: 2,3: 3,4: 4,6,7,10} ---R Type: Multiset PositiveInteger +--R Type: Multiset(PositiveInteger) --E 5 --S 6 of 14 @@ -80378,7 +80569,7 @@ s --R --R --R (6) {1,2: 2,3: 3,4: 4,6,7,10} ---R Type: Multiset PositiveInteger +--R Type: Multiset(PositiveInteger) --E 6 --S 7 of 14 @@ -80394,7 +80585,7 @@ t := multiset [2,2,2,-9] --R --R --R (8) {3: 2,- 9} ---R Type: Multiset Integer +--R Type: Multiset(Integer) --E 8 --S 9 of 14 @@ -80402,7 +80593,7 @@ U := union(s,t) --R --R --R (9) {1,5: 2,3: 3,4: 4,6,7,10,- 9} ---R Type: Multiset Integer +--R Type: Multiset(Integer) --E 9 --S 10 of 14 @@ -80410,7 +80601,7 @@ I := intersect(s,t) --R --R --R (10) {5: 2} ---R Type: Multiset Integer +--R Type: Multiset(Integer) --E 10 --S 11 of 14 @@ -80418,7 +80609,7 @@ difference(s,t) --R --R --R (11) {1,3: 3,4: 4,6,7,10} ---R Type: Multiset Integer +--R Type: Multiset(Integer) --E 11 --S 12 of 14 @@ -80426,7 +80617,7 @@ S := symmetricDifference(s,t) --R --R --R (12) {1,3: 3,4: 4,6,7,10,- 9} ---R Type: Multiset Integer +--R Type: Multiset(Integer) --E 12 --S 13 of 14 @@ -80442,7 +80633,7 @@ t1 := multiset [1,2,2,3]; [t1 < t, t1 < s, t < s, t1 <= s] --R --R --R (14) [false,true,false,true] ---R Type: List Boolean +--R Type: List(Boolean) --E 14 )spool )lisp (bye) @@ -80926,7 +81117,7 @@ p :: POLY INT --R --R --R (4) p ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 4 --S 5 of 9 @@ -80934,7 +81125,7 @@ p :: POLY INT --R --R --R (5) p ---R Type: MultivariatePolynomial([a,b],Polynomial Integer) +--R Type: MultivariatePolynomial([a,b],Polynomial(Integer)) --E 5 --S 6 of 9 @@ -80952,7 +81143,7 @@ q := (x^2 - x*(z+1)/y +2)^2 --R (7) x + -------- x + ----------------- x + -------- x + 4 --R y 2 y --R y ---R Type: UnivariatePolynomial(x,Fraction MultivariatePolynomial([y,z],Integer)) +--RType: UnivariatePolynomial(x,Fraction(MultivariatePolynomial([y,z],Integer))) --E 7 --S 8 of 9 @@ -80965,7 +81156,7 @@ q :: UP(z, FRAC MPOLY([x,y],INT)) --R -- z + -------------------- z + --------------------------------------- --R 2 2 2 --R y y y ---R Type: UnivariatePolynomial(z,Fraction MultivariatePolynomial([x,y],Integer)) +--RType: UnivariatePolynomial(z,Fraction(MultivariatePolynomial([x,y],Integer))) --E 8 --S 9 of 9 @@ -80977,7 +81168,7 @@ q :: MPOLY([x,z], FRAC UP(y,INT)) --R (9) x + (- - z - -)x + (-- z + -- z + -------)x + (- - z - -)x + 4 --R y y 2 2 2 y y --R y y y ---R Type: MultivariatePolynomial([x,z],Fraction UnivariatePolynomial(y,Integer)) +--RType: MultivariatePolynomial([x,z],Fraction(UnivariatePolynomial(y,Integer))) --E 9 )spool )lisp (bye) @@ -81966,14 +82157,15 @@ MyUnivariatePolynomial(x:Symbol, R:Ring): --S 1 of 1 )show NeitherSparseOrDensePowerSeries ---R NeitherSparseOrDensePowerSeries K: Field is a domain constructor +--R +--R NeitherSparseOrDensePowerSeries(K: Field) is a domain constructor --R Abbreviation for NeitherSparseOrDensePowerSeries is NSDPS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for NSDPS --R --R------------------------------- Operations -------------------------------- --R ?*? : (%,K) -> % ?*? : (K,%) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -81982,11 +82174,11 @@ MyUnivariatePolynomial(x:Symbol, R:Ring): --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R associates? : (%,%) -> Boolean center : % -> K ---R children : % -> List % coefOfFirstNonZeroTerm : % -> K ---R coefficient : (%,Integer) -> K coerce : Fraction Integer -> % +--R children : % -> List(%) coefOfFirstNonZeroTerm : % -> K +--R coefficient : (%,Integer) -> K coerce : Fraction(Integer) -> % --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm complete : % -> % ---R concat : (%,%) -> % concat : List % -> % +--R concat : (%,%) -> % concat : List(%) -> % --R copy : % -> % cycleEntry : % -> % --R cycleTail : % -> % cyclic? : % -> Boolean --R degree : % -> Integer delay : (() -> %) -> % @@ -81995,18 +82187,18 @@ MyUnivariatePolynomial(x:Symbol, R:Ring): --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean explicitEntries? : % -> Boolean --R explicitlyEmpty? : % -> Boolean explicitlyFinite? : % -> Boolean ---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 index? : (Integer,%) -> Boolean ---R indices : % -> List Integer insert : (%,%,Integer) -> % +--R indices : % -> List(Integer) insert : (%,%,Integer) -> % --R inv : % -> % latex : % -> String --R lazy? : % -> Boolean lazyEvaluate : % -> % ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R leadingCoefficient : % -> K leadingMonomial : % -> % --R leaf? : % -> Boolean map : ((K -> K),%) -> % --R monomial : (K,Integer) -> % monomial? : % -> Boolean ---R nodes : % -> List % one? : % -> Boolean +--R nodes : % -> List(%) one? : % -> Boolean --R order : % -> Integer order : % -> Integer --R order : (%,Integer) -> Integer pole? : % -> Boolean --R posExpnPart : % -> % possiblyInfinite? : % -> Boolean @@ -82018,7 +82210,7 @@ MyUnivariatePolynomial(x:Symbol, R:Ring): --R rest : % -> % rst : % -> % --R sample : () -> % sbt : (%,%) -> % --R series : (Integer,K,%) -> % shift : (%,Integer) -> % ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) --R squareFreePart : % -> % tail : % -> % --R truncate : (%,Integer) -> % unit? : % -> Boolean --R unitCanonical : % -> % variable : % -> Symbol @@ -82027,10 +82219,10 @@ MyUnivariatePolynomial(x:Symbol, R:Ring): --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,K) -> % if K has FIELD ---R D : (%,List Symbol,List NonNegativeInteger) -> % if K has *: (Integer,K) -> K and K has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if K has *: (Integer,K) -> K and K has PDRING SYMBOL ---R D : (%,List Symbol) -> % if K has *: (Integer,K) -> K and K has PDRING SYMBOL ---R D : (%,Symbol) -> % if K has *: (Integer,K) -> K and K has PDRING SYMBOL +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if K has *: (Integer,K) -> K and K has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if K has *: (Integer,K) -> K and K has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if K has *: (Integer,K) -> K and K has PDRING(SYMBOL) +--R D : (%,Symbol) -> % if K has *: (Integer,K) -> K and K has PDRING(SYMBOL) --R D : (%,NonNegativeInteger) -> % if K has *: (Integer,K) -> K --R D : % -> % if K has *: (Integer,K) -> K --R ?^? : (%,NonNegativeInteger) -> % @@ -82039,44 +82231,44 @@ MyUnivariatePolynomial(x:Symbol, R:Ring): --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if K has CHARNZ --R child? : (%,%) -> Boolean if Record(k: Integer,c: K) has SETCAT ---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 concat : (Record(k: Integer,c: K),%) -> % --R concat : (%,Record(k: Integer,c: K)) -> % --R concat! : (%,%) -> % if $ has shallowlyMutable --R concat! : (%,Record(k: Integer,c: K)) -> % if $ has shallowlyMutable ---R construct : List Record(k: Integer,c: K) -> % ---R convert : % -> InputForm if Record(k: Integer,c: K) has KONVERT INFORM +--R construct : List(Record(k: Integer,c: K)) -> % +--R convert : % -> InputForm if Record(k: Integer,c: K) has KONVERT(INFORM) --R count : ((Record(k: Integer,c: K) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (Record(k: Integer,c: K),%) -> NonNegativeInteger if $ has finiteAggregate and Record(k: Integer,c: K) has SETCAT --R cycleLength : % -> NonNegativeInteger --R cycleSplit! : % -> % if $ has shallowlyMutable ---R delete : (%,UniversalSegment Integer) -> % ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if K has *: (Integer,K) -> K and K has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if K has *: (Integer,K) -> K and K has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if K has *: (Integer,K) -> K and K has PDRING SYMBOL ---R differentiate : (%,Symbol) -> % if K has *: (Integer,K) -> K and K has PDRING SYMBOL +--R delete : (%,UniversalSegment(Integer)) -> % +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if K has *: (Integer,K) -> K and K has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if K has *: (Integer,K) -> K and K has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if K has *: (Integer,K) -> K and K has PDRING(SYMBOL) +--R differentiate : (%,Symbol) -> % if K has *: (Integer,K) -> K and K has PDRING(SYMBOL) --R differentiate : (%,NonNegativeInteger) -> % if K has *: (Integer,K) -> K --R differentiate : % -> % if K has *: (Integer,K) -> K --R divide : (%,%) -> Record(quotient: %,remainder: %) --R ?.value : (%,value) -> Record(k: Integer,c: K) --R ?.first : (%,first) -> Record(k: Integer,c: K) --R ?.last : (%,last) -> Record(k: Integer,c: K) ---R ?.? : (%,UniversalSegment Integer) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R ?.? : (%,Integer) -> Record(k: Integer,c: K) --R elt : (%,Integer,Record(k: Integer,c: K)) -> Record(k: Integer,c: K) --R ?.? : (%,%) -> % if Integer has SGROUP ---R entries : % -> List Record(k: Integer,c: K) +--R entries : % -> List(Record(k: Integer,c: K)) --R entry? : (Record(k: Integer,c: K),%) -> Boolean if $ has finiteAggregate and Record(k: Integer,c: K) has SETCAT --R euclideanSize : % -> NonNegativeInteger ---R eval : (%,List Equation Record(k: Integer,c: K)) -> % if Record(k: Integer,c: K) has EVALAB Record(k: Integer,c: K) and Record(k: Integer,c: K) has SETCAT ---R eval : (%,Equation Record(k: Integer,c: K)) -> % if Record(k: Integer,c: K) has EVALAB Record(k: Integer,c: K) and Record(k: Integer,c: K) has SETCAT ---R eval : (%,Record(k: Integer,c: K),Record(k: Integer,c: K)) -> % if Record(k: Integer,c: K) has EVALAB Record(k: Integer,c: K) and Record(k: Integer,c: K) has SETCAT ---R eval : (%,List Record(k: Integer,c: K),List Record(k: Integer,c: K)) -> % if Record(k: Integer,c: K) has EVALAB Record(k: Integer,c: K) and Record(k: Integer,c: K) has SETCAT ---R eval : (%,K) -> Stream K if K has **: (K,Integer) -> K +--R eval : (%,List(Equation(Record(k: Integer,c: K)))) -> % if Record(k: Integer,c: K) has EVALAB(Record(k: Integer,c: K)) and Record(k: Integer,c: K) has SETCAT +--R eval : (%,Equation(Record(k: Integer,c: K))) -> % if Record(k: Integer,c: K) has EVALAB(Record(k: Integer,c: K)) and Record(k: Integer,c: K) has SETCAT +--R eval : (%,Record(k: Integer,c: K),Record(k: Integer,c: K)) -> % if Record(k: Integer,c: K) has EVALAB(Record(k: Integer,c: K)) and Record(k: Integer,c: K) has SETCAT +--R eval : (%,List(Record(k: Integer,c: K)),List(Record(k: Integer,c: K))) -> % if Record(k: Integer,c: K) has EVALAB(Record(k: Integer,c: K)) and Record(k: Integer,c: K) has SETCAT +--R eval : (%,K) -> Stream(K) if K has **: (K,Integer) -> K --R every? : ((Record(k: Integer,c: K) -> Boolean),%) -> Boolean if $ has finiteAggregate ---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: %) @@ -82086,31 +82278,31 @@ MyUnivariatePolynomial(x:Symbol, R:Ring): --R first : % -> Record(k: Integer,c: K) --R first : (%,NonNegativeInteger) -> % --R frst : % -> Record(k: Integer,c: K) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R insert : (Record(k: Integer,c: K),%,Integer) -> % --R last : % -> Record(k: Integer,c: K) --R last : (%,NonNegativeInteger) -> % ---R leaves : % -> List Record(k: Integer,c: K) +--R leaves : % -> List(Record(k: Integer,c: K)) --R less? : (%,NonNegativeInteger) -> Boolean --R map : ((Record(k: Integer,c: K) -> Record(k: Integer,c: K)),%) -> % --R map : (((Record(k: Integer,c: K),Record(k: Integer,c: K)) -> Record(k: Integer,c: K)),%,%) -> % --R map! : ((Record(k: Integer,c: K) -> Record(k: Integer,c: K)),%) -> % if $ has shallowlyMutable --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (Record(k: Integer,c: K),%) -> Boolean if $ has finiteAggregate and Record(k: Integer,c: K) has SETCAT ---R members : % -> List Record(k: Integer,c: K) if $ has finiteAggregate +--R members : % -> List(Record(k: Integer,c: K)) if $ has finiteAggregate --R minIndex : % -> Integer if Integer has ORDSET --R monomial : (%,SingletonAsOrderedSet,Integer) -> % ---R monomial : (%,List SingletonAsOrderedSet,List Integer) -> % ---R monomial2series : (List %,List NonNegativeInteger,Integer) -> % +--R monomial : (%,List(SingletonAsOrderedSet),List(Integer)) -> % +--R monomial2series : (List(%),List(NonNegativeInteger),Integer) -> % --R more? : (%,NonNegativeInteger) -> Boolean ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R multiplyExponents : (%,PositiveInteger) -> % --R new : (NonNegativeInteger,Record(k: Integer,c: K)) -> % --R node? : (%,%) -> Boolean if Record(k: Integer,c: K) has SETCAT --R numberOfComputedEntries : % -> NonNegativeInteger --R orderIfNegative : % -> Union(Integer,"failed") ---R parts : % -> List Record(k: Integer,c: K) if $ has finiteAggregate ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R parts : % -> List(Record(k: Integer,c: K)) if $ has finiteAggregate +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R qelt : (%,Integer) -> Record(k: Integer,c: K) --R qsetelt! : (%,Integer,Record(k: Integer,c: K)) -> Record(k: Integer,c: K) if $ has shallowlyMutable --R reduce : (((Record(k: Integer,c: K),Record(k: Integer,c: K)) -> Record(k: Integer,c: K)),%) -> Record(k: Integer,c: K) if $ has finiteAggregate @@ -82122,12 +82314,12 @@ MyUnivariatePolynomial(x:Symbol, R:Ring): --R rest : (%,NonNegativeInteger) -> % --R second : % -> Record(k: Integer,c: K) --R select : ((Record(k: Integer,c: K) -> Boolean),%) -> % ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,value,Record(k: Integer,c: K)) -> Record(k: Integer,c: K) if $ has shallowlyMutable --R setelt : (%,first,Record(k: Integer,c: K)) -> Record(k: Integer,c: K) if $ has shallowlyMutable --R setelt : (%,rest,%) -> % if $ has shallowlyMutable --R setelt : (%,last,Record(k: Integer,c: K)) -> Record(k: Integer,c: K) if $ has shallowlyMutable ---R setelt : (%,UniversalSegment Integer,Record(k: Integer,c: K)) -> Record(k: Integer,c: K) if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),Record(k: Integer,c: K)) -> Record(k: Integer,c: K) if $ has shallowlyMutable --R setelt : (%,Integer,Record(k: Integer,c: K)) -> Record(k: Integer,c: K) if $ has shallowlyMutable --R setfirst! : (%,Record(k: Integer,c: K)) -> Record(k: Integer,c: K) if $ has shallowlyMutable --R setlast! : (%,Record(k: Integer,c: K)) -> Record(k: Integer,c: K) if $ has shallowlyMutable @@ -82137,12 +82329,12 @@ MyUnivariatePolynomial(x:Symbol, R:Ring): --R split! : (%,Integer) -> % if $ has shallowlyMutable --R subtractIfCan : (%,%) -> Union(%,"failed") --R swap! : (%,Integer,Integer) -> Void if $ has shallowlyMutable ---R terms : % -> Stream Record(k: Integer,c: K) +--R terms : % -> Stream(Record(k: Integer,c: K)) --R third : % -> Record(k: Integer,c: K) --R truncate : (%,Integer,Integer) -> % --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R value : % -> Record(k: Integer,c: K) ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -82580,6 +82772,7 @@ by means of triangular sets. --S 1 of 1 )show NewSparseMultivariatePolynomial +--R --R NewSparseMultivariatePolynomial(R: Ring,VarSet: OrderedSet) is a domain constructor --R Abbreviation for NewSparseMultivariatePolynomial is NSMP --R This constructor is not exposed in this frame. @@ -82591,42 +82784,40 @@ by means of triangular sets. --R ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> % --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean ---R D : (%,List VarSet) -> % D : (%,VarSet) -> % +--R D : (%,List(VarSet)) -> % D : (%,VarSet) -> % --R 1 : () -> % 0 : () -> % ---R ?^? : (%,PositiveInteger) -> % coefficients : % -> List R +--R ?^? : (%,PositiveInteger) -> % coefficients : % -> List(R) --R coerce : VarSet -> % coerce : R -> % --R coerce : Integer -> % coerce : % -> OutputForm --R deepestInitial : % -> % deepestTail : % -> % --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 head : % -> % headReduce : (%,%) -> % --R headReduced? : (%,%) -> Boolean infRittWu? : (%,%) -> Boolean --R init : % -> % initiallyReduce : (%,%) -> % ---R iteratedInitials : % -> List % latex : % -> String +--R iteratedInitials : % -> List(%) latex : % -> String --R lazyPquo : (%,%,VarSet) -> % lazyPquo : (%,%) -> % --R lazyPrem : (%,%,VarSet) -> % lazyPrem : (%,%) -> % --R leadingCoefficient : % -> R leadingMonomial : % -> % ---R leastMonomial : % -> % mainCoefficients : % -> List % ---R mainMonomial : % -> % mainMonomials : % -> List % +--R leastMonomial : % -> % mainCoefficients : % -> List(%) +--R mainMonomial : % -> % mainMonomials : % -> List(%) --R map : ((R -> R),%) -> % mdeg : % -> NonNegativeInteger --R monic? : % -> Boolean monicModulo : (%,%) -> % ---R monomial? : % -> Boolean monomials : % -> List % +--R monomial? : % -> Boolean monomials : % -> List(%) --R mvar : % -> VarSet normalized? : (%,%) -> Boolean --R one? : % -> Boolean pquo : (%,%,VarSet) -> % --R pquo : (%,%) -> % prem : (%,%,VarSet) -> % ---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 : (%,VarSet) -> % reductum : % -> % --R retract : % -> VarSet retract : % -> R --R sample : () -> % supRittWu? : (%,%) -> Boolean ---R tail : % -> % variables : % -> List VarSet +--R tail : % -> % 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 ?*? : (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 @@ -82634,7 +82825,7 @@ by means of triangular sets. --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 LazardQuotient : (%,%,NonNegativeInteger) -> % if R has INTDOM --R LazardQuotient2 : (%,%,%,NonNegativeInteger) -> % if R has INTDOM @@ -82644,34 +82835,36 @@ by means of triangular sets. --R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and R has PFECAT or R has CHARNZ ---R coefficient : (%,List VarSet,List NonNegativeInteger) -> % +--R coefficient : (%,List(VarSet),List(NonNegativeInteger)) -> % --R coefficient : (%,VarSet,NonNegativeInteger) -> % ---R coefficient : (%,IndexedExponents VarSet) -> R +--R coefficient : (%,IndexedExponents(VarSet)) -> R --R coerce : % -> % if R has INTDOM ---R coerce : Fraction Integer -> % if R has ALGEBRA FRAC INT or R has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT)) --R coerce : SparseMultivariatePolynomial(R,VarSet) -> % --R coerce : % -> SparseMultivariatePolynomial(R,VarSet) ---R coerce : % -> Polynomial R if VarSet has KONVERT SYMBOL ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and R has PFECAT +--R coerce : % -> Polynomial(R) if VarSet has KONVERT(SYMBOL) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and R has PFECAT --R content : (%,VarSet) -> % if R has GCDDOM --R content : % -> R if R has GCDDOM ---R convert : % -> Polynomial R if VarSet has KONVERT SYMBOL ---R convert : % -> String if R has RETRACT INT and VarSet has KONVERT SYMBOL ---R convert : Polynomial R -> % if VarSet has KONVERT SYMBOL ---R convert : Polynomial Integer -> % if R has ALGEBRA INT and VarSet has KONVERT SYMBOL and not has(R,Algebra Fraction Integer) or R has ALGEBRA FRAC INT and VarSet has KONVERT SYMBOL ---R convert : Polynomial Fraction Integer -> % if R has ALGEBRA FRAC INT and VarSet has KONVERT SYMBOL ---R convert : % -> InputForm if R has KONVERT INFORM and VarSet has KONVERT INFORM ---R convert : % -> Pattern Integer if R has KONVERT PATTERN INT and VarSet has KONVERT PATTERN INT ---R convert : % -> Pattern Float if R has KONVERT PATTERN FLOAT and VarSet has KONVERT PATTERN FLOAT ---R degree : (%,List VarSet) -> List NonNegativeInteger +--R convert : % -> Polynomial(R) if VarSet has KONVERT(SYMBOL) +--R convert : % -> String if R has RETRACT(INT) and VarSet has KONVERT(SYMBOL) +--R convert : Polynomial(R) -> % if VarSet has KONVERT(SYMBOL) +--R convert : Polynomial(Integer) -> % if R has ALGEBRA(INT) and VarSet has KONVERT(SYMBOL) and not(has(R,Algebra(Fraction(Integer)))) or R has ALGEBRA(FRAC(INT)) and VarSet has KONVERT(SYMBOL) +--R convert : Polynomial(Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT)) and VarSet has KONVERT(SYMBOL) +--R convert : % -> InputForm if R has KONVERT(INFORM) and VarSet has KONVERT(INFORM) +--R convert : % -> Pattern(Integer) if R has KONVERT(PATTERN(INT)) and VarSet has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if R has KONVERT(PATTERN(FLOAT)) and VarSet has KONVERT(PATTERN(FLOAT)) +--R degree : (%,List(VarSet)) -> List(NonNegativeInteger) --R degree : (%,VarSet) -> NonNegativeInteger ---R degree : % -> IndexedExponents VarSet ---R differentiate : (%,List VarSet,List NonNegativeInteger) -> % +--R degree : % -> IndexedExponents(VarSet) +--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 exactQuotient : (%,%) -> % if R has INTDOM --R exactQuotient : (%,R) -> % if R has INTDOM --R exactQuotient! : (%,%) -> % if R has INTDOM @@ -82679,21 +82872,21 @@ by means of triangular sets. --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: 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 lastSubResultant : (%,%) -> % if R has INTDOM --R lazyPremWithDefault : (%,%,VarSet) -> Record(coef: %,gap: NonNegativeInteger,remainder: %) --R lazyPremWithDefault : (%,%) -> Record(coef: %,gap: NonNegativeInteger,remainder: %) @@ -82701,71 +82894,73 @@ by means of triangular sets. --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 leadingCoefficient : (%,VarSet) -> % --R mainContent : % -> % if R has GCDDOM --R mainPrimitivePart : % -> % if R has GCDDOM --R mainSquareFreePart : % -> % if R has GCDDOM --R mainVariable : % -> Union(VarSet,"failed") ---R mapExponents : ((IndexedExponents VarSet -> IndexedExponents VarSet),%) -> % +--R mapExponents : ((IndexedExponents(VarSet) -> IndexedExponents(VarSet)),%) -> % --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 minimumDegree : % -> IndexedExponents VarSet +--R minimumDegree : % -> IndexedExponents(VarSet) --R monicDivide : (%,%,VarSet) -> Record(quotient: %,remainder: %) ---R monomial : (%,List VarSet,List NonNegativeInteger) -> % +--R monomial : (%,List(VarSet),List(NonNegativeInteger)) -> % --R monomial : (%,VarSet,NonNegativeInteger) -> % ---R monomial : (R,IndexedExponents VarSet) -> % ---R multivariate : (SparseUnivariatePolynomial %,VarSet) -> % ---R multivariate : (SparseUnivariatePolynomial R,VarSet) -> % +--R monomial : (R,IndexedExponents(VarSet)) -> % +--R multivariate : (SparseUnivariatePolynomial(%),VarSet) -> % +--R multivariate : (SparseUnivariatePolynomial(R),VarSet) -> % --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 R has PATMAB INT and VarSet has PATMAB INT ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB FLOAT and VarSet has PATMAB FLOAT ---R pomopo! : (%,R,IndexedExponents VarSet,%) -> % +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if R has PATMAB(INT) and VarSet has PATMAB(INT) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB(FLOAT) and VarSet has PATMAB(FLOAT) +--R pomopo! : (%,R,IndexedExponents(VarSet),%) -> % --R primPartElseUnitCanonical : % -> % if R has INTDOM --R primPartElseUnitCanonical! : % -> % if R has INTDOM --R prime? : % -> Boolean if R has PFECAT +--R primitiveMonomials : % -> List(%) --R primitivePart : (%,VarSet) -> % 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 : (%,%,VarSet) -> % if R has COMRING --R retract : % -> SparseMultivariatePolynomial(R,VarSet) ---R retract : Polynomial R -> % if VarSet has KONVERT SYMBOL and not has(R,Algebra Fraction Integer) and not has(R,Algebra Integer) or R has ALGEBRA INT and VarSet has KONVERT SYMBOL and not has(R,Algebra Fraction Integer) and not has(R,IntegerNumberSystem) or R has ALGEBRA FRAC INT and VarSet has KONVERT SYMBOL and not has(R,QuotientFieldCategory Integer) ---R retract : Polynomial Integer -> % if R has ALGEBRA INT and VarSet has KONVERT SYMBOL and not has(R,Algebra Fraction Integer) or R has ALGEBRA FRAC INT and VarSet has KONVERT SYMBOL ---R retract : Polynomial Fraction Integer -> % if R has ALGEBRA FRAC INT and VarSet has KONVERT SYMBOL ---R retract : % -> Integer if R has RETRACT INT ---R retract : % -> Fraction Integer if R has RETRACT FRAC INT +--R retract : Polynomial(R) -> % if VarSet has KONVERT(SYMBOL) and not(has(R,Algebra(Fraction(Integer)))) and not(has(R,Algebra(Integer))) or R has ALGEBRA(INT) and VarSet has KONVERT(SYMBOL) and not(has(R,Algebra(Fraction(Integer)))) and not(has(R,IntegerNumberSystem)) or R has ALGEBRA(FRAC(INT)) and VarSet has KONVERT(SYMBOL) and not(has(R,QuotientFieldCategory(Integer))) +--R retract : Polynomial(Integer) -> % if R has ALGEBRA(INT) and VarSet has KONVERT(SYMBOL) and not(has(R,Algebra(Fraction(Integer)))) or R has ALGEBRA(FRAC(INT)) and VarSet has KONVERT(SYMBOL) +--R retract : Polynomial(Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT)) and VarSet has KONVERT(SYMBOL) +--R retract : % -> Integer if R has RETRACT(INT) +--R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT)) --R retractIfCan : % -> Union(SparseMultivariatePolynomial(R,VarSet),"failed") ---R retractIfCan : Polynomial R -> Union(%,"failed") if VarSet has KONVERT SYMBOL and not has(R,Algebra Fraction Integer) and not has(R,Algebra Integer) or R has ALGEBRA INT and VarSet has KONVERT SYMBOL and not has(R,Algebra Fraction Integer) and not has(R,IntegerNumberSystem) or R has ALGEBRA FRAC INT and VarSet has KONVERT SYMBOL and not has(R,QuotientFieldCategory Integer) ---R retractIfCan : Polynomial Integer -> Union(%,"failed") if R has ALGEBRA INT and VarSet has KONVERT SYMBOL and not has(R,Algebra Fraction Integer) or R has ALGEBRA FRAC INT and VarSet has KONVERT SYMBOL ---R retractIfCan : Polynomial Fraction Integer -> Union(%,"failed") if R has ALGEBRA FRAC INT and VarSet has KONVERT SYMBOL +--R retractIfCan : Polynomial(R) -> Union(%,"failed") if VarSet has KONVERT(SYMBOL) and not(has(R,Algebra(Fraction(Integer)))) and not(has(R,Algebra(Integer))) or R has ALGEBRA(INT) and VarSet has KONVERT(SYMBOL) and not(has(R,Algebra(Fraction(Integer)))) and not(has(R,IntegerNumberSystem)) or R has ALGEBRA(FRAC(INT)) and VarSet has KONVERT(SYMBOL) and not(has(R,QuotientFieldCategory(Integer))) +--R retractIfCan : Polynomial(Integer) -> Union(%,"failed") if R has ALGEBRA(INT) and VarSet has KONVERT(SYMBOL) and not(has(R,Algebra(Fraction(Integer)))) or R has ALGEBRA(FRAC(INT)) and VarSet has KONVERT(SYMBOL) +--R retractIfCan : Polynomial(Fraction(Integer)) -> Union(%,"failed") if R has ALGEBRA(FRAC(INT)) and VarSet has KONVERT(SYMBOL) --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 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 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 @@ -83351,7 +83546,8 @@ constructur {\bf SparseUnivariatePolynomial}. --S 1 of 1 )show NewSparseUnivariatePolynomial ---R NewSparseUnivariatePolynomial R: Ring is a domain constructor +--R +--R NewSparseUnivariatePolynomial(R: Ring) is a domain constructor --R Abbreviation for NewSparseUnivariatePolynomial is NSUP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for NSUP @@ -83365,25 +83561,23 @@ constructur {\bf SparseUnivariatePolynomial}. --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 lazyPseudoQuotient : (%,%) -> % --R leadingCoefficient : % -> R leadingMonomial : % -> % --R map : ((R -> R),%) -> % monicModulo : (%,%) -> % ---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 @@ -83392,157 +83586,160 @@ constructur {\bf SparseUnivariatePolynomial}. --R ?>? : (%,%) -> Boolean if R has ORDSET --R ?>=? : (%,%) -> Boolean if R has ORDSET --R D : (%,(R -> R),NonNegativeInteger) -> % ---R D : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL ---R D : (%,List Symbol) -> % if R has PDRING SYMBOL ---R D : (%,Symbol) -> % if R has PDRING SYMBOL ---R D : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R D : (%,Symbol) -> % if R has PDRING(SYMBOL) +--R D : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> % --R D : (%,SingletonAsOrderedSet,NonNegativeInteger) -> % ---R D : (%,List SingletonAsOrderedSet) -> % +--R D : (%,List(SingletonAsOrderedSet)) -> % --R D : (%,SingletonAsOrderedSet) -> % --R ?^? : (%,NonNegativeInteger) -> % --R associates? : (%,%) -> Boolean if R has INTDOM --R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and R has PFECAT or R has CHARNZ ---R coefficient : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--R coefficient : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> % --R coefficient : (%,SingletonAsOrderedSet,NonNegativeInteger) -> % --R coefficient : (%,NonNegativeInteger) -> R --R coerce : % -> % if R has INTDOM ---R coerce : Fraction Integer -> % if R has ALGEBRA FRAC INT or R has RETRACT FRAC INT ---R coerce : SparseUnivariatePolynomial R -> % ---R coerce : % -> SparseUnivariatePolynomial R +--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT)) +--R coerce : SparseUnivariatePolynomial(R) -> % +--R coerce : % -> SparseUnivariatePolynomial(R) --R coerce : SingletonAsOrderedSet -> % ---R composite : (Fraction %,%) -> Union(Fraction %,"failed") if R has INTDOM +--R composite : (Fraction(%),%) -> Union(Fraction(%),"failed") if R has INTDOM --R composite : (%,%) -> Union(%,"failed") if R has INTDOM ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and R has PFECAT +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and R has PFECAT --R content : (%,SingletonAsOrderedSet) -> % if R has GCDDOM --R content : % -> R if R has GCDDOM ---R convert : % -> InputForm if SingletonAsOrderedSet has KONVERT INFORM and R has KONVERT INFORM ---R convert : % -> Pattern Integer if SingletonAsOrderedSet has KONVERT PATTERN INT and R has KONVERT PATTERN INT ---R convert : % -> Pattern Float if SingletonAsOrderedSet has KONVERT PATTERN FLOAT and R has KONVERT PATTERN FLOAT ---R degree : (%,List SingletonAsOrderedSet) -> List NonNegativeInteger +--R convert : % -> InputForm if SingletonAsOrderedSet has KONVERT(INFORM) and R has KONVERT(INFORM) +--R convert : % -> Pattern(Integer) if SingletonAsOrderedSet has KONVERT(PATTERN(INT)) and R has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if SingletonAsOrderedSet has KONVERT(PATTERN(FLOAT)) and R has KONVERT(PATTERN(FLOAT)) +--R degree : (%,List(SingletonAsOrderedSet)) -> List(NonNegativeInteger) --R degree : (%,SingletonAsOrderedSet) -> NonNegativeInteger --R differentiate : (%,(R -> R),%) -> % --R differentiate : (%,(R -> R)) -> % --R differentiate : (%,(R -> R),NonNegativeInteger) -> % ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if R has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if R has PDRING SYMBOL ---R differentiate : (%,Symbol) -> % if R has PDRING SYMBOL +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,Symbol) -> % if R has PDRING(SYMBOL) --R differentiate : (%,NonNegativeInteger) -> % ---R differentiate : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--R differentiate : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> % --R differentiate : (%,SingletonAsOrderedSet,NonNegativeInteger) -> % ---R differentiate : (%,List SingletonAsOrderedSet) -> % +--R differentiate : (%,List(SingletonAsOrderedSet)) -> % --R differentiate : (%,SingletonAsOrderedSet) -> % --R discriminant : % -> R if R has COMRING --R discriminant : (%,SingletonAsOrderedSet) -> % if R has COMRING --R divide : (%,%) -> Record(quotient: %,remainder: %) if R has FIELD --R divideExponents : (%,NonNegativeInteger) -> Union(%,"failed") ---R ?.? : (%,Fraction %) -> Fraction % if R has INTDOM ---R elt : (Fraction %,R) -> R if R has FIELD ---R elt : (Fraction %,Fraction %) -> Fraction % if R has INTDOM +--R ?.? : (%,Fraction(%)) -> Fraction(%) if R has INTDOM +--R elt : (Fraction(%),R) -> R if R has FIELD +--R elt : (Fraction(%),Fraction(%)) -> Fraction(%) if R has INTDOM --R euclideanSize : % -> NonNegativeInteger if R has FIELD ---R eval : (%,List SingletonAsOrderedSet,List %) -> % +--R eval : (%,List(SingletonAsOrderedSet),List(%)) -> % --R eval : (%,SingletonAsOrderedSet,%) -> % ---R eval : (%,List SingletonAsOrderedSet,List R) -> % +--R eval : (%,List(SingletonAsOrderedSet),List(R)) -> % --R eval : (%,SingletonAsOrderedSet,R) -> % ---R expressIdealMember : (List %,%) -> Union(List %,"failed") if R has FIELD +--R eval : (%,List(%),List(%)) -> % +--R eval : (%,List(Equation(%))) -> % +--R expressIdealMember : (List(%),%) -> Union(List(%),"failed") if R has FIELD --R exquo : (%,%) -> Union(%,"failed") if R has INTDOM --R exquo : (%,R) -> Union(%,"failed") if R has INTDOM --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) if R has FIELD --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") if R has FIELD --R extendedResultant : (%,%) -> Record(resultant: R,coef1: %,coef2: %) 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 fmecg : (%,NonNegativeInteger,R,%) -> % --R gcd : (%,%) -> % if R has GCDDOM ---R gcd : List % -> % if R has GCDDOM ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has GCDDOM +--R gcd : List(%) -> % if R has GCDDOM +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has GCDDOM --R halfExtendedResultant1 : (%,%) -> Record(resultant: R,coef1: %) if R has INTDOM --R halfExtendedResultant2 : (%,%) -> Record(resultant: R,coef2: %) if R has INTDOM --R halfExtendedSubResultantGcd1 : (%,%) -> Record(gcd: %,coef1: %) if R has INTDOM --R halfExtendedSubResultantGcd2 : (%,%) -> Record(gcd: %,coef2: %) if R has INTDOM ---R integrate : % -> % if R has ALGEBRA FRAC INT +--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 lastSubResultant : (%,%) -> % if R has INTDOM --R lazyPseudoDivide : (%,%) -> Record(coef: R,gap: NonNegativeInteger,quotient: %,remainder: %) --R lazyPseudoRemainder : (%,%) -> % --R lazyResidueClass : (%,%) -> Record(polnum: %,polden: R,power: NonNegativeInteger) --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 : % -> SparseUnivariatePolynomial R +--R retract : % -> SparseUnivariatePolynomial(R) --R retract : % -> SingletonAsOrderedSet ---R retract : % -> Integer if R has RETRACT INT ---R retract : % -> Fraction Integer if R has RETRACT FRAC INT ---R retractIfCan : % -> Union(SparseUnivariatePolynomial R,"failed") +--R retract : % -> Integer if R has RETRACT(INT) +--R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(SparseUnivariatePolynomial(R),"failed") --R retractIfCan : % -> Union(SingletonAsOrderedSet,"failed") ---R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT INT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if R has RETRACT FRAC INT +--R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT(INT) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has RETRACT(FRAC(INT)) --R retractIfCan : % -> Union(R,"failed") --R separate : (%,%) -> Record(primePart: %,commonPart: %) if R has GCDDOM --R shiftLeft : (%,NonNegativeInteger) -> % --R shiftRight : (%,NonNegativeInteger) -> % --R sizeLess? : (%,%) -> Boolean if R has FIELD ---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if R has PFECAT ---R squareFree : % -> Factored % if R has GCDDOM +--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if R has PFECAT +--R squareFree : % -> Factored(%) if R has GCDDOM --R squareFreePart : % -> % if R has GCDDOM ---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PFECAT +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT --R subResultantGcd : (%,%) -> % if R has INTDOM ---R subResultantsChain : (%,%) -> List % if R has INTDOM +--R subResultantsChain : (%,%) -> List(%) 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 @@ -83978,7 +84175,7 @@ NewSparseUnivariatePolynomial(R): Exports == Implementation where --R --R --R (1) [] ---R Type: List None +--R Type: List(None) --E 1 --S 2 of 3 @@ -83986,7 +84183,7 @@ NewSparseUnivariatePolynomial(R): Exports == Implementation where --R --R --R (2) [] ---R Type: List Float +--R Type: List(Float) --E 2 --S 3 of 3 @@ -83994,7 +84191,7 @@ NewSparseUnivariatePolynomial(R): Exports == Implementation where --R --R --R (3) [] ---R Type: List NonNegativeInteger +--R Type: List(NonNegativeInteger) --E 3 )spool )lisp (bye) @@ -84236,7 +84433,7 @@ x:=monomial(1,1)$UFPS PF 1783 --R --R --R (1) x ---R Type: UnivariateFormalPowerSeries PrimeField 1783 +--R Type: UnivariateFormalPowerSeries(PrimeField(1783)) --E 1 --S 2 of 8 @@ -84245,7 +84442,7 @@ s:=retract(sin x)$NOTTING PF 1783 --R --R 3 5 7 9 11 --R (2) x + 297x + 1679x + 427x + 316x + O(x ) ---R Type: NottinghamGroup PrimeField 1783 +--R Type: NottinghamGroup(PrimeField(1783)) --E 2 --S 3 of 8 @@ -84254,7 +84451,7 @@ s^2 --R --R 3 5 7 9 11 --R (3) x + 594x + 535x + 1166x + 1379x + O(x ) ---R Type: NottinghamGroup PrimeField 1783 +--R Type: NottinghamGroup(PrimeField(1783)) --E 3 --S 4 of 8 @@ -84263,7 +84460,7 @@ s^-1 --R --R 3 5 7 9 11 --R (4) x + 1486x + 847x + 207x + 1701x + O(x ) ---R Type: NottinghamGroup PrimeField 1783 +--R Type: NottinghamGroup(PrimeField(1783)) --E 4 --S 5 of 8 @@ -84272,7 +84469,7 @@ s^-1*s --R --R 11 --R (5) x + O(x ) ---R Type: NottinghamGroup PrimeField 1783 +--R Type: NottinghamGroup(PrimeField(1783)) --E 5 --S 6 of 8 @@ -84281,20 +84478,20 @@ s*s^-1 --R --R 11 --R (6) x + O(x ) ---R Type: NottinghamGroup PrimeField 1783 +--R Type: NottinghamGroup(PrimeField(1783)) --E 6 --S 7 of 8 sample()$NOTTING(PF(1783)) --R --R (7) x ---R Type: NottinghamGroup PrimeField 1783 +--R Type: NottinghamGroup(PrimeField(1783)) --E 7 --S 8 of 8 )show NottinghamGroup --R ---R NottinghamGroup F: FiniteFieldCategory is a domain constructor +--R NottinghamGroup(F: FiniteFieldCategory) is a domain constructor --R Abbreviation for NottinghamGroup is NOTTING --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for NOTTING @@ -84311,7 +84508,7 @@ sample()$NOTTING(PF(1783)) --R sample : () -> % ?~=? : (%,%) -> Boolean --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % ---R retract : UnivariateFormalPowerSeries F -> % +--R retract : UnivariateFormalPowerSeries(F) -> % --R --E 8 @@ -84431,6 +84628,7 @@ NottinghamGroup(F:FiniteFieldCategory): Group with --S 1 of 1 )show NumericalIntegrationProblem +--R --R NumericalIntegrationProblem is a domain constructor --R Abbreviation for NumericalIntegrationProblem is NIPROB --R This constructor is exposed in this frame. @@ -84440,10 +84638,10 @@ NottinghamGroup(F:FiniteFieldCategory): Group with --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R hash : % -> SingleInteger latex : % -> String --R ?~=? : (%,%) -> Boolean ---R coerce : Union(nia: Record(var: Symbol,fn: Expression DoubleFloat,range: Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat),mdnia: Record(fn: Expression DoubleFloat,range: List Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat)) -> % ---R coerce : Record(fn: Expression DoubleFloat,range: List Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat) -> % ---R coerce : Record(var: Symbol,fn: Expression DoubleFloat,range: Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat) -> % ---R retract : % -> Union(nia: Record(var: Symbol,fn: Expression DoubleFloat,range: Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat),mdnia: Record(fn: Expression DoubleFloat,range: List Segment OrderedCompletion DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat)) +--R coerce : Union(nia: Record(var: Symbol,fn: Expression(DoubleFloat),range: Segment(OrderedCompletion(DoubleFloat)),abserr: DoubleFloat,relerr: DoubleFloat),mdnia: Record(fn: Expression(DoubleFloat),range: List(Segment(OrderedCompletion(DoubleFloat))),abserr: DoubleFloat,relerr: DoubleFloat)) -> % +--R coerce : Record(fn: Expression(DoubleFloat),range: List(Segment(OrderedCompletion(DoubleFloat))),abserr: DoubleFloat,relerr: DoubleFloat) -> % +--R coerce : Record(var: Symbol,fn: Expression(DoubleFloat),range: Segment(OrderedCompletion(DoubleFloat)),abserr: DoubleFloat,relerr: DoubleFloat) -> % +--R retract : % -> Union(nia: Record(var: Symbol,fn: Expression(DoubleFloat),range: Segment(OrderedCompletion(DoubleFloat)),abserr: DoubleFloat,relerr: DoubleFloat),mdnia: Record(fn: Expression(DoubleFloat),range: List(Segment(OrderedCompletion(DoubleFloat))),abserr: DoubleFloat,relerr: DoubleFloat)) --R --E 1 @@ -84557,6 +84755,7 @@ NumericalIntegrationProblem(): EE == II where --S 1 of 1 )show NumericalODEProblem +--R --R NumericalODEProblem is a domain constructor --R Abbreviation for NumericalODEProblem is ODEPROB --R This constructor is exposed in this frame. @@ -84566,8 +84765,8 @@ NumericalIntegrationProblem(): EE == II where --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R hash : % -> SingleInteger latex : % -> String --R ?~=? : (%,%) -> Boolean ---R coerce : Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector Expression DoubleFloat,yinit: List DoubleFloat,intvals: List DoubleFloat,g: Expression DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat) -> % ---R retract : % -> Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector Expression DoubleFloat,yinit: List DoubleFloat,intvals: List DoubleFloat,g: Expression DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat) +--R coerce : Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector(Expression(DoubleFloat)),yinit: List(DoubleFloat),intvals: List(DoubleFloat),g: Expression(DoubleFloat),abserr: DoubleFloat,relerr: DoubleFloat) -> % +--R retract : % -> Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector(Expression(DoubleFloat)),yinit: List(DoubleFloat),intvals: List(DoubleFloat),g: Expression(DoubleFloat),abserr: DoubleFloat,relerr: DoubleFloat) --R --E 1 @@ -84665,6 +84864,7 @@ NumericalODEProblem(): EE == II where --S 1 of 1 )show NumericalOptimizationProblem +--R --R NumericalOptimizationProblem is a domain constructor --R Abbreviation for NumericalOptimizationProblem is OPTPROB --R This constructor is exposed in this frame. @@ -84674,10 +84874,10 @@ NumericalODEProblem(): EE == II where --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R hash : % -> SingleInteger latex : % -> String --R ?~=? : (%,%) -> Boolean ---R coerce : Union(noa: Record(fn: Expression DoubleFloat,init: List DoubleFloat,lb: List OrderedCompletion DoubleFloat,cf: List Expression DoubleFloat,ub: List OrderedCompletion DoubleFloat),lsa: Record(lfn: List Expression DoubleFloat,init: List DoubleFloat)) -> % ---R coerce : Record(lfn: List Expression DoubleFloat,init: List DoubleFloat) -> % ---R coerce : Record(fn: Expression DoubleFloat,init: List DoubleFloat,lb: List OrderedCompletion DoubleFloat,cf: List Expression DoubleFloat,ub: List OrderedCompletion DoubleFloat) -> % ---R retract : % -> Union(noa: Record(fn: Expression DoubleFloat,init: List DoubleFloat,lb: List OrderedCompletion DoubleFloat,cf: List Expression DoubleFloat,ub: List OrderedCompletion DoubleFloat),lsa: Record(lfn: List Expression DoubleFloat,init: List DoubleFloat)) +--R coerce : Union(noa: Record(fn: Expression(DoubleFloat),init: List(DoubleFloat),lb: List(OrderedCompletion(DoubleFloat)),cf: List(Expression(DoubleFloat)),ub: List(OrderedCompletion(DoubleFloat))),lsa: Record(lfn: List(Expression(DoubleFloat)),init: List(DoubleFloat))) -> % +--R coerce : Record(lfn: List(Expression(DoubleFloat)),init: List(DoubleFloat)) -> % +--R coerce : Record(fn: Expression(DoubleFloat),init: List(DoubleFloat),lb: List(OrderedCompletion(DoubleFloat)),cf: List(Expression(DoubleFloat)),ub: List(OrderedCompletion(DoubleFloat))) -> % +--R retract : % -> Union(noa: Record(fn: Expression(DoubleFloat),init: List(DoubleFloat),lb: List(OrderedCompletion(DoubleFloat)),cf: List(Expression(DoubleFloat)),ub: List(OrderedCompletion(DoubleFloat))),lsa: Record(lfn: List(Expression(DoubleFloat)),init: List(DoubleFloat))) --R --E 1 @@ -84792,6 +84992,7 @@ NumericalOptimizationProblem(): EE == II where --S 1 of 1 )show NumericalPDEProblem +--R --R NumericalPDEProblem is a domain constructor --R Abbreviation for NumericalPDEProblem is PDEPROB --R This constructor is exposed in this frame. @@ -84801,8 +85002,8 @@ NumericalOptimizationProblem(): EE == II where --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R hash : % -> SingleInteger latex : % -> String --R ?~=? : (%,%) -> Boolean ---R coerce : 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) -> % ---R retract : % -> 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) +--R coerce : 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) -> % +--R retract : % -> 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) --R --E 1 @@ -84957,7 +85158,7 @@ oci1 := octon(1,2,3,4,5,6,7,8) --R --R --R (1) 1 + 2i + 3j + 4k + 5E + 6I + 7J + 8K ---R Type: Octonion Integer +--R Type: Octonion(Integer) --E 1 --S 2 of 15 @@ -84965,7 +85166,7 @@ oci2 := octon(7,2,3,-4,5,6,-7,0) --R --R --R (2) 7 + 2i + 3j - 4k + 5E + 6I - 7J ---R Type: Octonion Integer +--R Type: Octonion(Integer) --E 2 --S 3 of 15 @@ -84973,7 +85174,7 @@ oci3 := octon(quatern(-7,-12,3,-10), quatern(5,6,9,0)) --R --R --R (3) - 7 - 12i + 3j - 10k + 5E + 6I + 9J ---R Type: Octonion Integer +--R Type: Octonion(Integer) --E 3 --S 4 of 15 @@ -84981,7 +85182,7 @@ oci3 := octon(quatern(-7,-12,3,-10), quatern(5,6,9,0)) --R --R --R (4) 2696i - 2928j - 4072k + 16E - 1192I + 832J + 2616K ---R Type: Octonion Integer +--R Type: Octonion(Integer) --E 4 --S 5 of 15 @@ -84990,7 +85191,7 @@ oci3 := octon(quatern(-7,-12,3,-10), quatern(5,6,9,0)) --R --R --R (5) [1,2,3,4,5,6,7,8] ---R Type: List PositiveInteger +--R Type: List(PositiveInteger) --E 5 --S 6 of 15 @@ -84998,7 +85199,7 @@ q : Quaternion Polynomial Integer := quatern(q1, qi, qj, qk) --R --R --R (6) q1 + qi i + qj j + qk k ---R Type: Quaternion Polynomial Integer +--R Type: Quaternion(Polynomial(Integer)) --E 6 --S 7 of 15 @@ -85006,7 +85207,7 @@ E : Octonion Polynomial Integer:= octon(0,0,0,0,1,0,0,0) --R --R --R (7) E ---R Type: Octonion Polynomial Integer +--R Type: Octonion(Polynomial(Integer)) --E 7 --S 8 of 15 @@ -85014,7 +85215,7 @@ q * E --R --R --R (8) q1 E + qi I + qj J + qk K ---R Type: Octonion Polynomial Integer +--R Type: Octonion(Polynomial(Integer)) --E 8 --S 9 of 15 @@ -85022,7 +85223,7 @@ E * q --R --R --R (9) q1 E - qi I - qj J - qk K ---R Type: Octonion Polynomial Integer +--R Type: Octonion(Polynomial(Integer)) --E 9 --S 10 of 15 @@ -85030,7 +85231,7 @@ q * 1$(Octonion Polynomial Integer) --R --R --R (10) q1 + qi i + qj j + qk k ---R Type: Octonion Polynomial Integer +--R Type: Octonion(Polynomial(Integer)) --E 10 --S 11 of 15 @@ -85038,7 +85239,7 @@ q * 1$(Octonion Polynomial Integer) --R --R --R (11) q1 + qi i + qj j + qk k ---R Type: Octonion Polynomial Integer +--R Type: Octonion(Polynomial(Integer)) --E 11 --S 12 of 15 @@ -85046,7 +85247,7 @@ o : Octonion Polynomial Integer := octon(o1, oi, oj, ok, oE, oI, oJ, oK) --R --R --R (12) o1 + oi i + oj j + ok k + oE E + oI I + oJ J + oK K ---R Type: Octonion Polynomial Integer +--R Type: Octonion(Polynomial(Integer)) --E 12 --S 13 of 15 @@ -85055,7 +85256,7 @@ norm o --R --R 2 2 2 2 2 2 2 2 --R (13) ok + oj + oi + oK + oJ + oI + oE + o1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 13 --S 14 of 15 @@ -85063,7 +85264,7 @@ p : Octonion Polynomial Integer := octon(p1, pi, pj, pk, pE, pI, pJ, pK) --R --R --R (14) p1 + pi i + pj j + pk k + pE E + pI I + pJ J + pK K ---R Type: Octonion Polynomial Integer +--R Type: Octonion(Polynomial(Integer)) --E 14 --S 15 of 15 @@ -85071,7 +85272,7 @@ norm(o*p)-norm(p)*norm(o) --R --R --R (15) 0 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 15 )spool )lisp (bye) @@ -85327,6 +85528,7 @@ Octonion(R:CommutativeRing): export == impl where --S 1 of 1 )show ODEIntensityFunctionsTable +--R --R ODEIntensityFunctionsTable is a domain constructor --R Abbreviation for ODEIntensityFunctionsTable is ODEIFTBL --R This constructor is exposed in this frame. @@ -85334,10 +85536,10 @@ Octonion(R:CommutativeRing): export == impl where --R --R------------------------------- Operations -------------------------------- --R clearTheIFTable : () -> Void showTheIFTable : () -> % ---R iFTable : List Record(key: Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector Expression DoubleFloat,yinit: List DoubleFloat,intvals: List DoubleFloat,g: Expression DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat),entry: Record(stiffness: Float,stability: Float,expense: Float,accuracy: Float,intermediateResults: Float)) -> % ---R insert! : Record(key: Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector Expression DoubleFloat,yinit: List DoubleFloat,intvals: List DoubleFloat,g: Expression DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat),entry: Record(stiffness: Float,stability: Float,expense: Float,accuracy: Float,intermediateResults: Float)) -> % ---R keys : % -> List Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector Expression DoubleFloat,yinit: List DoubleFloat,intvals: List DoubleFloat,g: Expression DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat) ---R showIntensityFunctions : Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector Expression DoubleFloat,yinit: List DoubleFloat,intvals: List DoubleFloat,g: Expression DoubleFloat,abserr: DoubleFloat,relerr: DoubleFloat) -> Union(Record(stiffness: Float,stability: Float,expense: Float,accuracy: Float,intermediateResults: Float),"failed") +--R iFTable : List(Record(key: Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector(Expression(DoubleFloat)),yinit: List(DoubleFloat),intvals: List(DoubleFloat),g: Expression(DoubleFloat),abserr: DoubleFloat,relerr: DoubleFloat),entry: Record(stiffness: Float,stability: Float,expense: Float,accuracy: Float,intermediateResults: Float))) -> % +--R insert! : Record(key: Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector(Expression(DoubleFloat)),yinit: List(DoubleFloat),intvals: List(DoubleFloat),g: Expression(DoubleFloat),abserr: DoubleFloat,relerr: DoubleFloat),entry: Record(stiffness: Float,stability: Float,expense: Float,accuracy: Float,intermediateResults: Float)) -> % +--R keys : % -> List(Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector(Expression(DoubleFloat)),yinit: List(DoubleFloat),intvals: List(DoubleFloat),g: Expression(DoubleFloat),abserr: DoubleFloat,relerr: DoubleFloat)) +--R showIntensityFunctions : Record(xinit: DoubleFloat,xend: DoubleFloat,fn: Vector(Expression(DoubleFloat)),yinit: List(DoubleFloat),intvals: List(DoubleFloat),g: Expression(DoubleFloat),abserr: DoubleFloat,relerr: DoubleFloat) -> Union(Record(stiffness: Float,stability: Float,expense: Float,accuracy: Float,intermediateResults: Float),"failed") --R --E 1 @@ -85466,7 +85668,7 @@ oneDimensionalArray [i**2 for i in 1..10] --R --R --R (1) [1,4,9,16,25,36,49,64,81,100] ---R Type: OneDimensionalArray PositiveInteger +--R Type: OneDimensionalArray(PositiveInteger) --E 1 --S 2 of 9 @@ -85474,7 +85676,7 @@ a : ARRAY1 INT := new(10,0) --R --R --R (2) [0,0,0,0,0,0,0,0,0,0] ---R Type: OneDimensionalArray Integer +--R Type: OneDimensionalArray(Integer) --E 2 --S 3 of 9 @@ -85482,7 +85684,7 @@ for i in 1..10 repeat a.i := i; a --R --R --R (3) [1,2,3,4,5,6,7,8,9,10] ---R Type: OneDimensionalArray Integer +--R Type: OneDimensionalArray(Integer) --E 3 --S 4 of 9 @@ -85490,7 +85692,7 @@ map!(i +-> i ** 2,a); a --R --R --R (4) [1,4,9,16,25,36,49,64,81,100] ---R Type: OneDimensionalArray Integer +--R Type: OneDimensionalArray(Integer) --E 4 --S 5 of 9 @@ -85498,7 +85700,7 @@ reverse! a --R --R --R (5) [100,81,64,49,36,25,16,9,4,1] ---R Type: OneDimensionalArray Integer +--R Type: OneDimensionalArray(Integer) --E 5 --S 6 of 9 @@ -85506,7 +85708,7 @@ swap!(a,4,5); a --R --R --R (6) [100,81,64,36,49,25,16,9,4,1] ---R Type: OneDimensionalArray Integer +--R Type: OneDimensionalArray(Integer) --E 6 --S 7 of 9 @@ -85514,7 +85716,7 @@ sort! a --R --R --R (7) [1,4,9,16,25,36,49,64,81,100] ---R Type: OneDimensionalArray Integer +--R Type: OneDimensionalArray(Integer) --E 7 --S 8 of 9 @@ -85522,7 +85724,7 @@ b := a(6..10) --R --R --R (8) [36,49,64,81,100] ---R Type: OneDimensionalArray Integer +--R Type: OneDimensionalArray(Integer) --E 8 --S 9 of 9 @@ -85530,7 +85732,7 @@ copyInto!(a,b,1) --R --R --R (9) [36,49,64,81,100,36,49,64,81,100] ---R Type: OneDimensionalArray Integer +--R Type: OneDimensionalArray(Integer) --E 9 )spool )lisp (bye) @@ -85734,7 +85936,8 @@ OneDimensionalArray(S:Type): Exports == Implementation where --S 1 of 1 )show OnePointCompletion ---R OnePointCompletion R: SetCategory is a domain constructor +--R +--R OnePointCompletion(R: SetCategory) is a domain constructor --R Abbreviation for OnePointCompletion is ONECOMP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ONECOMP @@ -85763,22 +85966,22 @@ OneDimensionalArray(S:Type): Exports == Implementation where --R ?^? : (%,PositiveInteger) -> % if R has ORDRING --R abs : % -> % if R has ORDRING --R characteristic : () -> NonNegativeInteger if R has ORDRING ---R coerce : Integer -> % if R has ORDRING or R has RETRACT INT ---R coerce : Fraction Integer -> % if R has RETRACT FRAC INT +--R coerce : Integer -> % if R has ORDRING or R has RETRACT(INT) +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) --R max : (%,%) -> % if R has ORDRING --R min : (%,%) -> % if R has ORDRING --R negative? : % -> Boolean if R has ORDRING --R one? : % -> Boolean if R has ORDRING --R positive? : % -> Boolean if R has ORDRING ---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 rationalIfCan : % -> Union(Fraction(Integer),"failed") if R has INS --R recip : % -> Union(%,"failed") if R has ORDRING ---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 sample : () -> % if R has ABELGRP --R sign : % -> Integer if R has ORDRING --R subtractIfCan : (%,%) -> Union(%,"failed") if R has ABELGRP @@ -86467,6 +86670,7 @@ OpenMathEncoding(): SetCategory with --S 1 of 1 )show OpenMathError +--R --R OpenMathError is a domain constructor --R Abbreviation for OpenMathError is OMERR --R This constructor is exposed in this frame. @@ -86474,10 +86678,10 @@ OpenMathEncoding(): SetCategory with --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm ---R errorInfo : % -> List Symbol hash : % -> SingleInteger +--R errorInfo : % -> List(Symbol) hash : % -> SingleInteger --R latex : % -> String ?~=? : (%,%) -> Boolean --R errorKind : % -> OpenMathErrorKind ---R omError : (OpenMathErrorKind,List Symbol) -> % +--R omError : (OpenMathErrorKind,List(Symbol)) -> % --R --E 1 @@ -86702,7 +86906,7 @@ t := operator("tilde") :: OP(R) --R --R --R (2) tilde ---R Type: Operator SquareMatrix(2,Integer) +--R Type: Operator(SquareMatrix(2,Integer)) --E 2 --S 3 of 21 @@ -86716,7 +86920,7 @@ evaluate(t, m +-> transpose m) --R --R --R (3) tilde ---R Type: Operator SquareMatrix(2,Integer) +--R Type: Operator(SquareMatrix(2,Integer)) --E 4 --S 5 of 21 @@ -86736,7 +86940,7 @@ rho := t * s --R +0 1+ --R (5) tilde| | --R +1 0+ ---R Type: Operator SquareMatrix(2,Integer) +--R Type: Operator(SquareMatrix(2,Integer)) --E 6 --S 7 of 21 @@ -86746,7 +86950,7 @@ z := rho**4 - 1 --R +0 1+ +0 1+ +0 1+ +0 1+ --R (6) - 1 + tilde| |tilde| |tilde| |tilde| | --R +1 0+ +1 0+ +1 0+ +1 0+ ---R Type: Operator SquareMatrix(2,Integer) +--R Type: Operator(SquareMatrix(2,Integer)) --E 7 --S 8 of 21 @@ -86806,7 +87010,7 @@ b := t * s - s * t --R +0 1+ +0 1+ --R (12) - | |tilde + tilde| | --R +1 0+ +1 0+ ---R Type: Operator SquareMatrix(2,Integer) +--R Type: Operator(SquareMatrix(2,Integer)) --E 13 --S 14 of 21 @@ -86833,7 +87037,7 @@ dx := operator("D") :: OP(POLY FRAC INT) --R --R --R (15) D ---R Type: Operator Polynomial Fraction Integer +--R Type: Operator(Polynomial(Fraction(Integer))) --E 16 --S 17 of 21 @@ -86841,7 +87045,7 @@ evaluate(dx, p +-> D(p, 'x)) --R --R --R (16) D ---R Type: Operator Polynomial Fraction Integer +--R Type: Operator(Polynomial(Fraction(Integer))) --E 17 --S 18 of 21 @@ -86853,8 +87057,8 @@ E n == (1 - x**2) * dx**2 - 2 * x * dx + n*(n+1) --S 19 of 21 L 15 --R ---R Compiling function L with type Integer -> Polynomial Fraction ---R Integer +--R Compiling function L with type Integer -> Polynomial(Fraction( +--R Integer)) --R Compiling function L as a recurrence relation. --R --R (18) @@ -86865,18 +87069,18 @@ L 15 --R 2909907 5 255255 3 6435 --R - ------- x + ------ x - ---- x --R 2048 2048 2048 ---R Type: Polynomial Fraction Integer +--R Type: Polynomial(Fraction(Integer)) --E 19 --S 20 of 21 E 15 --R ---R Compiling function E with type PositiveInteger -> Operator ---R Polynomial Fraction Integer +--R Compiling function E with type PositiveInteger -> Operator( +--R Polynomial(Fraction(Integer))) --R --R 2 2 --R (19) 240 - 2x D - (x - 1)D ---R Type: Operator Polynomial Fraction Integer +--R Type: Operator(Polynomial(Fraction(Integer))) --E 20 --S 21 of 21 @@ -86884,7 +87088,7 @@ E 15 --R --R --R (20) 0 ---R Type: Polynomial Fraction Integer +--R Type: Polynomial(Fraction(Integer)) --E 21 )spool )lisp (bye) @@ -87136,7 +87340,8 @@ Operator(R: Ring) == ModuleOperator(R,R) --S 1 of 1 )show OppositeMonogenicLinearOperator ---R OppositeMonogenicLinearOperator(P: MonogenicLinearOperator R,R: Ring) is a domain constructor +--R +--R OppositeMonogenicLinearOperator(P: MonogenicLinearOperator(R),R: Ring) is a domain constructor --R Abbreviation for OppositeMonogenicLinearOperator is OMLO --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for OMLO @@ -87280,7 +87485,8 @@ OppositeMonogenicLinearOperator(P, R): OPRcat == OPRdef where --S 1 of 1 )show OrderedCompletion ---R OrderedCompletion R: SetCategory is a domain constructor +--R +--R OrderedCompletion(R: SetCategory) is a domain constructor --R Abbreviation for OrderedCompletion is ORDCOMP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ORDCOMP @@ -87310,22 +87516,22 @@ OppositeMonogenicLinearOperator(P, R): OPRcat == OPRdef where --R ?^? : (%,PositiveInteger) -> % if R has ORDRING --R abs : % -> % if R has ORDRING --R characteristic : () -> NonNegativeInteger if R has ORDRING ---R coerce : Integer -> % if R has ORDRING or R has RETRACT INT ---R coerce : Fraction Integer -> % if R has RETRACT FRAC INT +--R coerce : Integer -> % if R has ORDRING or R has RETRACT(INT) +--R coerce : Fraction(Integer) -> % if R has RETRACT(FRAC(INT)) --R max : (%,%) -> % if R has ORDRING --R min : (%,%) -> % if R has ORDRING --R negative? : % -> Boolean if R has ORDRING --R one? : % -> Boolean if R has ORDRING --R positive? : % -> Boolean if R has ORDRING ---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 rationalIfCan : % -> Union(Fraction(Integer),"failed") if R has INS --R recip : % -> Union(%,"failed") if R has ORDRING ---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 sample : () -> % if R has ABELGRP --R sign : % -> Integer if R has ORDRING --R subtractIfCan : (%,%) -> Union(%,"failed") if R has ABELGRP @@ -87544,19 +87750,20 @@ OrderedCompletion(R:SetCategory): Exports == Implementation where --S 1 of 1 )show OrderedDirectProduct ---R OrderedDirectProduct(dim: NonNegativeInteger,S: OrderedAbelianMonoidSup,f: ((Vector S,Vector S) -> Boolean)) is a domain constructor +--R +--R OrderedDirectProduct(dim: NonNegativeInteger,S: OrderedAbelianMonoidSup,f: ((Vector(S),Vector(S)) -> Boolean)) is a domain constructor --R Abbreviation for OrderedDirectProduct is ODP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ODP --R --R------------------------------- Operations -------------------------------- --R -? : % -> % if S has RING 1 : () -> % if S has MONOID ---R 0 : () -> % if S has CABMON coerce : % -> Vector S ---R copy : % -> % directProduct : Vector S -> % +--R 0 : () -> % if S has CABMON coerce : % -> Vector(S) +--R copy : % -> % directProduct : Vector(S) -> % --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 map : ((S -> S),%) -> % qelt : (%,Integer) -> S --R sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate @@ -87578,10 +87785,10 @@ OrderedCompletion(R:SetCategory): Exports == Implementation where --R ?>=? : (%,%) -> Boolean if S has OAMONS or S has ORDRING --R D : (%,(S -> S)) -> % if S has RING --R D : (%,(S -> S),NonNegativeInteger) -> % if S has RING ---R D : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,List Symbol) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,Symbol) -> % if S has PDRING SYMBOL and S has RING +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,Symbol) -> % if S has PDRING(SYMBOL) and S has RING --R D : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING --R D : % -> % if S has DIFRING and S has RING --R ?^? : (%,PositiveInteger) -> % if S has MONOID @@ -87590,26 +87797,26 @@ OrderedCompletion(R:SetCategory): Exports == Implementation where --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R characteristic : () -> NonNegativeInteger if S has RING --R coerce : S -> % if S has SETCAT ---R coerce : Fraction Integer -> % if S has RETRACT FRAC INT and S has SETCAT ---R coerce : Integer -> % if S has RETRACT INT and S has SETCAT or S has RING +--R coerce : Fraction(Integer) -> % if S has RETRACT(FRAC(INT)) and S has SETCAT +--R coerce : Integer -> % if S has RETRACT(INT) and S has SETCAT or S has RING --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R differentiate : (%,(S -> S)) -> % if S has RING --R differentiate : (%,(S -> S),NonNegativeInteger) -> % if S has RING ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,List Symbol) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,Symbol) -> % if S has PDRING SYMBOL and S has RING +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,Symbol) -> % if S has PDRING(SYMBOL) and S has RING --R differentiate : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING --R differentiate : % -> % if S has DIFRING and S has RING --R dimension : () -> CardinalNumber if S has FIELD --R dot : (%,%) -> S if S has RING --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 first : % -> S if Integer has ORDSET @@ -87622,27 +87829,27 @@ OrderedCompletion(R:SetCategory): Exports == Implementation where --R max : (%,%) -> % if S has OAMONS or S has ORDRING --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R min : (%,%) -> % if S has OAMONS or S has ORDRING --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R negative? : % -> Boolean if S has ORDRING --R one? : % -> Boolean if S has MONOID ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R positive? : % -> Boolean if S has ORDRING --R qsetelt! : (%,Integer,S) -> S if $ has shallowlyMutable --R random : () -> % if S has FINITE --R recip : % -> Union(%,"failed") if S has MONOID ---R reducedSystem : Matrix % -> Matrix S if S has RING ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix S,vec: Vector S) if S has RING ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if S has LINEXP INT and S has RING ---R reducedSystem : Matrix % -> Matrix Integer if S has LINEXP INT and S has RING +--R reducedSystem : Matrix(%) -> Matrix(S) if S has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(S),vec: Vector(S)) if S has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if S has LINEXP(INT) and S has RING +--R reducedSystem : Matrix(%) -> Matrix(Integer) if S has LINEXP(INT) and S has RING --R retract : % -> S if S has SETCAT ---R retract : % -> Fraction Integer if S has RETRACT FRAC INT and S has SETCAT ---R retract : % -> Integer if S has RETRACT INT and S has SETCAT +--R retract : % -> Fraction(Integer) if S has RETRACT(FRAC(INT)) and S has SETCAT +--R retract : % -> Integer if S has RETRACT(INT) and S has SETCAT --R retractIfCan : % -> Union(S,"failed") if S has SETCAT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if S has RETRACT FRAC INT and S has SETCAT ---R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT INT and S has SETCAT +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if S has RETRACT(FRAC(INT)) and S has SETCAT +--R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT(INT) and S has SETCAT --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable --R sign : % -> Integer if S has ORDRING --R size : () -> NonNegativeInteger if S has FINITE @@ -87809,7 +88016,7 @@ m1:=(x*y*y*z)$OFMONOID(Symbol) --R --R 2 --R (1) x y z ---R Type: OrderedFreeMonoid Symbol +--R Type: OrderedFreeMonoid(Symbol) --E 1 --S 2 of 24 @@ -87817,7 +88024,7 @@ m2:=(x*y)$OFMONOID(Symbol) --R --R --R (2) x y ---R Type: OrderedFreeMonoid Symbol +--R Type: OrderedFreeMonoid(Symbol) --E 2 --S 3 of 24 @@ -87825,7 +88032,7 @@ lquo(m1,m2) --R --R --R (3) y z ---R Type: Union(OrderedFreeMonoid Symbol,...) +--R Type: Union(OrderedFreeMonoid(Symbol),...) --E 3 --S 4 of 24 @@ -87834,7 +88041,7 @@ m3:=(y*y)$OFMONOID(Symbol) --R --R 2 --R (4) y ---R Type: OrderedFreeMonoid Symbol +--R Type: OrderedFreeMonoid(Symbol) --E 4 --S 5 of 24 @@ -87842,7 +88049,7 @@ divide(m1,m2) --R --R --R (5) [lm= y z,rm= "failed"] ---RType: Union(Record(lm: Union(OrderedFreeMonoid Symbol,"failed"),rm: Union(OrderedFreeMonoid Symbol,"failed")),...) +--IType: Union(Record(lm: Union(OrderedFreeMonoid(Symbol),"failed"),... --E 5 --S 6 of 24 @@ -87850,7 +88057,7 @@ divide(m1,m3) --R --R --R (6) [lm= "failed",rm= "failed"] ---RType: Union(Record(lm: Union(OrderedFreeMonoid Symbol,"failed"),rm: Union(OrderedFreeMonoid Symbol,"failed")),...) +--IType: Union(Record(lm: Union(OrderedFreeMonoid(Symbol),"failed"),... --E 6 --S 7 of 24 @@ -87859,7 +88066,7 @@ m4:=(y^3)$OFMONOID(Symbol) --R --R 3 --R (7) y ---R Type: OrderedFreeMonoid Symbol +--R Type: OrderedFreeMonoid(Symbol) --E 7 --S 8 of 24 @@ -87867,7 +88074,7 @@ divide(m1,m4) --R --R --R (8) [lm= "failed",rm= "failed"] ---RType: Union(Record(lm: Union(OrderedFreeMonoid Symbol,"failed"),rm: Union(OrderedFreeMonoid Symbol,"failed")),...) +--IType: Union(Record(lm: Union(OrderedFreeMonoid(Symbol),"failed"),... --E 8 )set function compile on @@ -87946,10 +88153,10 @@ subs(w:M):H == monom(n2,1)$H * (a::K*x::V+b::K)$H * monom(n2,1)$H monom(n1,1)$H * (y::V*x::V*y::V)$H * monom(n1,1)$H --R ---R Function declaration subs : OrderedFreeMonoid OrderedVariableList [x ---R ,y] -> XDistributedPolynomial(OrderedVariableList [x,y], ---R SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList ---R [a,b])) has been added to workspace. +--R Function declaration subs : OrderedFreeMonoid(OrderedVariableList([x +--R ,y])) -> XDistributedPolynomial(OrderedVariableList([x,y]), +--R SparseMultivariatePolynomial(Fraction(Integer), +--R OrderedVariableList([a,b]))) has been added to workspace. --R Type: Void --E 14 @@ -87957,12 +88164,12 @@ subs(w:M):H == --S 15 of 24 newterm(x:Record(k:M,c:K)):H == x.c*subs(x,k) --R ---R Function declaration newterm : Record(k: OrderedFreeMonoid ---R OrderedVariableList [x,y],c: SparseMultivariatePolynomial( ---R Fraction Integer,OrderedVariableList [a,b])) -> ---R XDistributedPolynomial(OrderedVariableList [x,y], ---R SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList ---R [a,b])) has been added to workspace. +--R Function declaration newterm : Record(k: OrderedFreeMonoid( +--R OrderedVariableList([x,y])),c: SparseMultivariatePolynomial( +--R Fraction(Integer),OrderedVariableList([a,b]))) -> +--R XDistributedPolynomial(OrderedVariableList([x,y]), +--R SparseMultivariatePolynomial(Fraction(Integer), +--R OrderedVariableList([a,b]))) has been added to workspace. --R Type: Void --E 15 @@ -87972,10 +88179,11 @@ newterm(x:Record(k:M,c:K)):H == x.c*subs(x,k) newpoly(t:H):H == reduce(+,map(newterm,listOfTerms(t))) --R --R Function declaration newpoly : XDistributedPolynomial( ---R OrderedVariableList [x,y],SparseMultivariatePolynomial(Fraction ---R Integer,OrderedVariableList [a,b])) -> XDistributedPolynomial( ---R OrderedVariableList [x,y],SparseMultivariatePolynomial(Fraction ---R Integer,OrderedVariableList [a,b])) has been added to workspace. +--R OrderedVariableList([x,y]),SparseMultivariatePolynomial(Fraction( +--R Integer),OrderedVariableList([a,b]))) -> XDistributedPolynomial( +--R OrderedVariableList([x,y]),SparseMultivariatePolynomial(Fraction( +--R Integer),OrderedVariableList([a,b]))) has been added to +--R workspace. --R Type: Void --E 16 @@ -87993,10 +88201,10 @@ p1:(x::V+y::V)$H^2 newpoly(p1) --R --R Compiling function newpoly with type XDistributedPolynomial( ---R OrderedVariableList [x,y],SparseMultivariatePolynomial(Fraction ---R Integer,OrderedVariableList [a,b])) -> XDistributedPolynomial( ---R OrderedVariableList [x,y],SparseMultivariatePolynomial(Fraction ---R Integer,OrderedVariableList [a,b])) +--R OrderedVariableList([x,y]),SparseMultivariatePolynomial(Fraction( +--R Integer),OrderedVariableList([a,b]))) -> XDistributedPolynomial( +--R OrderedVariableList([x,y]),SparseMultivariatePolynomial(Fraction( +--R Integer),OrderedVariableList([a,b]))) --R There are no library operations named subs --R Use HyperDoc Browse or issue --R )what op subs @@ -88004,18 +88212,18 @@ newpoly(p1) --R name. --R Cannot find a definition or applicable library operation named subs --R with argument type(s) ---RRecord(k: OrderedFreeMonoid OrderedVariableList [x,y],c: SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList [a,b])) ---R Variable k +--RRecord(k: OrderedFreeMonoid(OrderedVariableList([x,y])),c: SparseMultivariatePolynomial(Fraction(Integer),OrderedVariableList([a,b]))) +--R Variable(k) --R --R Perhaps you should use "@" to indicate the required return type, --R or "$" to specify which version of the function you need. --R AXIOM will attempt to step through and interpret the code. ---R Compiling function newterm with type Record(k: OrderedFreeMonoid ---R OrderedVariableList [x,y],c: SparseMultivariatePolynomial( ---R Fraction Integer,OrderedVariableList [a,b])) -> ---R XDistributedPolynomial(OrderedVariableList [x,y], ---R SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList ---R [a,b])) +--R Compiling function newterm with type Record(k: OrderedFreeMonoid( +--R OrderedVariableList([x,y])),c: SparseMultivariatePolynomial( +--R Fraction(Integer),OrderedVariableList([a,b]))) -> +--R XDistributedPolynomial(OrderedVariableList([x,y]), +--R SparseMultivariatePolynomial(Fraction(Integer), +--R OrderedVariableList([a,b]))) --R There are no library operations named subs --R Use HyperDoc Browse or issue --R )what op subs @@ -88025,8 +88233,8 @@ newpoly(p1) --RDaly Bug --R Cannot find a definition or applicable library operation named subs --R with argument type(s) ---RRecord(k: OrderedFreeMonoid OrderedVariableList [x,y],c: SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList [a,b])) ---R Variable k +--RRecord(k: OrderedFreeMonoid(OrderedVariableList([x,y])),c: SparseMultivariatePolynomial(Fraction(Integer),OrderedVariableList([a,b]))) +--R Variable(k) --R --R Perhaps you should use "@" to indicate the required return type, --R or "$" to specify which version of the function you need. @@ -88038,7 +88246,7 @@ p2:=(x::V+y::V)$H^3 --R --R 3 2 2 2 2 3 --R (17) y + y x + y x y + y x + x y + x y x + x y + x ---RType: XDistributedPolynomial(OrderedVariableList [x,y],SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList [a,b])) +--IType: XDistributedPolynomial(OrderedVariableList([x,y]),... --E 19 --S 20 of 24 @@ -88051,8 +88259,8 @@ pNew:=newpoly(p2) --R name. --R Cannot find a definition or applicable library operation named subs --R with argument type(s) ---RRecord(k: OrderedFreeMonoid OrderedVariableList [x,y],c: SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList [a,b])) ---R Variable k +--RRecord(k: OrderedFreeMonoid(OrderedVariableList([x,y])),c: SparseMultivariatePolynomial(Fraction(Integer),OrderedVariableList([a,b]))) +--R Variable(k) --R --R Perhaps you should use "@" to indicate the required return type, --R or "$" to specify which version of the function you need. @@ -88072,8 +88280,8 @@ pNew:=newpoly(p2) --RDaly Bug --R Cannot find a definition or applicable library operation named subs --R with argument type(s) ---RRecord(k: OrderedFreeMonoid OrderedVariableList [x,y],c: SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList [a,b])) ---R Variable k +--RRecord(k: OrderedFreeMonoid(OrderedVariableList([x,y])),c: SparseMultivariatePolynomial(Fraction(Integer),OrderedVariableList([a,b]))) +--R Variable(k) --R --R Perhaps you should use "@" to indicate the required return type, --R or "$" to specify which version of the function you need. @@ -88092,18 +88300,18 @@ while pNew ~= p2 repeat --R name. --R Cannot find a definition or applicable library operation named subs --R with argument type(s) ---RRecord(k: OrderedFreeMonoid OrderedVariableList [x,y],c: SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList [a,b])) ---R Variable k +--RRecord(k: OrderedFreeMonoid(OrderedVariableList([x,y])),c: SparseMultivariatePolynomial(Fraction(Integer),OrderedVariableList([a,b]))) +--R Variable(k) --R --R Perhaps you should use "@" to indicate the required return type, --R or "$" to specify which version of the function you need. --R AXIOM will attempt to step through and interpret the code. ---R Compiling function newterm with type Record(k: OrderedFreeMonoid ---R OrderedVariableList [x,y],c: SparseMultivariatePolynomial( ---R Fraction Integer,OrderedVariableList [a,b])) -> ---R XDistributedPolynomial(OrderedVariableList [x,y], ---R SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList ---R [a,b])) +--R Compiling function newterm with type Record(k: OrderedFreeMonoid( +--R OrderedVariableList([x,y])),c: SparseMultivariatePolynomial( +--R Fraction(Integer),OrderedVariableList([a,b]))) -> +--R XDistributedPolynomial(OrderedVariableList([x,y]), +--R SparseMultivariatePolynomial(Fraction(Integer), +--R OrderedVariableList([a,b]))) --R There are no library operations named subs --R Use HyperDoc Browse or issue --R )what op subs @@ -88113,8 +88321,8 @@ while pNew ~= p2 repeat --RDaly Bug --R Cannot find a definition or applicable library operation named subs --R with argument type(s) ---RRecord(k: OrderedFreeMonoid OrderedVariableList [x,y],c: SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList [a,b])) ---R Variable k +--RRecord(k: OrderedFreeMonoid(OrderedVariableList([x,y])),c: SparseMultivariatePolynomial(Fraction(Integer),OrderedVariableList([a,b]))) +--R Variable(k) --R --R Perhaps you should use "@" to indicate the required return type, --R or "$" to specify which version of the function you need. @@ -88138,10 +88346,11 @@ reduce(p:H):H == p3 --R --R Function declaration reduce : XDistributedPolynomial( ---R OrderedVariableList [x,y],SparseMultivariatePolynomial(Fraction ---R Integer,OrderedVariableList [a,b])) -> XDistributedPolynomial( ---R OrderedVariableList [x,y],SparseMultivariatePolynomial(Fraction ---R Integer,OrderedVariableList [a,b])) has been added to workspace. +--R OrderedVariableList([x,y]),SparseMultivariatePolynomial(Fraction( +--R Integer),OrderedVariableList([a,b]))) -> XDistributedPolynomial( +--R OrderedVariableList([x,y]),SparseMultivariatePolynomial(Fraction( +--R Integer),OrderedVariableList([a,b]))) has been added to +--R workspace. --R Compiled code for newpoly has been cleared. --R Type: Void --E 23 @@ -88150,15 +88359,15 @@ reduce(p:H):H == reduce(p2) --R --R Compiling function newpoly with type XDistributedPolynomial( ---R OrderedVariableList [x,y],SparseMultivariatePolynomial(Fraction ---R Integer,OrderedVariableList [a,b])) -> XDistributedPolynomial( ---R OrderedVariableList [x,y],SparseMultivariatePolynomial(Fraction ---R Integer,OrderedVariableList [a,b])) +--R OrderedVariableList([x,y]),SparseMultivariatePolynomial(Fraction( +--R Integer),OrderedVariableList([a,b]))) -> XDistributedPolynomial( +--R OrderedVariableList([x,y]),SparseMultivariatePolynomial(Fraction( +--R Integer),OrderedVariableList([a,b]))) --R Compiling function reduce with type XDistributedPolynomial( ---R OrderedVariableList [x,y],SparseMultivariatePolynomial(Fraction ---R Integer,OrderedVariableList [a,b])) -> XDistributedPolynomial( ---R OrderedVariableList [x,y],SparseMultivariatePolynomial(Fraction ---R Integer,OrderedVariableList [a,b])) +--R OrderedVariableList([x,y]),SparseMultivariatePolynomial(Fraction( +--R Integer),OrderedVariableList([a,b]))) -> XDistributedPolynomial( +--R OrderedVariableList([x,y]),SparseMultivariatePolynomial(Fraction( +--R Integer),OrderedVariableList([a,b]))) --R There are no library operations named subs --R Use HyperDoc Browse or issue --R )what op subs @@ -88166,18 +88375,18 @@ reduce(p2) --R name. --R Cannot find a definition or applicable library operation named subs --R with argument type(s) ---RRecord(k: OrderedFreeMonoid OrderedVariableList [x,y],c: SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList [a,b])) ---R Variable k +--RRecord(k: OrderedFreeMonoid(OrderedVariableList([x,y])),c: SparseMultivariatePolynomial(Fraction(Integer),OrderedVariableList([a,b]))) +--R Variable(k) --R --R Perhaps you should use "@" to indicate the required return type, --R or "$" to specify which version of the function you need. --R AXIOM will attempt to step through and interpret the code. ---R Compiling function newterm with type Record(k: OrderedFreeMonoid ---R OrderedVariableList [x,y],c: SparseMultivariatePolynomial( ---R Fraction Integer,OrderedVariableList [a,b])) -> ---R XDistributedPolynomial(OrderedVariableList [x,y], ---R SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList ---R [a,b])) +--R Compiling function newterm with type Record(k: OrderedFreeMonoid( +--R OrderedVariableList([x,y])),c: SparseMultivariatePolynomial( +--R Fraction(Integer),OrderedVariableList([a,b]))) -> +--R XDistributedPolynomial(OrderedVariableList([x,y]), +--R SparseMultivariatePolynomial(Fraction(Integer), +--R OrderedVariableList([a,b]))) --R There are no library operations named subs --R Use HyperDoc Browse or issue --R )what op subs @@ -88187,8 +88396,8 @@ reduce(p2) --RDaly Bug --R Cannot find a definition or applicable library operation named subs --R with argument type(s) ---RRecord(k: OrderedFreeMonoid OrderedVariableList [x,y],c: SparseMultivariatePolynomial(Fraction Integer,OrderedVariableList [a,b])) ---R Variable k +--RRecord(k: OrderedFreeMonoid(OrderedVariableList([x,y])),c: SparseMultivariatePolynomial(Fraction(Integer),OrderedVariableList([a,b]))) +--R Variable(k) --R --R Perhaps you should use "@" to indicate the required return type, --R or "$" to specify which version of the function you need. @@ -88617,14 +88826,14 @@ ls:List Symbol:=['x,'a,'z] --R --R --R (1) [x,a,z] ---R Type: List Symbol +--R Type: List(Symbol) --E 1 --S 2 of 5 Z:=OVAR ls --R --R ---R (2) OrderedVariableList [x,a,z] +--R (2) OrderedVariableList([x,a,z]) --R Type: Domain --E 2 @@ -88643,7 +88852,7 @@ lv:=[index(i::PI)$Z for i in 1..size()$Z] --I Compiling function G1572 with type NonNegativeInteger -> Boolean --R --R (4) [x,a,z] ---R Type: List OrderedVariableList [x,a,z] +--R Type: List(OrderedVariableList([x,a,z])) --E 4 --S 5 of 5 @@ -88776,7 +88985,7 @@ OrderedVariableList(VariableList:List Symbol): dpol:= ODPOL(FRAC INT) --R --R ---R (1) OrderlyDifferentialPolynomial Fraction Integer +--R (1) OrderlyDifferentialPolynomial(Fraction(Integer)) --R Type: Domain --E 1 @@ -88785,7 +88994,7 @@ w := makeVariable('w)$dpol --R --R --R (2) theMap(DPOLCAT-;makeVariable;AM;17!0,0) ---R Type: (NonNegativeInteger -> OrderlyDifferentialPolynomial Fraction Integer) +--RType: (NonNegativeInteger -> OrderlyDifferentialPolynomial(Fraction(Integer))) --E 2 --S 3 of 36 @@ -88793,7 +89002,7 @@ z := makeVariable('z)$dpol --R --R --R (3) theMap(DPOLCAT-;makeVariable;AM;17!0,0) ---R Type: (NonNegativeInteger -> OrderlyDifferentialPolynomial Fraction Integer) +--RType: (NonNegativeInteger -> OrderlyDifferentialPolynomial(Fraction(Integer))) --E 3 --S 4 of 36 @@ -88802,7 +89011,7 @@ w.5 --R --R (4) w --R 5 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 4 --S 5 of 36 @@ -88810,7 +89019,7 @@ w 0 --R --R --R (5) w ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 5 --S 6 of 36 @@ -88819,7 +89028,7 @@ w 0 --R --R (6) [z ,z ,z ,z ,z ] --R 1 2 3 4 5 ---R Type: List OrderlyDifferentialPolynomial Fraction Integer +--R Type: List(OrderlyDifferentialPolynomial(Fraction(Integer))) --E 6 --S 7 of 36 @@ -88829,7 +89038,7 @@ f:= w.4 - w.1 * w.1 * z.3 --R 2 --R (7) w - w z --R 4 1 3 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 7 --S 8 of 36 @@ -88839,7 +89048,7 @@ g:=(z.1)**3 * (z.2)**2 - w.2 --R 3 2 --R (8) z z - w --R 1 2 2 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 8 --S 9 of 36 @@ -88849,7 +89058,7 @@ D(f) --R 2 --R (9) w - w z - 2w w z --R 5 1 4 1 2 3 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 9 --S 10 of 36 @@ -88864,7 +89073,7 @@ D(f,4) --R 2 --R (- 8w w - 24w w )z - 8w z w - 6w z --R 1 4 2 3 4 2 3 4 3 3 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 10 --S 11 of 36 @@ -88872,7 +89081,7 @@ df:=makeVariable(f)$dpol --R --R --R (11) theMap(DPOLCAT-;makeVariable;AM;17!0,0) ---R Type: (NonNegativeInteger -> OrderlyDifferentialPolynomial Fraction Integer) +--RType: (NonNegativeInteger -> OrderlyDifferentialPolynomial(Fraction(Integer))) --E 11 --S 12 of 36 @@ -88887,7 +89096,7 @@ df.4 --R 2 --R (- 8w w - 24w w )z - 8w z w - 6w z --R 1 4 2 3 4 2 3 4 3 3 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 12 --S 13 of 36 @@ -88911,7 +89120,7 @@ differentialVariables(g) --R --R --R (15) [z,w] ---R Type: List Symbol +--R Type: List(Symbol) --E 15 --S 16 of 36 @@ -88921,7 +89130,7 @@ degree(g) --R 2 3 --R (16) z z --R 2 1 ---R Type: IndexedExponents OrderlyDifferentialVariable Symbol +--R Type: IndexedExponents(OrderlyDifferentialVariable(Symbol)) --E 16 --S 17 of 36 @@ -88937,7 +89146,7 @@ weights(g) --R --R --R (18) [7,2] ---R Type: List NonNegativeInteger +--R Type: List(NonNegativeInteger) --E 18 --S 19 of 36 @@ -88945,7 +89154,7 @@ weights(g,'w) --R --R --R (19) [2] ---R Type: List NonNegativeInteger +--R Type: List(NonNegativeInteger) --E 19 --S 20 of 36 @@ -88971,7 +89180,7 @@ eval(g,['w::Symbol],[f]) --R 2 2 3 2 --R (22) - w + w z + 4w w z + (2w w + 2w )z + z z --R 6 1 5 1 2 4 1 3 2 3 1 2 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 22 --S 23 of 36 @@ -88981,7 +89190,7 @@ eval(g,variables(w.0),[f]) --R 3 2 --R (23) z z - w --R 1 2 2 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 23 --S 24 of 36 @@ -88991,7 +89200,7 @@ monomials(g) --R 3 2 --R (24) [z z ,- w ] --R 1 2 2 ---R Type: List OrderlyDifferentialPolynomial Fraction Integer +--R Type: List(OrderlyDifferentialPolynomial(Fraction(Integer))) --E 24 --S 25 of 36 @@ -89000,7 +89209,7 @@ variables(g) --R --R (25) [z ,w ,z ] --R 2 2 1 ---R Type: List OrderlyDifferentialVariable Symbol +--R Type: List(OrderlyDifferentialVariable(Symbol)) --E 25 --S 26 of 36 @@ -89008,7 +89217,7 @@ gcd(f,g) --R --R --R (26) 1 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 26 --S 27 of 36 @@ -89018,7 +89227,7 @@ groebner([f,g]) --R 2 3 2 --R (27) [w - w z ,z z - w ] --R 4 1 3 1 2 2 ---R Type: List OrderlyDifferentialPolynomial Fraction Integer +--R Type: List(OrderlyDifferentialPolynomial(Fraction(Integer))) --E 27 --S 28 of 36 @@ -89027,7 +89236,7 @@ lg:=leader(g) --R --R (28) z --R 2 ---R Type: OrderlyDifferentialVariable Symbol +--R Type: OrderlyDifferentialVariable(Symbol) --E 28 --S 29 of 36 @@ -89037,7 +89246,7 @@ sg:=separant(g) --R 3 --R (29) 2z z --R 1 2 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 29 --S 30 of 36 @@ -89047,7 +89256,7 @@ ig:=initial(g) --R 3 --R (30) z --R 1 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 30 --S 31 of 36 @@ -89057,7 +89266,7 @@ g1 := D g --R 3 2 3 --R (31) 2z z z - w + 3z z --R 1 2 3 3 1 2 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 31 --S 32 of 36 @@ -89066,7 +89275,7 @@ lg1:= leader g1 --R --R (32) z --R 3 ---R Type: OrderlyDifferentialVariable Symbol +--R Type: OrderlyDifferentialVariable(Symbol) --E 32 --S 33 of 36 @@ -89076,7 +89285,7 @@ pdf:=D(f, lg1) --R 2 --R (33) - w --R 1 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 33 --S 34 of 36 @@ -89086,7 +89295,7 @@ prf:=sg * f- pdf * g1 --R 3 2 2 2 3 --R (34) 2z z w - w w + 3w z z --R 1 2 4 1 3 1 1 2 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 34 --S 35 of 36 @@ -89096,7 +89305,7 @@ lcf:=leadingCoefficient univariate(prf, lg) --R 2 2 --R (35) 3w z --R 1 1 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 35 --S 36 of 36 @@ -89106,7 +89315,7 @@ ig * prf - lcf * g * lg --R 6 2 3 2 2 --R (36) 2z z w - w z w + 3w z w z --R 1 2 4 1 1 3 1 1 2 2 ---R Type: OrderlyDifferentialPolynomial Fraction Integer +--R Type: OrderlyDifferentialPolynomial(Fraction(Integer)) --E 36 )spool )lisp (bye) @@ -89575,7 +89784,8 @@ OrderlyDifferentialPolynomial(R): --S 1 of 1 )show OrderlyDifferentialVariable ---R OrderlyDifferentialVariable S: OrderedSet is a domain constructor +--R +--R OrderlyDifferentialVariable(S: OrderedSet) is a domain constructor --R Abbreviation for OrderlyDifferentialVariable is ODVAR --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ODVAR @@ -89693,7 +89903,8 @@ OrderlyDifferentialVariable(S:OrderedSet):DifferentialVariableCategory(S) --S 1 of 1 )show OrdinaryDifferentialRing ---R OrdinaryDifferentialRing(Kernels: SetCategory,R: PartialDifferentialRing Kernels,var: Kernels) is a domain constructor +--R +--R OrdinaryDifferentialRing(Kernels: SetCategory,R: PartialDifferentialRing(Kernels),var: Kernels) is a domain constructor --R Abbreviation for OrdinaryDifferentialRing is ODR --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ODR @@ -89713,8 +89924,8 @@ OrderlyDifferentialVariable(S:OrderedSet):DifferentialVariableCategory(S) --R one? : % -> Boolean recip : % -> Union(%,"failed") --R sample : () -> % zero? : % -> Boolean --R ?~=? : (%,%) -> 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) -> % @@ -89724,27 +89935,27 @@ OrderlyDifferentialVariable(S:OrderedSet):DifferentialVariableCategory(S) --R associates? : (%,%) -> Boolean if R has FIELD --R characteristic : () -> NonNegativeInteger --R coerce : % -> % if R has FIELD ---R coerce : Fraction Integer -> % if R has FIELD +--R coerce : Fraction(Integer) -> % if R has FIELD --R differentiate : (%,NonNegativeInteger) -> % --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 factor : % -> Factored(%) if R has FIELD --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 lcm : (%,%) -> % if R has FIELD ---R lcm : List % -> % if R has FIELD ---R multiEuclidean : (List %,%) -> Union(List %,"failed") if R has FIELD +--R lcm : List(%) -> % if R has FIELD +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") if R has FIELD --R prime? : % -> Boolean if R has FIELD ---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 ?rem? : (%,%) -> % if R has FIELD --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 unit? : % -> Boolean if R has FIELD @@ -89879,7 +90090,8 @@ OrdinaryDifferentialRing(Kernels,R,var): DRcategory == DRcapsule where --S 1 of 1 )show OrdinaryWeightedPolynomials ---R OrdinaryWeightedPolynomials(R: Ring,vl: List Symbol,wl: List NonNegativeInteger,wtlevel: NonNegativeInteger) is a domain constructor +--R +--R OrdinaryWeightedPolynomials(R: Ring,vl: List(Symbol),wl: List(NonNegativeInteger),wtlevel: NonNegativeInteger) is a domain constructor --R Abbreviation for OrdinaryWeightedPolynomials is OWP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for OWP @@ -89890,8 +90102,8 @@ OrdinaryDifferentialRing(Kernels,R,var): DRcategory == DRcapsule where --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % ---R ?^? : (%,PositiveInteger) -> % coerce : Polynomial R -> % ---R coerce : % -> Polynomial R coerce : Integer -> % +--R ?^? : (%,PositiveInteger) -> % coerce : Polynomial(R) -> % +--R coerce : % -> Polynomial(R) coerce : Integer -> % --R coerce : % -> OutputForm hash : % -> SingleInteger --R latex : % -> String one? : % -> Boolean --R recip : % -> Union(%,"failed") sample : () -> % @@ -90115,6 +90327,7 @@ OrdSetInts: Export == Implement where --S 1 of 1 )show OutputForm +--R --R OutputForm is a domain constructor --R Abbreviation for OutputForm is OUTFORM --R This constructor is not exposed in this frame. @@ -90130,30 +90343,30 @@ OrdSetInts: Export == Implement where --R ?SEGMENT : % -> % ?..? : (%,%) -> % --R ?^=? : (%,%) -> % ?and? : (%,%) -> % --R assign : (%,%) -> % binomial : (%,%) -> % ---R blankSeparate : List % -> % box : % -> % ---R brace : List % -> % brace : % -> % ---R bracket : List % -> % bracket : % -> % +--R blankSeparate : List(%) -> % box : % -> % +--R brace : List(%) -> % brace : % -> % +--R bracket : List(%) -> % bracket : % -> % --R center : % -> % center : (%,Integer) -> % ---R coerce : % -> OutputForm commaSeparate : List % -> % +--R coerce : % -> OutputForm commaSeparate : List(%) -> % --R ?div? : (%,%) -> % dot : % -> % ---R ?.? : (%,List %) -> % empty : () -> % +--R ?.? : (%,List(%)) -> % empty : () -> % --R exquo : (%,%) -> % hash : % -> SingleInteger ---R hconcat : List % -> % hconcat : (%,%) -> % +--R hconcat : List(%) -> % hconcat : (%,%) -> % --R height : () -> Integer height : % -> Integer --R hspace : Integer -> % infix : (%,%,%) -> % ---R infix : (%,List %) -> % infix? : % -> Boolean +--R infix : (%,List(%)) -> % infix? : % -> Boolean --R int : (%,%,%) -> % int : (%,%) -> % --R int : % -> % label : (%,%) -> % --R latex : % -> String left : % -> % ---R left : (%,Integer) -> % matrix : List List % -> % +--R left : (%,Integer) -> % matrix : List(List(%)) -> % --R message : String -> % messagePrint : String -> Void --R not? : % -> % ?or? : (%,%) -> % --R outputForm : DoubleFloat -> % outputForm : String -> % --R outputForm : Symbol -> % outputForm : Integer -> % --R over : (%,%) -> % overbar : % -> % ---R overlabel : (%,%) -> % paren : List % -> % ---R paren : % -> % pile : List % -> % ---R postfix : (%,%) -> % prefix : (%,List %) -> % +--R overlabel : (%,%) -> % paren : List(%) -> % +--R paren : % -> % pile : List(%) -> % +--R postfix : (%,%) -> % prefix : (%,List(%)) -> % --R presub : (%,%) -> % presuper : (%,%) -> % --R prime : % -> % print : % -> Void --R prod : (%,%,%) -> % prod : (%,%) -> % @@ -90162,13 +90375,13 @@ OrdSetInts: Export == Implement where --R ?rem? : (%,%) -> % right : % -> % --R right : (%,Integer) -> % root : (%,%) -> % --R root : % -> % rspace : (Integer,Integer) -> % ---R scripts : (%,List %) -> % semicolonSeparate : List % -> % +--R scripts : (%,List(%)) -> % semicolonSeparate : List(%) -> % --R slash : (%,%) -> % string : % -> % --R sub : (%,%) -> % subHeight : % -> Integer --R sum : (%,%,%) -> % sum : (%,%) -> % --R sum : % -> % super : (%,%) -> % ---R superHeight : % -> Integer supersub : (%,List %) -> % ---R vconcat : List % -> % vconcat : (%,%) -> % +--R superHeight : % -> Integer supersub : (%,List(%)) -> % +--R vconcat : List(%) -> % vconcat : (%,%) -> % --R vspace : Integer -> % width : () -> Integer --R width : % -> Integer zag : (%,%) -> % --R ?~=? : (%,%) -> Boolean @@ -90754,7 +90967,8 @@ OutputForm(): SetCategory with --S 1 of 1 )show PAdicInteger ---R PAdicInteger p: Integer is a domain constructor +--R +--R PAdicInteger(p: Integer) is a domain constructor --R Abbreviation for PAdicInteger is PADIC --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PADIC @@ -90768,10 +90982,10 @@ OutputForm(): SetCategory with --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 : % -> % @@ -90787,14 +91001,14 @@ OutputForm(): SetCategory with --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 @@ -90912,14 +91126,15 @@ PAdicInteger(p:Integer) == InnerPAdicInteger(p,true$Boolean) --S 1 of 1 )show PAdicRational ---R PAdicRational p: Integer is a domain constructor +--R +--R PAdicRational(p: Integer) is a domain constructor --R Abbreviation for PAdicRational is PADICRAT --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PADICRAT --R --R------------------------------- Operations -------------------------------- ---R ?*? : (%,PAdicInteger p) -> % ?*? : (PAdicInteger p,%) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (%,PAdicInteger(p)) -> % ?*? : (PAdicInteger(p),%) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -90927,107 +91142,107 @@ PAdicInteger(p:Integer) == InnerPAdicInteger(p,true$Boolean) --R ?/? : (%,%) -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % ---R associates? : (%,%) -> Boolean coerce : PAdicInteger p -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R associates? : (%,%) -> Boolean coerce : PAdicInteger(p) -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R denom : % -> PAdicInteger p denominator : % -> % ---R factor : % -> Factored % gcd : List % -> % +--R denom : % -> PAdicInteger(p) denominator : % -> % +--R factor : % -> Factored(%) gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % ---R numer : % -> PAdicInteger p numerator : % -> % +--R lcm : List(%) -> % lcm : (%,%) -> % +--R numer : % -> PAdicInteger(p) numerator : % -> % --R one? : % -> Boolean prime? : % -> Boolean --R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") --R ?rem? : (%,%) -> % removeZeroes : (Integer,%) -> % ---R removeZeroes : % -> % retract : % -> PAdicInteger p +--R removeZeroes : % -> % retract : % -> PAdicInteger(p) --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % ---R ?/? : (PAdicInteger p,PAdicInteger p) -> % ---R ? Boolean if PAdicInteger p has ORDSET ---R ?<=? : (%,%) -> Boolean if PAdicInteger p has ORDSET ---R ?>? : (%,%) -> Boolean if PAdicInteger p has ORDSET ---R ?>=? : (%,%) -> Boolean if PAdicInteger p has ORDSET ---R D : (%,(PAdicInteger p -> PAdicInteger p)) -> % ---R D : (%,(PAdicInteger p -> PAdicInteger p),NonNegativeInteger) -> % ---R D : (%,List Symbol,List NonNegativeInteger) -> % if PAdicInteger p has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if PAdicInteger p has PDRING SYMBOL ---R D : (%,List Symbol) -> % if PAdicInteger p has PDRING SYMBOL ---R D : (%,Symbol) -> % if PAdicInteger p has PDRING SYMBOL ---R D : (%,NonNegativeInteger) -> % if PAdicInteger p has DIFRING ---R D : % -> % if PAdicInteger p has DIFRING +--R ?/? : (PAdicInteger(p),PAdicInteger(p)) -> % +--R ? Boolean if PAdicInteger(p) has ORDSET +--R ?<=? : (%,%) -> Boolean if PAdicInteger(p) has ORDSET +--R ?>? : (%,%) -> Boolean if PAdicInteger(p) has ORDSET +--R ?>=? : (%,%) -> Boolean if PAdicInteger(p) has ORDSET +--R D : (%,(PAdicInteger(p) -> PAdicInteger(p))) -> % +--R D : (%,(PAdicInteger(p) -> PAdicInteger(p)),NonNegativeInteger) -> % +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if PAdicInteger(p) has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if PAdicInteger(p) has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if PAdicInteger(p) has PDRING(SYMBOL) +--R D : (%,Symbol) -> % if PAdicInteger(p) has PDRING(SYMBOL) +--R D : (%,NonNegativeInteger) -> % if PAdicInteger(p) has DIFRING +--R D : % -> % if PAdicInteger(p) has DIFRING --R ?^? : (%,NonNegativeInteger) -> % ---R abs : % -> % if PAdicInteger p has OINTDOM ---R approximate : (%,Integer) -> Fraction Integer ---R ceiling : % -> PAdicInteger p if PAdicInteger p has INS +--R abs : % -> % if PAdicInteger(p) has OINTDOM +--R approximate : (%,Integer) -> Fraction(Integer) +--R ceiling : % -> PAdicInteger(p) if PAdicInteger(p) has INS --R characteristic : () -> NonNegativeInteger ---R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and PAdicInteger p has PFECAT or PAdicInteger p has CHARNZ ---R coerce : Symbol -> % if PAdicInteger p has RETRACT SYMBOL ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and PAdicInteger p has PFECAT ---R continuedFraction : % -> ContinuedFraction Fraction Integer ---R convert : % -> DoubleFloat if PAdicInteger p has REAL ---R convert : % -> Float if PAdicInteger p has REAL ---R convert : % -> InputForm if PAdicInteger p has KONVERT INFORM ---R convert : % -> Pattern Float if PAdicInteger p has KONVERT PATTERN FLOAT ---R convert : % -> Pattern Integer if PAdicInteger p has KONVERT PATTERN INT ---R differentiate : (%,(PAdicInteger p -> PAdicInteger p)) -> % ---R differentiate : (%,(PAdicInteger p -> PAdicInteger p),NonNegativeInteger) -> % ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if PAdicInteger p has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if PAdicInteger p has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if PAdicInteger p has PDRING SYMBOL ---R differentiate : (%,Symbol) -> % if PAdicInteger p has PDRING SYMBOL ---R differentiate : (%,NonNegativeInteger) -> % if PAdicInteger p has DIFRING ---R differentiate : % -> % if PAdicInteger p has DIFRING +--R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and PAdicInteger(p) has PFECAT or PAdicInteger(p) has CHARNZ +--R coerce : Symbol -> % if PAdicInteger(p) has RETRACT(SYMBOL) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and PAdicInteger(p) has PFECAT +--R continuedFraction : % -> ContinuedFraction(Fraction(Integer)) +--R convert : % -> DoubleFloat if PAdicInteger(p) has REAL +--R convert : % -> Float if PAdicInteger(p) has REAL +--R convert : % -> InputForm if PAdicInteger(p) has KONVERT(INFORM) +--R convert : % -> Pattern(Float) if PAdicInteger(p) has KONVERT(PATTERN(FLOAT)) +--R convert : % -> Pattern(Integer) if PAdicInteger(p) has KONVERT(PATTERN(INT)) +--R differentiate : (%,(PAdicInteger(p) -> PAdicInteger(p))) -> % +--R differentiate : (%,(PAdicInteger(p) -> PAdicInteger(p)),NonNegativeInteger) -> % +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if PAdicInteger(p) has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if PAdicInteger(p) has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if PAdicInteger(p) has PDRING(SYMBOL) +--R differentiate : (%,Symbol) -> % if PAdicInteger(p) has PDRING(SYMBOL) +--R differentiate : (%,NonNegativeInteger) -> % if PAdicInteger(p) has DIFRING +--R differentiate : % -> % if PAdicInteger(p) has DIFRING --R divide : (%,%) -> Record(quotient: %,remainder: %) ---R ?.? : (%,PAdicInteger p) -> % if PAdicInteger p has ELTAB(PADIC p,PADIC p) +--R ?.? : (%,PAdicInteger(p)) -> % if PAdicInteger(p) has ELTAB(PADIC(p),PADIC(p)) --R euclideanSize : % -> NonNegativeInteger ---R eval : (%,Symbol,PAdicInteger p) -> % if PAdicInteger p has IEVALAB(SYMBOL,PADIC p) ---R eval : (%,List Symbol,List PAdicInteger p) -> % if PAdicInteger p has IEVALAB(SYMBOL,PADIC p) ---R eval : (%,List Equation PAdicInteger p) -> % if PAdicInteger p has EVALAB PADIC p ---R eval : (%,Equation PAdicInteger p) -> % if PAdicInteger p has EVALAB PADIC p ---R eval : (%,PAdicInteger p,PAdicInteger p) -> % if PAdicInteger p has EVALAB PADIC p ---R eval : (%,List PAdicInteger p,List PAdicInteger p) -> % if PAdicInteger p has EVALAB PADIC p ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R eval : (%,Symbol,PAdicInteger(p)) -> % if PAdicInteger(p) has IEVALAB(SYMBOL,PADIC(p)) +--R eval : (%,List(Symbol),List(PAdicInteger(p))) -> % if PAdicInteger(p) has IEVALAB(SYMBOL,PADIC(p)) +--R eval : (%,List(Equation(PAdicInteger(p)))) -> % if PAdicInteger(p) has EVALAB(PADIC(p)) +--R eval : (%,Equation(PAdicInteger(p))) -> % if PAdicInteger(p) has EVALAB(PADIC(p)) +--R eval : (%,PAdicInteger(p),PAdicInteger(p)) -> % if PAdicInteger(p) has EVALAB(PADIC(p)) +--R eval : (%,List(PAdicInteger(p)),List(PAdicInteger(p))) -> % if PAdicInteger(p) has EVALAB(PADIC(p)) +--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 PAdicInteger p has PFECAT ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if PAdicInteger p has PFECAT ---R floor : % -> PAdicInteger p if PAdicInteger p has INS ---R fractionPart : % -> % if PAdicInteger p has EUCDOM ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % ---R init : () -> % if PAdicInteger p has STEP ---R map : ((PAdicInteger p -> PAdicInteger p),%) -> % ---R max : (%,%) -> % if PAdicInteger p has ORDSET ---R min : (%,%) -> % if PAdicInteger p has ORDSET ---R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R negative? : % -> Boolean if PAdicInteger p has OINTDOM ---R nextItem : % -> Union(%,"failed") if PAdicInteger p has STEP ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if PAdicInteger p has PATMAB FLOAT ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if PAdicInteger p has PATMAB INT ---R positive? : % -> Boolean if PAdicInteger p has OINTDOM ---R principalIdeal : List % -> Record(coef: List %,generator: %) ---R random : () -> % if PAdicInteger p has INS ---R reducedSystem : Matrix % -> Matrix PAdicInteger p ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix PAdicInteger p,vec: Vector PAdicInteger p) ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if PAdicInteger p has LINEXP INT ---R reducedSystem : Matrix % -> Matrix Integer if PAdicInteger p has LINEXP INT ---R retract : % -> Integer if PAdicInteger p has RETRACT INT ---R retract : % -> Fraction Integer if PAdicInteger p has RETRACT INT ---R retract : % -> Symbol if PAdicInteger p has RETRACT SYMBOL ---R retractIfCan : % -> Union(Integer,"failed") if PAdicInteger p has RETRACT INT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if PAdicInteger p has RETRACT INT ---R retractIfCan : % -> Union(Symbol,"failed") if PAdicInteger p has RETRACT SYMBOL ---R retractIfCan : % -> Union(PAdicInteger p,"failed") ---R sign : % -> Integer if PAdicInteger p has OINTDOM ---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if PAdicInteger p has PFECAT ---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if PAdicInteger p has PFECAT +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if PAdicInteger(p) has PFECAT +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if PAdicInteger(p) has PFECAT +--R floor : % -> PAdicInteger(p) if PAdicInteger(p) has INS +--R fractionPart : % -> % if PAdicInteger(p) has EUCDOM +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R init : () -> % if PAdicInteger(p) has STEP +--R map : ((PAdicInteger(p) -> PAdicInteger(p)),%) -> % +--R max : (%,%) -> % if PAdicInteger(p) has ORDSET +--R min : (%,%) -> % if PAdicInteger(p) has ORDSET +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") +--R negative? : % -> Boolean if PAdicInteger(p) has OINTDOM +--R nextItem : % -> Union(%,"failed") if PAdicInteger(p) has STEP +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if PAdicInteger(p) has PATMAB(FLOAT) +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if PAdicInteger(p) has PATMAB(INT) +--R positive? : % -> Boolean if PAdicInteger(p) has OINTDOM +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) +--R random : () -> % if PAdicInteger(p) has INS +--R reducedSystem : Matrix(%) -> Matrix(PAdicInteger(p)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(PAdicInteger(p)),vec: Vector(PAdicInteger(p))) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if PAdicInteger(p) has LINEXP(INT) +--R reducedSystem : Matrix(%) -> Matrix(Integer) if PAdicInteger(p) has LINEXP(INT) +--R retract : % -> Integer if PAdicInteger(p) has RETRACT(INT) +--R retract : % -> Fraction(Integer) if PAdicInteger(p) has RETRACT(INT) +--R retract : % -> Symbol if PAdicInteger(p) has RETRACT(SYMBOL) +--R retractIfCan : % -> Union(Integer,"failed") if PAdicInteger(p) has RETRACT(INT) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if PAdicInteger(p) has RETRACT(INT) +--R retractIfCan : % -> Union(Symbol,"failed") if PAdicInteger(p) has RETRACT(SYMBOL) +--R retractIfCan : % -> Union(PAdicInteger(p),"failed") +--R sign : % -> Integer if PAdicInteger(p) has OINTDOM +--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if PAdicInteger(p) has PFECAT +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if PAdicInteger(p) has PFECAT --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) ---R wholePart : % -> PAdicInteger p if PAdicInteger p has EUCDOM +--R wholePart : % -> PAdicInteger(p) if PAdicInteger(p) has EUCDOM --R --E 1 @@ -91178,14 +91393,15 @@ PAdicRational(p:Integer) == PAdicRationalConstructor(p,PAdicInteger p) --S 1 of 1 )show PAdicRationalConstructor ---R PAdicRationalConstructor(p: Integer,PADIC: PAdicIntegerCategory p) is a domain constructor +--R +--R PAdicRationalConstructor(p: Integer,PADIC: PAdicIntegerCategory(p)) is a domain constructor --R Abbreviation for PAdicRationalConstructor is PADICRC --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PADICRC --R --R------------------------------- Operations -------------------------------- --R ?*? : (%,PADIC) -> % ?*? : (PADIC,%) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -91195,20 +91411,20 @@ PAdicRational(p:Integer) == PAdicRationalConstructor(p,PAdicInteger p) --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R associates? : (%,%) -> Boolean coerce : PADIC -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm --R denom : % -> PADIC denominator : % -> % ---R factor : % -> Factored % gcd : List % -> % +--R factor : % -> Factored(%) gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R map : ((PADIC -> PADIC),%) -> % numer : % -> PADIC --R numerator : % -> % one? : % -> Boolean --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % --R removeZeroes : (Integer,%) -> % removeZeroes : % -> % --R retract : % -> PADIC sample : () -> % ---R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % +--R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored(%) --R squareFreePart : % -> % unit? : % -> Boolean --R unitCanonical : % -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean @@ -91219,77 +91435,77 @@ PAdicRational(p:Integer) == PAdicRationalConstructor(p,PAdicInteger p) --R ?>? : (%,%) -> Boolean if PADIC has ORDSET --R ?>=? : (%,%) -> Boolean if PADIC has ORDSET --R D : (%,(PADIC -> PADIC),NonNegativeInteger) -> % ---R D : (%,List Symbol,List NonNegativeInteger) -> % if PADIC has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if PADIC has PDRING SYMBOL ---R D : (%,List Symbol) -> % if PADIC has PDRING SYMBOL ---R D : (%,Symbol) -> % if PADIC has PDRING SYMBOL +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if PADIC has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if PADIC has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if PADIC has PDRING(SYMBOL) +--R D : (%,Symbol) -> % if PADIC has PDRING(SYMBOL) --R D : (%,NonNegativeInteger) -> % if PADIC has DIFRING --R D : % -> % if PADIC has DIFRING --R ?^? : (%,NonNegativeInteger) -> % --R abs : % -> % if PADIC has OINTDOM ---R approximate : (%,Integer) -> Fraction Integer +--R approximate : (%,Integer) -> Fraction(Integer) --R ceiling : % -> PADIC if PADIC has INS --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and PADIC has PFECAT or PADIC has CHARNZ ---R coerce : Symbol -> % if PADIC has RETRACT SYMBOL ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and PADIC has PFECAT ---R continuedFraction : % -> ContinuedFraction Fraction Integer +--R coerce : Symbol -> % if PADIC has RETRACT(SYMBOL) +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and PADIC has PFECAT +--R continuedFraction : % -> ContinuedFraction(Fraction(Integer)) --R convert : % -> DoubleFloat if PADIC has REAL --R convert : % -> Float if PADIC has REAL ---R convert : % -> InputForm if PADIC has KONVERT INFORM ---R convert : % -> Pattern Float if PADIC has KONVERT PATTERN FLOAT ---R convert : % -> Pattern Integer if PADIC has KONVERT PATTERN INT +--R convert : % -> InputForm if PADIC has KONVERT(INFORM) +--R convert : % -> Pattern(Float) if PADIC has KONVERT(PATTERN(FLOAT)) +--R convert : % -> Pattern(Integer) if PADIC has KONVERT(PATTERN(INT)) --R differentiate : (%,(PADIC -> PADIC)) -> % --R differentiate : (%,(PADIC -> PADIC),NonNegativeInteger) -> % ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if PADIC has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if PADIC has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if PADIC has PDRING SYMBOL ---R differentiate : (%,Symbol) -> % if PADIC has PDRING SYMBOL +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if PADIC has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if PADIC has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if PADIC has PDRING(SYMBOL) +--R differentiate : (%,Symbol) -> % if PADIC has PDRING(SYMBOL) --R differentiate : (%,NonNegativeInteger) -> % if PADIC has DIFRING --R differentiate : % -> % if PADIC has DIFRING --R divide : (%,%) -> Record(quotient: %,remainder: %) --R ?.? : (%,PADIC) -> % if PADIC has ELTAB(PADIC,PADIC) --R euclideanSize : % -> NonNegativeInteger --R eval : (%,Symbol,PADIC) -> % if PADIC has IEVALAB(SYMBOL,PADIC) ---R eval : (%,List Symbol,List PADIC) -> % if PADIC has IEVALAB(SYMBOL,PADIC) ---R eval : (%,List Equation PADIC) -> % if PADIC has EVALAB PADIC ---R eval : (%,Equation PADIC) -> % if PADIC has EVALAB PADIC ---R eval : (%,PADIC,PADIC) -> % if PADIC has EVALAB PADIC ---R eval : (%,List PADIC,List PADIC) -> % if PADIC has EVALAB PADIC ---R expressIdealMember : (List %,%) -> Union(List %,"failed") +--R eval : (%,List(Symbol),List(PADIC)) -> % if PADIC has IEVALAB(SYMBOL,PADIC) +--R eval : (%,List(Equation(PADIC))) -> % if PADIC has EVALAB(PADIC) +--R eval : (%,Equation(PADIC)) -> % if PADIC has EVALAB(PADIC) +--R eval : (%,PADIC,PADIC) -> % if PADIC has EVALAB(PADIC) +--R eval : (%,List(PADIC),List(PADIC)) -> % if PADIC has EVALAB(PADIC) +--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 PADIC has PFECAT ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if PADIC has PFECAT +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if PADIC has PFECAT +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if PADIC has PFECAT --R floor : % -> PADIC if PADIC has INS --R fractionPart : % -> % if PADIC has EUCDOM ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R init : () -> % if PADIC has STEP --R max : (%,%) -> % if PADIC has ORDSET --R min : (%,%) -> % if PADIC has ORDSET ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R negative? : % -> Boolean if PADIC has OINTDOM --R nextItem : % -> Union(%,"failed") if PADIC has STEP ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if PADIC has PATMAB FLOAT ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if PADIC has PATMAB INT +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if PADIC has PATMAB(FLOAT) +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if PADIC has PATMAB(INT) --R positive? : % -> Boolean if PADIC has OINTDOM ---R principalIdeal : List % -> Record(coef: List %,generator: %) +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) --R random : () -> % if PADIC has INS ---R reducedSystem : Matrix % -> Matrix PADIC ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix PADIC,vec: Vector PADIC) ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if PADIC has LINEXP INT ---R reducedSystem : Matrix % -> Matrix Integer if PADIC has LINEXP INT ---R retract : % -> Integer if PADIC has RETRACT INT ---R retract : % -> Fraction Integer if PADIC has RETRACT INT ---R retract : % -> Symbol if PADIC has RETRACT SYMBOL ---R retractIfCan : % -> Union(Integer,"failed") if PADIC has RETRACT INT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if PADIC has RETRACT INT ---R retractIfCan : % -> Union(Symbol,"failed") if PADIC has RETRACT SYMBOL +--R reducedSystem : Matrix(%) -> Matrix(PADIC) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(PADIC),vec: Vector(PADIC)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if PADIC has LINEXP(INT) +--R reducedSystem : Matrix(%) -> Matrix(Integer) if PADIC has LINEXP(INT) +--R retract : % -> Integer if PADIC has RETRACT(INT) +--R retract : % -> Fraction(Integer) if PADIC has RETRACT(INT) +--R retract : % -> Symbol if PADIC has RETRACT(SYMBOL) +--R retractIfCan : % -> Union(Integer,"failed") if PADIC has RETRACT(INT) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if PADIC has RETRACT(INT) +--R retractIfCan : % -> Union(Symbol,"failed") if PADIC has RETRACT(SYMBOL) --R retractIfCan : % -> Union(PADIC,"failed") --R sign : % -> Integer if PADIC has OINTDOM ---R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") if PADIC has PFECAT ---R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if PADIC has PFECAT +--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if PADIC has PFECAT +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if PADIC has PFECAT --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R wholePart : % -> PADIC if PADIC has EUCDOM @@ -91734,7 +91950,8 @@ Palette(): Exports == Implementation where --S 1 of 1 )show ParametricPlaneCurve ---R ParametricPlaneCurve ComponentFunction: Type is a domain constructor +--R +--R ParametricPlaneCurve(ComponentFunction: Type) is a domain constructor --R Abbreviation for ParametricPlaneCurve is PARPCURV --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PARPCURV @@ -91828,7 +92045,8 @@ ParametricPlaneCurve(ComponentFunction): Exports == Implementation where --S 1 of 1 )show ParametricSpaceCurve ---R ParametricSpaceCurve ComponentFunction: Type is a domain constructor +--R +--R ParametricSpaceCurve(ComponentFunction: Type) is a domain constructor --R Abbreviation for ParametricSpaceCurve is PARSCURV --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PARSCURV @@ -91925,7 +92143,8 @@ ParametricSpaceCurve(ComponentFunction): Exports == Implementation where --S 1 of 1 )show ParametricSurface ---R ParametricSurface ComponentFunction: Type is a domain constructor +--R +--R ParametricSurface(ComponentFunction: Type) is a domain constructor --R Abbreviation for ParametricSurface is PARSURF --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PARSURF @@ -92028,7 +92247,7 @@ partialFraction(1,factorial 10) --R (1) --- - -- - -- + - --R 8 4 2 7 --R 2 3 5 ---R Type: PartialFraction Integer +--R Type: PartialFraction(Integer) --E 1 --S 2 of 22 @@ -92039,7 +92258,7 @@ f := padicFraction(%) --R (2) - + -- + -- + -- + -- + -- - -- - -- - -- - - - -- + - --R 2 4 5 6 7 8 2 3 4 5 2 7 --R 2 2 2 2 2 3 3 3 5 ---R Type: PartialFraction Integer +--R Type: PartialFraction(Integer) --E 2 --S 3 of 22 @@ -92050,7 +92269,7 @@ compactFraction(f) --R (3) --- - -- - -- + - --R 8 4 2 7 --R 2 3 5 ---R Type: PartialFraction Integer +--R Type: PartialFraction(Integer) --E 3 --S 4 of 22 @@ -92069,7 +92288,7 @@ nthFractionalTerm(f,3) --R (5) -- --R 5 --R 2 ---R Type: PartialFraction Integer +--R Type: PartialFraction(Integer) --E 5 --S 6 of 22 @@ -92079,7 +92298,7 @@ partialFraction(1,- 13 + 14 * %i) --R 1 4 --R (6) - ------- + ------- --R 1 + 2%i 3 + 8%i ---R Type: PartialFraction Complex Integer +--R Type: PartialFraction(Complex(Integer)) --E 6 --S 7 of 22 @@ -92089,7 +92308,7 @@ partialFraction(1,- 13 + 14 * %i) --R %i --R (7) - --------- --R 14 + 13%i ---R Type: Fraction Complex Integer +--R Type: Fraction(Complex(Integer)) --E 7 --S 8 of 22 @@ -92098,7 +92317,7 @@ u : FR UP(x, FRAC INT) := reduce(*,[primeFactor(x+i,i) for i in 1..4]) --R --R 2 3 4 --R (8) (x + 1)(x + 2) (x + 3) (x + 4) ---R Type: Factored UnivariatePolynomial(x,Fraction Integer) +--R Type: Factored(UnivariatePolynomial(x,Fraction(Integer))) --E 8 --S 9 of 22 @@ -92112,7 +92331,7 @@ partialFraction(1,u) --R ----- + -------- + ------------------- + --------------------------------- --R x + 1 2 3 4 --R (x + 2) (x + 3) (x + 4) ---R Type: PartialFraction UnivariatePolynomial(x,Fraction Integer) +--R Type: PartialFraction(UnivariatePolynomial(x,Fraction(Integer))) --E 9 --S 10 of 22 @@ -92133,14 +92352,14 @@ padicFraction % --R -------- + -------- --R 3 4 --R (x + 4) (x + 4) ---R Type: PartialFraction UnivariatePolynomial(x,Fraction Integer) +--R Type: PartialFraction(UnivariatePolynomial(x,Fraction(Integer))) --E 10 --S 11 of 22 fraction:=Fraction(Polynomial(Integer)) --R --R ---R (11) Fraction Polynomial Integer +--R (11) Fraction(Polynomial(Integer)) --R Type: Domain --E 11 @@ -92148,7 +92367,7 @@ fraction:=Fraction(Polynomial(Integer)) up:=UnivariatePolynomial(y,fraction) --R --R ---R (12) UnivariatePolynomial(y,Fraction Polynomial Integer) +--R (12) UnivariatePolynomial(y,Fraction(Polynomial(Integer))) --R Type: Domain --E 12 @@ -92156,7 +92375,8 @@ up:=UnivariatePolynomial(y,fraction) pfup:=PartialFraction(up) --R --R ---R (13) PartialFraction UnivariatePolynomial(y,Fraction Polynomial Integer) +--R (13) +--R PartialFraction(UnivariatePolynomial(y,Fraction(Polynomial(Integer)))) --R Type: Domain --E 13 @@ -92167,7 +92387,7 @@ a:=x+1/(y+1) --R x y + x + 1 --R (14) ----------- --R y + 1 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 14 --S 15 of 22 @@ -92177,7 +92397,7 @@ b:=partialFraction(a,y)$PartialFractionPackage(Integer) --R 1 --R (15) x + ----- --R y + 1 ---R Type: PartialFraction UnivariatePolynomial(y,Fraction Polynomial Integer) +--R Type: PartialFraction(UnivariatePolynomial(y,Fraction(Polynomial(Integer)))) --E 15 --S 16 of 22 @@ -92187,7 +92407,7 @@ c:=b::pfup --R 1 --R (16) x + ----- --R y + 1 ---R Type: PartialFraction UnivariatePolynomial(y,Fraction Polynomial Integer) +--R Type: PartialFraction(UnivariatePolynomial(y,Fraction(Polynomial(Integer)))) --E 16 --S 17 of 22 @@ -92195,7 +92415,7 @@ cw:=(wholePart c)::Expression(Integer) --R --R --R (17) x ---R Type: Expression Integer +--R Type: Expression(Integer) --E 17 --S 18 of 22 @@ -92213,7 +92433,7 @@ crList:=[nthFractionalTerm(c,i) for i in 1..m] --R 1 --R (19) [-----] --R y + 1 ---RType: List PartialFraction UnivariatePolynomial(y,Fraction Polynomial Integer) +--RType: List(PartialFraction(UnivariatePolynomial(y,Fraction(Polynomial(Integer))))) --E 19 --S 20 of 22 @@ -92223,7 +92443,7 @@ cc:=reduce(+,crList) --R 1 --R (20) ----- --R y + 1 ---R Type: PartialFraction UnivariatePolynomial(y,Fraction Polynomial Integer) +--R Type: PartialFraction(UnivariatePolynomial(y,Fraction(Polynomial(Integer)))) --E 20 --S 21 of 22 @@ -92233,7 +92453,7 @@ ccx:=cc::(Fraction(up))::(Expression(Integer)) --R 1 --R (21) ----- --R y + 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 21 --S 22 of 22 @@ -92243,7 +92463,7 @@ sin(cw)*cos(ccx)+sin(ccx)*cos(cw) --R 1 1 --R (22) cos(-----)sin(x) + cos(x)sin(-----) --R y + 1 y + 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 22 )spool @@ -92839,6 +93059,7 @@ PartialFraction(R: EuclideanDomain): Cat == Capsule where --S 1 of 1 )show Partition +--R --R Partition is a domain constructor --R Abbreviation for Partition is PRTITION --R This constructor is not exposed in this frame. @@ -92849,15 +93070,15 @@ PartialFraction(R: EuclideanDomain): Cat == Capsule where --R ? Boolean ?<=? : (%,%) -> Boolean --R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean --R ?>=? : (%,%) -> Boolean 0 : () -> % ---R coerce : % -> List Integer coerce : % -> OutputForm ---R conjugate : % -> % convert : % -> List Integer +--R coerce : % -> List(Integer) coerce : % -> OutputForm +--R conjugate : % -> % convert : % -> List(Integer) --R hash : % -> SingleInteger latex : % -> String --R max : (%,%) -> % min : (%,%) -> % ---R partition : List Integer -> % pdct : % -> Integer +--R partition : List(Integer) -> % pdct : % -> Integer --R sample : () -> % zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % ---R powers : List Integer -> List List Integer +--R powers : List(Integer) -> List(List(Integer)) --R subtractIfCan : (%,%) -> Union(%,"failed") --R --E 1 @@ -93056,7 +93277,8 @@ Partition: Exports == Implementation where --S 1 of 1 )show Pattern ---R Pattern R: SetCategory is a domain constructor +--R +--R Pattern(R: SetCategory) is a domain constructor --R Abbreviation for Pattern is PATTERN --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PATTERN @@ -93068,34 +93290,34 @@ Partition: Exports == Implementation where --R 0 : () -> % addBadValue : (%,Any) -> % --R coerce : Symbol -> % coerce : R -> % --R coerce : % -> OutputForm constant? : % -> Boolean ---R convert : List % -> % copy : % -> % +--R convert : List(%) -> % copy : % -> % --R depth : % -> NonNegativeInteger generic? : % -> Boolean ---R getBadValues : % -> List Any hasPredicate? : % -> Boolean +--R getBadValues : % -> List(Any) hasPredicate? : % -> Boolean --R hasTopPredicate? : % -> Boolean hash : % -> SingleInteger --R inR? : % -> Boolean latex : % -> String --R multiple? : % -> Boolean optional? : % -> Boolean ---R predicates : % -> List Any quoted? : % -> Boolean +--R predicates : % -> List(Any) quoted? : % -> Boolean --R resetBadValues : % -> % retract : % -> Symbol --R retract : % -> R symbol? : % -> Boolean ---R variables : % -> List % ?~=? : (%,%) -> Boolean +--R variables : % -> List(%) ?~=? : (%,%) -> Boolean --R ?**? : (%,NonNegativeInteger) -> % ---R elt : (BasicOperator,List %) -> % +--R elt : (BasicOperator,List(%)) -> % --R isExpt : % -> Union(Record(val: %,exponent: NonNegativeInteger),"failed") ---R isList : % -> Union(List %,"failed") ---R isOp : % -> Union(Record(op: BasicOperator,arg: List %),"failed") ---R isOp : (%,BasicOperator) -> Union(List %,"failed") ---R isPlus : % -> Union(List %,"failed") +--R isList : % -> Union(List(%),"failed") +--R isOp : % -> Union(Record(op: BasicOperator,arg: List(%)),"failed") +--R isOp : (%,BasicOperator) -> Union(List(%),"failed") +--R isPlus : % -> Union(List(%),"failed") --R isPower : % -> Union(Record(val: %,exponent: %),"failed") --R isQuotient : % -> Union(Record(num: %,den: %),"failed") ---R isTimes : % -> Union(List %,"failed") ---R optpair : List % -> Union(List %,"failed") +--R isTimes : % -> Union(List(%),"failed") +--R optpair : List(%) -> Union(List(%),"failed") --R patternVariable : (Symbol,Boolean,Boolean,Boolean) -> % --R retractIfCan : % -> Union(Symbol,"failed") --R retractIfCan : % -> Union(R,"failed") ---R setPredicates : (%,List Any) -> % ---R setTopPredicate : (%,List Symbol,Any) -> % ---R topPredicate : % -> Record(var: List Symbol,pred: Any) ---R withPredicates : (%,List Any) -> % +--R setPredicates : (%,List(Any)) -> % +--R setTopPredicate : (%,List(Symbol),Any) -> % +--R topPredicate : % -> Record(var: List(Symbol),pred: Any) +--R withPredicates : (%,List(Any)) -> % --R --E 1 @@ -93559,7 +93781,8 @@ Pattern(R:SetCategory): Exports == Implementation where --S 1 of 1 )show PatternMatchListResult ---R PatternMatchListResult(R: SetCategory,S: SetCategory,L: ListAggregate S) is a domain constructor +--R +--R PatternMatchListResult(R: SetCategory,S: SetCategory,L: ListAggregate(S)) is a domain constructor --R Abbreviation for PatternMatchListResult is PATLRES --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PATLRES @@ -93674,23 +93897,24 @@ PatternMatchListResult(R:SetCategory, S:SetCategory, L:ListAggregate S): --S 1 of 1 )show PatternMatchResult +--R --R PatternMatchResult(R: SetCategory,S: SetCategory) is a domain constructor --R Abbreviation for PatternMatchResult is PATRES --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PATRES --R --R------------------------------- Operations -------------------------------- ---R ?=? : (%,%) -> Boolean addMatch : (Pattern R,S,%) -> % +--R ?=? : (%,%) -> Boolean addMatch : (Pattern(R),S,%) -> % --R coerce : % -> OutputForm failed : () -> % --R failed? : % -> Boolean hash : % -> SingleInteger --R latex : % -> String new : () -> % --R union : (%,%) -> % ?~=? : (%,%) -> Boolean ---R addMatchRestricted : (Pattern R,S,%,S) -> % ---R construct : List Record(key: Symbol,entry: S) -> % ---R destruct : % -> List Record(key: Symbol,entry: S) ---R getMatch : (Pattern R,%) -> Union(S,"failed") ---R insertMatch : (Pattern R,S,%) -> % ---R satisfy? : (%,Pattern R) -> Union(Boolean,"failed") +--R addMatchRestricted : (Pattern(R),S,%,S) -> % +--R construct : List(Record(key: Symbol,entry: S)) -> % +--R destruct : % -> List(Record(key: Symbol,entry: S)) +--R getMatch : (Pattern(R),%) -> Union(S,"failed") +--R insertMatch : (Pattern(R),S,%) -> % +--R satisfy? : (%,Pattern(R)) -> Union(Boolean,"failed") --R --E 1 @@ -93853,20 +94077,21 @@ PatternMatchResult(R:SetCategory, S:SetCategory): SetCategory with --S 1 of 1 )show PendantTree ---R PendantTree S: SetCategory is a domain constructor +--R +--R PendantTree(S: SetCategory) is a domain constructor --R Abbreviation for PendantTree is PENDTREE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PENDTREE --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % coerce : % -> Tree S +--R children : % -> List(%) coerce : % -> Tree(S) --R copy : % -> % cyclic? : % -> Boolean --R distance : (%,%) -> Integer ?.right : (%,right) -> % --R ?.left : (%,left) -> % ?.value : (%,value) -> S --R empty : () -> % empty? : % -> Boolean --R eq? : (%,%) -> Boolean leaf? : % -> Boolean ---R leaves : % -> List S left : % -> % ---R map : ((S -> S),%) -> % nodes : % -> List % +--R leaves : % -> List(S) left : % -> % +--R map : ((S -> S),%) -> % nodes : % -> List(%) --R ptree : (%,%) -> % ptree : S -> % --R right : % -> % sample : () -> % --R value : % -> S @@ -93877,21 +94102,21 @@ PatternMatchResult(R:SetCategory, S:SetCategory): SetCategory with --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --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 $ has finiteAggregate and S has SETCAT ---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 @@ -94043,7 +94268,7 @@ p := coercePreimagesImages([[1,2,3],[1,2,3]]) --R --R --R (1) 1 ---R Type: Permutation PositiveInteger +--R Type: Permutation(PositiveInteger) --E 1 --S 2 of 8 @@ -94051,7 +94276,7 @@ movedPoints p -- should return {} --R --R --R (2) {} ---R Type: Set PositiveInteger +--R Type: Set(PositiveInteger) --E 2 --S 3 of 8 @@ -94067,7 +94292,7 @@ p := coercePreimagesImages([[0,1,2,3],[3,0,2,1]])$PERM ZMOD 4 --R --R --R (4) (1 0 3) ---R Type: Permutation IntegerMod 4 +--R Type: Permutation(IntegerMod(4)) --E 4 --S 5 of 8 @@ -94075,7 +94300,7 @@ fixedPoints p -- should return {2} --R --R --R (5) {2} ---R Type: Set IntegerMod 4 +--R Type: Set(IntegerMod(4)) --E 5 --S 6 of 8 @@ -94083,7 +94308,7 @@ q := coercePreimagesImages([[0,1,2,3],[1,0]])$PERM ZMOD 4 --R --R --R (6) (1 0) ---R Type: Permutation IntegerMod 4 +--R Type: Permutation(IntegerMod(4)) --E 6 --S 7 of 8 @@ -94091,7 +94316,7 @@ fixedPoints(p*q) -- should return {2,0} --R --R --R (7) {2,0} ---R Type: Set IntegerMod 4 +--R Type: Set(IntegerMod(4)) --E 7 --S 8 of 8 @@ -94612,32 +94837,35 @@ Permutation(S:SetCategory): public == private where --S 1 of 1 )show PermutationGroup ---R PermutationGroup S: SetCategory is a domain constructor +--R +--R PermutationGroup(S: SetCategory) is a domain constructor --R Abbreviation for PermutationGroup is PERMGRP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PERMGRP --R --R------------------------------- Operations -------------------------------- --R ? Boolean ?<=? : (%,%) -> Boolean ---R ?=? : (%,%) -> Boolean base : % -> List S ---R coerce : List Permutation S -> % coerce : % -> List Permutation S +--R ?=? : (%,%) -> Boolean base : % -> List(S) --R coerce : % -> OutputForm degree : % -> NonNegativeInteger --R hash : % -> SingleInteger latex : % -> String ---R movedPoints : % -> Set S orbit : (%,List S) -> Set List S ---R orbit : (%,Set S) -> Set Set S orbit : (%,S) -> Set S ---R orbits : % -> Set Set S order : % -> NonNegativeInteger ---R random : % -> Permutation S ?~=? : (%,%) -> Boolean ---R ?.? : (%,NonNegativeInteger) -> Permutation S ---R generators : % -> List Permutation S +--R movedPoints : % -> Set(S) orbit : (%,Set(S)) -> Set(Set(S)) +--R orbit : (%,S) -> Set(S) orbits : % -> Set(Set(S)) +--R order : % -> NonNegativeInteger random : % -> Permutation(S) +--R ?~=? : (%,%) -> Boolean +--R coerce : List(Permutation(S)) -> % +--R coerce : % -> List(Permutation(S)) +--R ?.? : (%,NonNegativeInteger) -> Permutation(S) +--R generators : % -> List(Permutation(S)) --R initializeGroupForWordProblem : (%,Integer,Integer) -> Void --R initializeGroupForWordProblem : % -> Void ---R member? : (Permutation S,%) -> Boolean ---R permutationGroup : List Permutation S -> % ---R random : (%,Integer) -> Permutation S ---R strongGenerators : % -> List Permutation S ---R wordInGenerators : (Permutation S,%) -> List NonNegativeInteger ---R wordInStrongGenerators : (Permutation S,%) -> List NonNegativeInteger ---R wordsForStrongGenerators : % -> List List NonNegativeInteger +--R member? : (Permutation(S),%) -> Boolean +--R orbit : (%,List(S)) -> Set(List(S)) +--R permutationGroup : List(Permutation(S)) -> % +--R random : (%,Integer) -> Permutation(S) +--R strongGenerators : % -> List(Permutation(S)) +--R wordInGenerators : (Permutation(S),%) -> List(NonNegativeInteger) +--R wordInStrongGenerators : (Permutation(S),%) -> List(NonNegativeInteger) +--R wordsForStrongGenerators : % -> List(List(NonNegativeInteger)) --R --E 1 @@ -95462,13 +95690,14 @@ PermutationGroup(S:SetCategory): public == private where --S 1 of 1 )show Pi +--R --R Pi is a domain constructor --R Abbreviation for Pi is HACKPI --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for HACKPI --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -95477,37 +95706,37 @@ PermutationGroup(S:SetCategory): public == private where --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R associates? : (%,%) -> Boolean coerce : % -> Float ---R coerce : % -> DoubleFloat coerce : Fraction Integer -> % +--R coerce : % -> DoubleFloat coerce : Fraction(Integer) -> % --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm convert : % -> InputForm --R convert : % -> DoubleFloat convert : % -> Float ---R factor : % -> Factored % gcd : List % -> % +--R factor : % -> Factored(%) gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger --R inv : % -> % latex : % -> String ---R lcm : List % -> % lcm : (%,%) -> % +--R lcm : List(%) -> % lcm : (%,%) -> % --R one? : % -> Boolean pi : () -> % --R prime? : % -> Boolean ?quo? : (%,%) -> % --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % ---R retract : % -> Fraction Integer retract : % -> Integer +--R retract : % -> Fraction(Integer) retract : % -> Integer --R sample : () -> % sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R convert : % -> Fraction SparseUnivariatePolynomial Integer +--R convert : % -> Fraction(SparseUnivariatePolynomial(Integer)) --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 retractIfCan : % -> Union(Fraction Integer,"failed") +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) +--R multiEuclidean : (List(%),%) -> Union(List(%),"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: %) @@ -95944,7 +96173,7 @@ refined:=refine(sketch,0.1) listBranches(sketch) --R --R (3) [[[0.5,- 0.5],[- 0.5,0.5]]] ---R Type: List List Point DoubleFloat +--R Type: List(List(Point(DoubleFloat))) --E 3 --S 4 of 5 @@ -96202,11 +96431,12 @@ listBranches(refined) --R [- 0.49199999999999999,0.49199999999999999], [- 0.496,0.496], --R [- 0.5,0.5]] --R ] ---R Type: List List Point DoubleFloat +--R Type: List(List(Point(DoubleFloat))) --E 4 --S 5 of 5 )show ACPLOT +--R --R PlaneAlgebraicCurvePlot is a domain constructor --R Abbreviation for PlaneAlgebraicCurvePlot is ACPLOT --R This constructor is not exposed in this frame. @@ -96214,9 +96444,10 @@ listBranches(refined) --R --R------------------------------- Operations -------------------------------- --R coerce : % -> OutputForm refine : (%,DoubleFloat) -> % ---R xRange : % -> Segment DoubleFloat yRange : % -> Segment DoubleFloat ---R listBranches : % -> List List Point DoubleFloat ---R makeSketch : (Polynomial Integer,Symbol,Symbol,Segment Fraction Integer,Segment Fraction Integer) -> % +--R listBranches : % -> List(List(Point(DoubleFloat))) +--R makeSketch : (Polynomial(Integer),Symbol,Symbol,Segment(Fraction(Integer)),Segment(Fraction(Integer))) -> % +--R xRange : % -> Segment(DoubleFloat) +--R yRange : % -> Segment(DoubleFloat) --R --E 5 @@ -97525,29 +97756,30 @@ PlaneAlgebraicCurvePlot(): PlottablePlaneCurveCategory _ --S 1 of 1 )show Places ---R Places K: Field is a domain constructor +--R +--R Places(K: Field) is a domain constructor --R Abbreviation for Places is PLACES --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PLACES --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 reduce : List % -> Divisor % +--R leaf? : % -> Boolean reduce : List(%) -> Divisor(%) --R ?~=? : (%,%) -> Boolean ---R ?+? : (%,Divisor %) -> Divisor % ---R ?+? : (Divisor %,%) -> Divisor % ---R ?-? : (%,Divisor %) -> Divisor % ---R ?-? : (Divisor %,%) -> Divisor % ---R localParam : % -> List NeitherSparseOrDensePowerSeries K +--R ?+? : (%,Divisor(%)) -> Divisor(%) +--R ?+? : (Divisor(%),%) -> Divisor(%) +--R ?-? : (%,Divisor(%)) -> Divisor(%) +--R ?-? : (Divisor(%),%) -> Divisor(%) +--R localParam : % -> List(NeitherSparseOrDensePowerSeries(K)) --R setDegree! : (%,PositiveInteger) -> Void ---R setFoundPlacesToEmpty : () -> List % ---R setParam! : (%,List NeitherSparseOrDensePowerSeries K) -> Void +--R setFoundPlacesToEmpty : () -> List(%) +--R setParam! : (%,List(NeitherSparseOrDensePowerSeries(K))) -> Void --R --E 1 @@ -97627,30 +97859,31 @@ Places(K):Exports == Implementation where --S 1 of 1 )show PlacesOverPseudoAlgebraicClosureOfFiniteField ---R PlacesOverPseudoAlgebraicClosureOfFiniteField K: FiniteFieldCategory is a domain constructor +--R +--R PlacesOverPseudoAlgebraicClosureOfFiniteField(K: FiniteFieldCategory) is a domain constructor --R Abbreviation for PlacesOverPseudoAlgebraicClosureOfFiniteField is PLACESPS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PLACESPS --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Integer,%) -> Divisor % ?+? : (%,%) -> Divisor % ---R -? : % -> Divisor % ?-? : (%,%) -> Divisor % +--R ?*? : (Integer,%) -> Divisor(%) ?+? : (%,%) -> Divisor(%) +--R -? : % -> Divisor(%) ?-? : (%,%) -> Divisor(%) --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm --R create : Symbol -> % degree : % -> PositiveInteger ---R foundPlaces : () -> List % hash : % -> SingleInteger +--R foundPlaces : () -> List(%) hash : % -> SingleInteger --R itsALeaf! : % -> Void latex : % -> String ---R leaf? : % -> Boolean reduce : List % -> Divisor % +--R leaf? : % -> Boolean reduce : List(%) -> Divisor(%) --R ?~=? : (%,%) -> Boolean ---R ?+? : (%,Divisor %) -> Divisor % ---R ?+? : (Divisor %,%) -> Divisor % ---R ?-? : (%,Divisor %) -> Divisor % ---R ?-? : (Divisor %,%) -> Divisor % ---R create : List PseudoAlgebraicClosureOfFiniteField K -> % ---R ?.? : (%,Integer) -> PseudoAlgebraicClosureOfFiniteField K ---R localParam : % -> List NeitherSparseOrDensePowerSeries PseudoAlgebraicClosureOfFiniteField K +--R ?+? : (%,Divisor(%)) -> Divisor(%) +--R ?+? : (Divisor(%),%) -> Divisor(%) +--R ?-? : (%,Divisor(%)) -> Divisor(%) +--R ?-? : (Divisor(%),%) -> Divisor(%) +--R create : List(PseudoAlgebraicClosureOfFiniteField(K)) -> % +--R ?.? : (%,Integer) -> PseudoAlgebraicClosureOfFiniteField(K) +--R localParam : % -> List(NeitherSparseOrDensePowerSeries(PseudoAlgebraicClosureOfFiniteField(K))) --R setDegree! : (%,PositiveInteger) -> Void ---R setFoundPlacesToEmpty : () -> List % ---R setParam! : (%,List NeitherSparseOrDensePowerSeries PseudoAlgebraicClosureOfFiniteField K) -> Void +--R setFoundPlacesToEmpty : () -> List(%) +--R setParam! : (%,List(NeitherSparseOrDensePowerSeries(PseudoAlgebraicClosureOfFiniteField(K)))) -> Void --R --E 1 @@ -97731,28 +97964,29 @@ PlacesOverPseudoAlgebraicClosureOfFiniteField(K):Exports --S 1 of 1 )show Plcs ---R Plcs(K: Field,PCS: LocalPowerSeriesCategory K) is a domain constructor +--R +--R Plcs(K: Field,PCS: LocalPowerSeriesCategory(K)) is a domain constructor --R Abbreviation for Plcs is PLCS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PLCS --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 @@ -98628,6 +98862,7 @@ Plot(): Exports == Implementation where --S 1 of 1 )show Plot3D +--R --R Plot3D is a domain constructor --R Abbreviation for Plot3D is PLOT3D --R This constructor is not exposed in this frame. @@ -98638,21 +98873,23 @@ Plot(): Exports == Implementation where --R debug3D : Boolean -> Boolean maxPoints3D : () -> Integer --R minPoints3D : () -> Integer numFunEvals3D : () -> Integer --R refine : % -> % screenResolution3D : () -> Integer ---R setAdaptive3D : Boolean -> Boolean tRange : % -> Segment DoubleFloat ---R xRange : % -> Segment DoubleFloat yRange : % -> Segment DoubleFloat ---R zRange : % -> Segment DoubleFloat ---R listBranches : % -> List List Point DoubleFloat ---R plot : (%,Segment DoubleFloat) -> % ---R plot : ((DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),Segment DoubleFloat,Segment DoubleFloat,Segment DoubleFloat,Segment DoubleFloat) -> % ---R plot : ((DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),Segment DoubleFloat) -> % ---R pointPlot : ((DoubleFloat -> Point DoubleFloat),Segment DoubleFloat,Segment DoubleFloat,Segment DoubleFloat,Segment DoubleFloat) -> % ---R pointPlot : ((DoubleFloat -> Point DoubleFloat),Segment DoubleFloat) -> % ---R refine : (%,Segment DoubleFloat) -> % +--R setAdaptive3D : Boolean -> Boolean +--R listBranches : % -> List(List(Point(DoubleFloat))) +--R plot : (%,Segment(DoubleFloat)) -> % +--R plot : ((DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),Segment(DoubleFloat),Segment(DoubleFloat),Segment(DoubleFloat),Segment(DoubleFloat)) -> % +--R plot : ((DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),(DoubleFloat -> DoubleFloat),Segment(DoubleFloat)) -> % +--R pointPlot : ((DoubleFloat -> Point(DoubleFloat)),Segment(DoubleFloat),Segment(DoubleFloat),Segment(DoubleFloat),Segment(DoubleFloat)) -> % +--R pointPlot : ((DoubleFloat -> Point(DoubleFloat)),Segment(DoubleFloat)) -> % +--R refine : (%,Segment(DoubleFloat)) -> % --R setMaxPoints3D : Integer -> Integer --R setMinPoints3D : Integer -> Integer --R setScreenResolution3D : Integer -> Integer ---R tValues : % -> List List DoubleFloat ---R zoom : (%,Segment DoubleFloat,Segment DoubleFloat,Segment DoubleFloat) -> % +--R tRange : % -> Segment(DoubleFloat) +--R tValues : % -> List(List(DoubleFloat)) +--R xRange : % -> Segment(DoubleFloat) +--R yRange : % -> Segment(DoubleFloat) +--R zRange : % -> Segment(DoubleFloat) +--R zoom : (%,Segment(DoubleFloat),Segment(DoubleFloat),Segment(DoubleFloat)) -> % --R --E 1 @@ -99205,7 +99442,8 @@ Plot3D(): Exports == Implementation where --S 1 of 1 )show PoincareBirkhoffWittLyndonBasis ---R PoincareBirkhoffWittLyndonBasis VarSet: OrderedSet is a domain constructor +--R +--R PoincareBirkhoffWittLyndonBasis(VarSet: OrderedSet) is a domain constructor --R Abbreviation for PoincareBirkhoffWittLyndonBasis is PBWLB --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PBWLB @@ -99214,16 +99452,16 @@ Plot3D(): Exports == Implementation where --R ? Boolean ?<=? : (%,%) -> Boolean --R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean --R ?>=? : (%,%) -> Boolean 1 : () -> % ---R coerce : VarSet -> % coerce : LyndonWord VarSet -> % ---R coerce : % -> OutputForm first : % -> LyndonWord VarSet +--R coerce : VarSet -> % coerce : LyndonWord(VarSet) -> % +--R coerce : % -> OutputForm first : % -> LyndonWord(VarSet) --R hash : % -> SingleInteger latex : % -> String --R length : % -> NonNegativeInteger max : (%,%) -> % --R min : (%,%) -> % rest : % -> % ---R retract : % -> LyndonWord VarSet retractable? : % -> Boolean ---R varList : % -> List VarSet ?~=? : (%,%) -> Boolean ---R coerce : % -> OrderedFreeMonoid VarSet ---R listOfTerms : % -> List LyndonWord VarSet ---R retractIfCan : % -> Union(LyndonWord VarSet,"failed") +--R retract : % -> LyndonWord(VarSet) retractable? : % -> Boolean +--R varList : % -> List(VarSet) ?~=? : (%,%) -> Boolean +--R coerce : % -> OrderedFreeMonoid(VarSet) +--R listOfTerms : % -> List(LyndonWord(VarSet)) +--R retractIfCan : % -> Union(LyndonWord(VarSet),"failed") --R --E 1 @@ -99396,25 +99634,26 @@ PoincareBirkhoffWittLyndonBasis(VarSet: OrderedSet): Public == Private where --S 1 of 1 )show Point ---R Point R: Ring is a domain constructor +--R +--R Point(R: Ring) is a domain constructor --R Abbreviation for Point is POINT --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for POINT --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 @@ -99430,18 +99669,18 @@ PoincareBirkhoffWittLyndonBasis(VarSet: OrderedSet): Public == Private where --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 $ has finiteAggregate and R has SETCAT --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") @@ -99455,14 +99694,14 @@ PoincareBirkhoffWittLyndonBasis(VarSet: OrderedSet): Public == Private where --R max : (%,%) -> % if R has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (R,%) -> Boolean if $ has finiteAggregate and R has SETCAT ---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 @@ -99475,7 +99714,7 @@ PoincareBirkhoffWittLyndonBasis(VarSet: OrderedSet): Public == Private where --R removeDuplicates : % -> % if $ has finiteAggregate and R has SETCAT --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 @@ -99642,7 +99881,7 @@ x + 1 --R --R --R (1) x + 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 1 --S 2 of 46 @@ -99650,7 +99889,7 @@ z - 2.3 --R --R --R (2) z - 2.3 ---R Type: Polynomial Float +--R Type: Polynomial(Float) --E 2 --S 3 of 46 @@ -99660,7 +99899,7 @@ y**2 - z + 3/4 --R 2 3 --R (3) - z + y + - --R 4 ---R Type: Polynomial Fraction Integer +--R Type: Polynomial(Fraction(Integer)) --E 3 --S 4 of 46 @@ -99669,7 +99908,7 @@ y **2 + x*y + y --R --R 2 --R (4) y + (x + 1)y ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 4 --S 5 of 46 @@ -99687,7 +99926,7 @@ p := (y-1)**2 * x * z --R --R 2 --R (6) (x y - 2x y + x)z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 6 --S 7 of 46 @@ -99695,7 +99934,7 @@ q := (y-1) * x * (z+5) --R --R --R (7) (x y - x)z + 5x y - 5x ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 7 --S 8 of 46 @@ -99703,7 +99942,7 @@ factor(q) --R --R --R (8) x(y - 1)(z + 5) ---R Type: Factored Polynomial Integer +--R Type: Factored(Polynomial(Integer)) --E 8 --S 9 of 46 @@ -99716,7 +99955,7 @@ p - q**2 --R + --R 2 2 2 2 --R - 25x y + 50x y - 25x ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 9 --S 10 of 46 @@ -99724,7 +99963,7 @@ gcd(p,q) --R --R --R (10) x y - x ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 10 --S 11 of 46 @@ -99732,7 +99971,7 @@ factor % --R --R --R (11) x(y - 1) ---R Type: Factored Polynomial Integer +--R Type: Factored(Polynomial(Integer)) --E 11 --S 12 of 46 @@ -99741,7 +99980,7 @@ lcm(p,q) --R --R 2 2 2 --R (12) (x y - 2x y + x)z + (5x y - 10x y + 5x)z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 12 --S 13 of 46 @@ -99758,7 +99997,7 @@ resultant(p,q,z) --R --R 2 3 2 2 2 2 --R (14) 5x y - 15x y + 15x y - 5x ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 14 --S 15 of 46 @@ -99766,7 +100005,7 @@ resultant(p,q,x) --R --R --R (15) 0 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 15 --S 16 of 46 @@ -99806,7 +100045,7 @@ variables p --R --R --R (20) [z,y,x] ---R Type: List Symbol +--R Type: List(Symbol) --E 20 --S 21 of 46 @@ -99838,7 +100077,7 @@ degree(p,[x,y,z]) --R --R --R (24) [1,2,1] ---R Type: List NonNegativeInteger +--R Type: List(NonNegativeInteger) --E 24 --S 25 of 46 @@ -99863,7 +100102,7 @@ leadingMonomial p --R --R 2 --R (27) x y z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 27 --S 28 of 46 @@ -99871,7 +100110,7 @@ reductum p --R --R --R (28) (- 2x y + x)z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 28 --S 29 of 46 @@ -99879,7 +100118,7 @@ p - leadingMonomial p - reductum p --R --R --R (29) 0 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 29 --S 30 of 46 @@ -99896,7 +100135,7 @@ p --R --R 2 --R (31) (x y - 2x y + x)z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 31 --S 32 of 46 @@ -99905,7 +100144,7 @@ eval(p,x,w) --R --R 2 --R (32) (w y - 2w y + w)z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 32 --S 33 of 46 @@ -99914,7 +100153,7 @@ eval(p,x,1) --R --R 2 --R (33) (y - 2y + 1)z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 33 --S 34 of 46 @@ -99923,7 +100162,7 @@ eval(p,x,y^2 - 1) --R --R 4 3 --R (34) (y - 2y + 2y - 1)z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 34 --S 35 of 46 @@ -99932,7 +100171,7 @@ D(p,x) --R --R 2 --R (35) (y - 2y + 1)z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 35 --S 36 of 46 @@ -99940,7 +100179,7 @@ D(p,y) --R --R --R (36) (2x y - 2x)z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 36 --S 37 of 46 @@ -99949,7 +100188,7 @@ D(p,z) --R --R 2 --R (37) x y - 2x y + x ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 37 --S 38 of 46 @@ -99959,7 +100198,7 @@ integrate(p,y) --R 1 3 2 --R (38) (- x y - x y + x y)z --R 3 ---R Type: Polynomial Fraction Integer +--R Type: Polynomial(Fraction(Integer)) --E 38 --S 39 of 46 @@ -99968,7 +100207,7 @@ qr := monicDivide(p,x+1,x) --R --R 2 2 --R (39) [quotient= (y - 2y + 1)z,remainder= (- y + 2y - 1)z] ---R Type: Record(quotient: Polynomial Integer,remainder: Polynomial Integer) +--R Type: Record(quotient: Polynomial(Integer),remainder: Polynomial(Integer)) --E 39 --S 40 of 46 @@ -99977,7 +100216,7 @@ qr.remainder --R --R 2 --R (40) (- y + 2y - 1)z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 40 --S 41 of 46 @@ -99985,7 +100224,7 @@ p - ((x+1) * qr.quotient + qr.remainder) --R --R --R (41) 0 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 41 --S 42 of 46 @@ -99995,7 +100234,7 @@ p/q --R (y - 1)z --R (42) -------- --R z + 5 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 42 --S 43 of 46 @@ -100005,7 +100244,7 @@ p/q --R 2 2 4 --R (43) - y + - x + - --R 3 5 ---R Type: Polynomial Fraction Integer +--R Type: Polynomial(Fraction(Integer)) --E 43 --S 44 of 46 @@ -100016,7 +100255,7 @@ p/q --R - 15y + 10x + 12 --R (44) ----------------- --R 15 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 44 --S 45 of 46 @@ -100026,7 +100265,7 @@ p/q --R 2 2 4 --R (45) - y + - x + - --R 3 5 ---R Type: Polynomial Fraction Integer +--R Type: Polynomial(Fraction(Integer)) --E 45 --S 46 of 46 @@ -100035,7 +100274,7 @@ map(numeric,%) --R --R 2 --R (46) - 1.0 y + 0.6666666666 6666666667 x + 0.8 ---R Type: Polynomial Float +--R Type: Polynomial(Float) --E 46 )spool )lisp (bye) @@ -100578,6 +100817,7 @@ Polynomial(R:Ring): --S 1 of 1 )show PolynomialIdeals +--R --R PolynomialIdeals(F: Field,Expon: OrderedAbelianMonoidSup,VarSet: OrderedSet,DPoly: PolynomialCategory(F,Expon,VarSet)) is a domain constructor --R Abbreviation for PolynomialIdeals is IDEAL --R This constructor is exposed in this frame. @@ -100585,25 +100825,25 @@ Polynomial(R:Ring): --R --R------------------------------- Operations -------------------------------- --R ?*? : (%,%) -> % ?+? : (%,%) -> % ---R ?=? : (%,%) -> Boolean coerce : List DPoly -> % +--R ?=? : (%,%) -> Boolean coerce : List(DPoly) -> % --R coerce : % -> OutputForm dimension : % -> Integer ---R element? : (DPoly,%) -> Boolean generators : % -> List DPoly +--R element? : (DPoly,%) -> Boolean generators : % -> List(DPoly) --R groebner : % -> % groebner? : % -> Boolean ---R groebnerIdeal : List DPoly -> % hash : % -> SingleInteger ---R ideal : List DPoly -> % in? : (%,%) -> Boolean ---R inRadical? : (DPoly,%) -> Boolean intersect : List % -> % +--R groebnerIdeal : List(DPoly) -> % hash : % -> SingleInteger +--R ideal : List(DPoly) -> % in? : (%,%) -> Boolean +--R inRadical? : (DPoly,%) -> Boolean intersect : List(%) -> % --R intersect : (%,%) -> % latex : % -> String --R leadingIdeal : % -> % one? : % -> Boolean --R quotient : (%,DPoly) -> % quotient : (%,%) -> % --R saturate : (%,DPoly) -> % zero? : % -> Boolean --R zeroDim? : % -> Boolean ?~=? : (%,%) -> Boolean --R ?**? : (%,NonNegativeInteger) -> % ---R backOldPos : Record(mval: Matrix F,invmval: Matrix F,genIdeal: %) -> % ---R dimension : (%,List VarSet) -> Integer ---R generalPosition : (%,List VarSet) -> Record(mval: Matrix F,invmval: Matrix F,genIdeal: %) ---R relationsIdeal : List DPoly -> SuchThat(List Polynomial F,List Equation Polynomial F) if VarSet has KONVERT SYMBOL ---R saturate : (%,DPoly,List VarSet) -> % ---R zeroDim? : (%,List VarSet) -> Boolean +--R backOldPos : Record(mval: Matrix(F),invmval: Matrix(F),genIdeal: %) -> % +--R dimension : (%,List(VarSet)) -> Integer +--R generalPosition : (%,List(VarSet)) -> Record(mval: Matrix(F),invmval: Matrix(F),genIdeal: %) +--R relationsIdeal : List(DPoly) -> SuchThat(List(Polynomial(F)),List(Equation(Polynomial(F)))) if VarSet has KONVERT(SYMBOL) +--R saturate : (%,DPoly,List(VarSet)) -> % +--R zeroDim? : (%,List(VarSet)) -> Boolean --R --E 1 @@ -101098,6 +101338,7 @@ PolynomialIdeals(F,Expon,VarSet,DPoly) : C == T --S 1 of 1 )show PolynomialRing +--R --R PolynomialRing(R: Ring,E: OrderedAbelianMonoid) is a domain constructor --R Abbreviation for PolynomialRing is PR --R This constructor is not exposed in this frame. @@ -101111,7 +101352,7 @@ PolynomialIdeals(F,Expon,VarSet,DPoly) : C == T --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 @@ -101123,8 +101364,8 @@ PolynomialIdeals(F,Expon,VarSet,DPoly) : C == T --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 @@ -101133,7 +101374,7 @@ PolynomialIdeals(F,Expon,VarSet,DPoly) : C == T --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 ALGEBRA FRAC INT or R has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT)) --R coerce : % -> % if R has INTDOM --R content : % -> R if R has GCDDOM --R exquo : (%,R) -> Union(%,"failed") if R has INTDOM @@ -101141,11 +101382,11 @@ PolynomialIdeals(F,Expon,VarSet,DPoly) : C == T --R fmecg : (%,E,R,%) -> % if E has CABMON and 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 @@ -101660,13 +101901,14 @@ PositiveInteger: Join(AbelianSemiGroup,OrderedSet,Monoid) with --S 1 of 1 )show PrimeField ---R PrimeField p: PositiveInteger is a domain constructor +--R +--R PrimeField(p: PositiveInteger) is a domain constructor --R Abbreviation for PrimeField is PF --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PF --R --R------------------------------- Operations -------------------------------- ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -101676,27 +101918,27 @@ PositiveInteger: Join(AbelianSemiGroup,OrderedSet,Monoid) with --R 1 : () -> % 0 : () -> % --R ?^? : (%,Integer) -> % ?^? : (%,PositiveInteger) -> % --R algebraic? : % -> Boolean associates? : (%,%) -> Boolean ---R basis : () -> Vector % charthRoot : % -> % ---R coerce : Fraction Integer -> % coerce : % -> % +--R basis : () -> Vector(%) charthRoot : % -> % +--R coerce : Fraction(Integer) -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R convert : % -> Integer coordinates : % -> Vector % +--R convert : % -> Integer coordinates : % -> Vector(%) --R createPrimitiveElement : () -> % degree : % -> PositiveInteger --R differentiate : % -> % dimension : () -> CardinalNumber ---R factor : % -> Factored % gcd : List % -> % +--R factor : % -> Factored(%) gcd : List(%) -> % --R gcd : (%,%) -> % hash : % -> SingleInteger --R inGroundField? : % -> Boolean index : PositiveInteger -> % --R init : () -> % inv : % -> % ---R latex : % -> String lcm : List % -> % +--R latex : % -> String lcm : List(%) -> % --R lcm : (%,%) -> % lookup : % -> PositiveInteger --R norm : % -> % one? : % -> Boolean --R order : % -> PositiveInteger prime? : % -> Boolean --R primeFrobenius : % -> % primitive? : % -> Boolean --R primitiveElement : () -> % ?quo? : (%,%) -> % --R random : () -> % recip : % -> Union(%,"failed") ---R ?rem? : (%,%) -> % represents : Vector % -> % +--R ?rem? : (%,%) -> % represents : Vector(%) -> % --R retract : % -> % sample : () -> % --R size : () -> NonNegativeInteger sizeLess? : (%,%) -> Boolean ---R squareFree : % -> Factored % squareFreePart : % -> % +--R squareFree : % -> Factored(%) squareFreePart : % -> % --R trace : % -> % transcendent? : % -> Boolean --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean @@ -101705,42 +101947,42 @@ PositiveInteger: Join(AbelianSemiGroup,OrderedSet,Monoid) with --R Frobenius : % -> % if $ has FINITE --R Frobenius : (%,NonNegativeInteger) -> % if $ has FINITE --R ?^? : (%,NonNegativeInteger) -> % ---R basis : PositiveInteger -> Vector % +--R basis : PositiveInteger -> Vector(%) --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") ---R conditionP : Matrix % -> Union(Vector %,"failed") ---R coordinates : Vector % -> Matrix % +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") +--R coordinates : Vector(%) -> Matrix(%) --R createNormalElement : () -> % if $ has FINITE ---R definingPolynomial : () -> SparseUnivariatePolynomial % ---R degree : % -> OnePointCompletion PositiveInteger +--R definingPolynomial : () -> SparseUnivariatePolynomial(%) +--R degree : % -> OnePointCompletion(PositiveInteger) --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 extensionDegree : () -> OnePointCompletion PositiveInteger +--R extensionDegree : () -> OnePointCompletion(PositiveInteger) --R extensionDegree : () -> PositiveInteger ---R factorsOfCyclicGroupSize : () -> List Record(factor: Integer,exponent: Integer) ---R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer)) +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) --R generator : () -> % if $ has FINITE ---R linearAssociatedExp : (%,SparseUnivariatePolynomial %) -> % if $ has FINITE ---R linearAssociatedLog : % -> SparseUnivariatePolynomial % if $ has FINITE ---R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial %,"failed") if $ has FINITE ---R linearAssociatedOrder : % -> SparseUnivariatePolynomial % if $ has FINITE ---R minimalPolynomial : % -> SparseUnivariatePolynomial % ---R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial % if $ has FINITE ---R multiEuclidean : (List %,%) -> Union(List %,"failed") +--R linearAssociatedExp : (%,SparseUnivariatePolynomial(%)) -> % if $ has FINITE +--R linearAssociatedLog : % -> SparseUnivariatePolynomial(%) if $ has FINITE +--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(%),"failed") if $ has FINITE +--R linearAssociatedOrder : % -> SparseUnivariatePolynomial(%) if $ has FINITE +--R minimalPolynomial : % -> SparseUnivariatePolynomial(%) +--R minimalPolynomial : (%,PositiveInteger) -> SparseUnivariatePolynomial(%) if $ has FINITE +--R multiEuclidean : (List(%),%) -> Union(List(%),"failed") --R nextItem : % -> Union(%,"failed") --R norm : (%,PositiveInteger) -> % if $ has FINITE --R normal? : % -> Boolean if $ has FINITE --R normalElement : () -> % if $ has FINITE ---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 retractIfCan : % -> Union(%,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -101906,20 +102148,21 @@ PrimeField(p:PositiveInteger): Exp == Impl where --S 1 of 1 )show PrimitiveArray ---R PrimitiveArray S: Type is a domain constructor +--R +--R PrimitiveArray(S: Type) is a domain constructor --R Abbreviation for PrimitiveArray is PRIMARR --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PRIMARR --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 : % -> % @@ -101932,17 +102175,17 @@ PrimeField(p:PositiveInteger): Exp == Impl where --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 $ has finiteAggregate and S has SETCAT --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") @@ -101954,13 +102197,13 @@ PrimeField(p:PositiveInteger): Exp == Impl where --R max : (%,%) -> % if S has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---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 @@ -101973,7 +102216,7 @@ PrimeField(p:PositiveInteger): Exp == Impl where --R removeDuplicates : % -> % if $ has finiteAggregate and S has SETCAT --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 @@ -102367,28 +102610,29 @@ Product (A:SetCategory,B:SetCategory) : C == T --S 1 of 1 )show ProjectivePlane ---R ProjectivePlane K: Field is a domain constructor +--R +--R ProjectivePlane(K: Field) is a domain constructor --R Abbreviation for ProjectivePlane is PROJPL --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PROJPL --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 @@ -102465,7 +102709,8 @@ ProjectivePlane(K):Exports == Implementation where --S 1 of 1 )show ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField ---R ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K: FiniteFieldCategory is a domain constructor +--R +--R ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K: FiniteFieldCategory) is a domain constructor --R Abbreviation for ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField is PROJPLPS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PROJPLPS @@ -102476,21 +102721,21 @@ ProjectivePlane(K):Exports == Implementation where --R hash : % -> SingleInteger homogenize : % -> % --R homogenize : (%,Integer) -> % lastNonNul : % -> Integer --R lastNonNull : % -> Integer latex : % -> String ---R orbit : % -> List % rational? : % -> Boolean +--R orbit : % -> List(%) rational? : % -> Boolean --R ?~=? : (%,%) -> Boolean ---R coerce : List PseudoAlgebraicClosureOfFiniteField K -> % ---R coerce : % -> List PseudoAlgebraicClosureOfFiniteField K +--R coerce : List(PseudoAlgebraicClosureOfFiniteField(K)) -> % +--R coerce : % -> List(PseudoAlgebraicClosureOfFiniteField(K)) --R conjugate : (%,NonNegativeInteger) -> % ---R definingField : % -> PseudoAlgebraicClosureOfFiniteField K ---R ?.? : (%,Integer) -> PseudoAlgebraicClosureOfFiniteField K ---R list : % -> List PseudoAlgebraicClosureOfFiniteField K ---R orbit : (%,NonNegativeInteger) -> List % ---R pointValue : % -> List PseudoAlgebraicClosureOfFiniteField K ---R projectivePoint : List PseudoAlgebraicClosureOfFiniteField K -> % +--R definingField : % -> PseudoAlgebraicClosureOfFiniteField(K) +--R ?.? : (%,Integer) -> PseudoAlgebraicClosureOfFiniteField(K) +--R list : % -> List(PseudoAlgebraicClosureOfFiniteField(K)) +--R orbit : (%,NonNegativeInteger) -> List(%) +--R pointValue : % -> List(PseudoAlgebraicClosureOfFiniteField(K)) +--R projectivePoint : List(PseudoAlgebraicClosureOfFiniteField(K)) -> % --R rational? : (%,NonNegativeInteger) -> Boolean ---R removeConjugate : List % -> List % ---R removeConjugate : (List %,NonNegativeInteger) -> List % ---R setelt : (%,Integer,PseudoAlgebraicClosureOfFiniteField K) -> PseudoAlgebraicClosureOfFiniteField K +--R removeConjugate : List(%) -> List(%) +--R removeConjugate : (List(%),NonNegativeInteger) -> List(%) +--R setelt : (%,Integer,PseudoAlgebraicClosureOfFiniteField(K)) -> PseudoAlgebraicClosureOfFiniteField(K) --R --E 1 @@ -102569,28 +102814,29 @@ ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K):Exp == Impl where --S 1 of 1 )show ProjectiveSpace +--R --R ProjectiveSpace(dim: NonNegativeInteger,K: Field) is a domain constructor --R Abbreviation for ProjectiveSpace is PROJSP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PROJSP --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 @@ -103121,14 +103367,15 @@ PseudoAlgebraicClosureOfAlgExtOfRationalNumber(downLevel:K):Exp == Impl where --S 1 of 1 )show PseudoAlgebraicClosureOfFiniteField ---R PseudoAlgebraicClosureOfFiniteField K: FiniteFieldCategory is a domain constructor +--R +--R PseudoAlgebraicClosureOfFiniteField(K: FiniteFieldCategory) is a domain constructor --R Abbreviation for PseudoAlgebraicClosureOfFiniteField is PACOFF --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PACOFF --R --R------------------------------- Operations -------------------------------- --R ?*? : (%,K) -> % ?*? : (K,%) -> % ---R ?*? : (Fraction Integer,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (Fraction(Integer),%) -> % ?*? : (%,Fraction(Integer)) -> % --R ?*? : (%,%) -> % ?*? : (Integer,%) -> % --R ?*? : (PositiveInteger,%) -> % ?**? : (%,Integer) -> % --R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % @@ -103139,19 +103386,19 @@ PseudoAlgebraicClosureOfAlgExtOfRationalNumber(downLevel:K):Exp == Impl where --R 0 : () -> % ?^? : (%,Integer) -> % --R ?^? : (%,PositiveInteger) -> % algebraic? : % -> Boolean --R associates? : (%,%) -> Boolean charthRoot : % -> % ---R coerce : K -> % coerce : Fraction Integer -> % +--R coerce : K -> % coerce : Fraction(Integer) -> % --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm conjugate : % -> % --R createPrimitiveElement : () -> % differentiate : % -> % --R dimension : () -> CardinalNumber 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 inGroundField? : % -> Boolean index : PositiveInteger -> % --R init : () -> % inv : % -> % ---R latex : % -> String lcm : List % -> % +--R latex : % -> String lcm : List(%) -> % --R lcm : (%,%) -> % lookup : % -> PositiveInteger ---R maxTower : List % -> % one? : % -> Boolean +--R maxTower : List(%) -> % one? : % -> Boolean --R order : % -> PositiveInteger previousTower : % -> % --R prime? : % -> Boolean primeFrobenius : % -> % --R primitive? : % -> Boolean primitiveElement : () -> % @@ -103159,10 +103406,10 @@ PseudoAlgebraicClosureOfAlgExtOfRationalNumber(downLevel:K):Exp == Impl where --R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % --R retract : % -> K sample : () -> % --R setTower! : % -> Void size : () -> NonNegativeInteger ---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) -> % @@ -103171,33 +103418,33 @@ PseudoAlgebraicClosureOfAlgExtOfRationalNumber(downLevel:K):Exp == Impl where --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") ---R conditionP : Matrix % -> Union(Vector %,"failed") ---R definingPolynomial : () -> SparseUnivariatePolynomial % ---R definingPolynomial : % -> SparseUnivariatePolynomial % ---R degree : % -> OnePointCompletion PositiveInteger +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") +--R definingPolynomial : () -> SparseUnivariatePolynomial(%) +--R definingPolynomial : % -> SparseUnivariatePolynomial(%) +--R degree : % -> OnePointCompletion(PositiveInteger) --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 extensionDegree : () -> OnePointCompletion PositiveInteger ---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 extensionDegree : () -> OnePointCompletion(PositiveInteger) +--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 retractIfCan : % -> Union(K,"failed") --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -103660,77 +103907,78 @@ PseudoAlgebraicClosureOfFiniteField(K):Exports == Implementation where --S 1 of 1 )show PseudoAlgebraicClosureOfRationalNumber +--R --R PseudoAlgebraicClosureOfRationalNumber is a domain constructor --R Abbreviation for PseudoAlgebraicClosureOfRationalNumber is PACRAT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for PACRAT --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 %,SparseUnivariatePolynomial %,PositiveInteger,%,Symbol) -> % ---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(%),SparseUnivariatePolynomial(%),PositiveInteger,%,Symbol) -> % +--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 @@ -104255,6 +104503,7 @@ QuadraticForm(n, K): T == Impl where --S 1 of 1 )show QuasiAlgebraicSet +--R --R QuasiAlgebraicSet(R: GcdDomain,Var: OrderedSet,Expon: OrderedAbelianMonoidSup,Dpoly: PolynomialCategory(R,Expon,Var)) is a domain constructor --R Abbreviation for QuasiAlgebraicSet is QALGSET --R This constructor is not exposed in this frame. @@ -104266,8 +104515,8 @@ QuadraticForm(n, K): T == Impl where --R empty? : % -> Boolean hash : % -> SingleInteger --R idealSimplify : % -> % latex : % -> String --R ?~=? : (%,%) -> Boolean ---R definingEquations : % -> List Dpoly ---R quasiAlgebraicSet : (List Dpoly,Dpoly) -> % +--R definingEquations : % -> List(Dpoly) +--R quasiAlgebraicSet : (List(Dpoly),Dpoly) -> % --R setStatus : (%,Union(Boolean,"failed")) -> % --R simplify : % -> % if R has CHARZ and R has EUCDOM --R status : % -> Union(Boolean,"failed") @@ -104517,7 +104766,7 @@ q := quatern(2/11,-8,3/4,1) --R 2 3 --R (1) -- - 8i + - j + k --R 11 4 ---R Type: Quaternion Fraction Integer +--R Type: Quaternion(Fraction(Integer)) --E 1 --S 2 of 13 @@ -104527,7 +104776,7 @@ q := quatern(2/11,-8,3/4,1) --R 2 3 --R (2) [--,- 8,-,1] --R 11 4 ---R Type: List Fraction Integer +--R Type: List(Fraction(Integer)) --E 2 --S 3 of 13 @@ -104537,7 +104786,7 @@ inv q --R 352 15488 484 1936 --R (3) ------ + ------ i - ----- j - ------ k --R 126993 126993 42331 126993 ---R Type: Quaternion Fraction Integer +--R Type: Quaternion(Fraction(Integer)) --E 3 --S 4 of 13 @@ -104547,7 +104796,7 @@ q^6 --R 2029490709319345 48251690851 144755072553 48251690851 --R (4) - ---------------- - ----------- i + ------------ j + ----------- k --R 7256313856 1288408 41229056 10307264 ---R Type: Quaternion Fraction Integer +--R Type: Quaternion(Fraction(Integer)) --E 4 --S 5 of 13 @@ -104557,7 +104806,7 @@ r := quatern(-2,3,23/9,-89); q + r --R 20 119 --R (5) - -- - 5i + --- j - 88k --R 11 36 ---R Type: Quaternion Fraction Integer +--R Type: Quaternion(Fraction(Integer)) --E 5 --S 6 of 13 @@ -104567,7 +104816,7 @@ q * r - r * q --R 2495 817 --R (6) - ---- i - 1418j - --- k --R 18 18 ---R Type: Quaternion Fraction Integer +--R Type: Quaternion(Fraction(Integer)) --E 6 --S 7 of 13 @@ -104575,7 +104824,7 @@ i:=quatern(0,1,0,0) --R --R --R (7) i ---R Type: Quaternion Integer +--R Type: Quaternion(Integer) --E 7 --S 8 of 13 @@ -104583,7 +104832,7 @@ j:=quatern(0,0,1,0) --R --R --R (8) j ---R Type: Quaternion Integer +--R Type: Quaternion(Integer) --E 8 --S 9 of 13 @@ -104591,7 +104840,7 @@ k:=quatern(0,0,0,1) --R --R --R (9) k ---R Type: Quaternion Integer +--R Type: Quaternion(Integer) --E 9 --S 10 of 13 @@ -104601,7 +104850,7 @@ k:=quatern(0,0,0,1) --R 2 3 --R (10) [- 1,- 1,- 1,k,i,j,8 + -- i + j - - k] --R 11 4 ---R Type: List Quaternion Fraction Integer +--R Type: List(Quaternion(Fraction(Integer))) --E 10 --S 11 of 13 @@ -104611,7 +104860,7 @@ norm q --R 126993 --R (11) ------ --R 1936 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 11 --S 12 of 13 @@ -104621,7 +104870,7 @@ conjugate q --R 2 3 --R (12) -- + 8i - - j - k --R 11 4 ---R Type: Quaternion Fraction Integer +--R Type: Quaternion(Fraction(Integer)) --E 12 --S 13 of 13 @@ -104631,7 +104880,7 @@ q * % --R 126993 --R (13) ------ --R 1936 ---R Type: Quaternion Fraction Integer +--R Type: Quaternion(Fraction(Integer)) --E 13 )spool )lisp (bye) @@ -104939,7 +105188,7 @@ a:Queue INT:= queue [1,2,3,4,5] --R --R --R (1) [1,2,3,4,5] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 1 --S 2 of 46 @@ -104955,7 +105204,7 @@ a --R --R --R (3) [2,3,4,5] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 3 --S 4 of 46 @@ -104971,7 +105220,7 @@ a --R --R --R (5) [3,4,5] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 5 --S 6 of 46 @@ -104987,7 +105236,7 @@ a --R --R --R (7) [3,4,5,9] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 7 --S 8 of 46 @@ -104995,7 +105244,7 @@ insert!(8,a) --R --R --R (8) [3,4,5,9,8] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 8 --S 9 of 46 @@ -105003,7 +105252,7 @@ a --R --R --R (9) [3,4,5,9,8] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 9 --S 10 of 46 @@ -105043,7 +105292,7 @@ rotate! a --R --R --R (14) [4,5,9,8,3] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 14 --S 15 of 46 @@ -105099,7 +105348,7 @@ parts a --R --R --R (21) [4,5,9,8,3] ---R Type: List Integer +--R Type: List(Integer) --E 21 --S 22 of 46 @@ -105107,7 +105356,7 @@ bag([1,2,3,4,5])$Queue(INT) --R --R --R (22) [1,2,3,4,5] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 22 --S 23 of 46 @@ -105115,7 +105364,7 @@ b:=empty()$(Queue INT) --R --R --R (23) [] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 23 --S 24 of 46 @@ -105131,7 +105380,7 @@ sample()$Queue(INT) --R --R --R (25) [] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 25 --S 26 of 46 @@ -105139,7 +105388,7 @@ c:=copy a --R --R --R (26) [4,5,9,8,3] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 26 --S 27 of 46 @@ -105227,7 +105476,7 @@ map(x+->x+10,a) --R --R --R (37) [14,15,19,18,13] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 37 --S 38 of 46 @@ -105235,7 +105484,7 @@ a --R --R --R (38) [4,5,9,8,3] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 38 --S 39 of 46 @@ -105243,7 +105492,7 @@ map!(x+->x+10,a) --R --R --R (39) [14,15,19,18,13] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 39 --S 40 of 46 @@ -105251,7 +105500,7 @@ a --R --R --R (40) [14,15,19,18,13] ---R Type: Queue Integer +--R Type: Queue(Integer) --E 40 --S 41 of 46 @@ -105259,7 +105508,7 @@ members a --R --R --R (41) [14,15,19,18,13] ---R Type: List Integer +--R Type: List(Integer) --E 41 --S 42 of 46 @@ -105297,20 +105546,20 @@ latex a --S 46 of 46 )show Queue --R ---R Queue S: SetCategory is a domain constructor +--R Queue(S: SetCategory) is a domain constructor --R Abbreviation for Queue is QUEUE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for QUEUE --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 --R extract! : % -> S front : % -> S --R insert! : (S,%) -> % inspect : % -> S --R length : % -> NonNegativeInteger map : ((S -> S),%) -> % ---R queue : List S -> % rotate! : % -> % +--R queue : List(S) -> % rotate! : % -> % --R sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?=? : (%,%) -> Boolean if S has SETCAT @@ -105318,19 +105567,19 @@ latex a --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --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 $ has finiteAggregate and S has SETCAT ---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 @@ -105840,160 +106089,162 @@ Queue(S:SetCategory): QueueAggregate S with --S 1 of 1 )show RadicalFunctionField ---R RadicalFunctionField(F: UniqueFactorizationDomain,UP: UnivariatePolynomialCategory F,UPUP: UnivariatePolynomialCategory Fraction UP,radicnd: Fraction UP,n: NonNegativeInteger) is a domain constructor +--R +--R RadicalFunctionField(F: UniqueFactorizationDomain,UP: UnivariatePolynomialCategory(F),UPUP: UnivariatePolynomialCategory(Fraction(UP)),radicnd: Fraction(UP),n: NonNegativeInteger) is a domain constructor --R Abbreviation for RadicalFunctionField is RADFF --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for RADFF --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 Fraction UP has DIFRING and Fraction UP has FIELD or Fraction UP has FFIELDC ---R D : (%,NonNegativeInteger) -> % if Fraction UP has DIFRING and Fraction UP has FIELD or Fraction UP has FFIELDC ---R D : (%,Symbol) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R D : (%,List Symbol) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---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 Fraction(UP) has DIFRING and Fraction(UP) has FIELD or Fraction(UP) has FFIELDC +--R D : (%,NonNegativeInteger) -> % if Fraction(UP) has DIFRING and Fraction(UP) has FIELD or Fraction(UP) has FFIELDC +--R D : (%,Symbol) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--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 Fraction UP has DIFRING and Fraction UP has FIELD or Fraction UP has FFIELDC ---R differentiate : (%,NonNegativeInteger) -> % if Fraction UP has DIFRING and Fraction UP has FIELD or Fraction UP has FFIELDC ---R differentiate : (%,Symbol) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Fraction UP has FIELD and Fraction UP has PDRING SYMBOL +--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 Fraction(UP) has DIFRING and Fraction(UP) has FIELD or Fraction(UP) has FFIELDC +--R differentiate : (%,NonNegativeInteger) -> % if Fraction(UP) has DIFRING and Fraction(UP) has FIELD or Fraction(UP) has FFIELDC +--R differentiate : (%,Symbol) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Fraction(UP) has FIELD and Fraction(UP) has PDRING(SYMBOL) --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 @@ -106355,7 +106606,7 @@ RadicalFunctionField(F, UP, UPUP, radicnd, n): Exports == Impl where --R --R --R (1) 421 ---R Type: RadixExpansion 5 +--R Type: RadixExpansion(5) --E 1 --S 2 of 17 @@ -106364,7 +106615,7 @@ RadicalFunctionField(F, UP, UPUP, radicnd, n): Exports == Impl where --R --R __ --R (2) 0.00110 ---R Type: RadixExpansion 2 +--R Type: RadixExpansion(2) --E 2 --S 3 of 17 @@ -106373,7 +106624,7 @@ RadicalFunctionField(F, UP, UPUP, radicnd, n): Exports == Impl where --R --R __ --R (3) 0.012 ---R Type: RadixExpansion 3 +--R Type: RadixExpansion(3) --E 3 --S 4 of 17 @@ -106382,7 +106633,7 @@ RadicalFunctionField(F, UP, UPUP, radicnd, n): Exports == Impl where --R --R __ --R (4) 0.152 ---R Type: RadixExpansion 8 +--R Type: RadixExpansion(8) --E 4 --S 5 of 17 @@ -106391,7 +106642,7 @@ RadicalFunctionField(F, UP, UPUP, radicnd, n): Exports == Impl where --R --R _ --R (5) 0.2083 ---R Type: RadixExpansion 10 +--R Type: RadixExpansion(10) --E 5 --S 6 of 17 @@ -106399,7 +106650,7 @@ RadicalFunctionField(F, UP, UPUP, radicnd, n): Exports == Impl where --R --R --R (6) 0.26 ---R Type: RadixExpansion 12 +--R Type: RadixExpansion(12) --E 6 --S 7 of 17 @@ -106408,7 +106659,7 @@ RadicalFunctionField(F, UP, UPUP, radicnd, n): Exports == Impl where --R --R _ --R (7) 0.35 ---R Type: RadixExpansion 16 +--R Type: RadixExpansion(16) --E 7 --S 8 of 17 @@ -106416,7 +106667,7 @@ RadicalFunctionField(F, UP, UPUP, radicnd, n): Exports == Impl where --R --R --R (8) 0.7I ---R Type: RadixExpansion 36 +--R Type: RadixExpansion(36) --E 8 --S 9 of 17 @@ -106425,7 +106676,7 @@ RadicalFunctionField(F, UP, UPUP, radicnd, n): Exports == Impl where --R --R _____ --R (9) 0 . 7 34 31 25 12 ---R Type: RadixExpansion 38 +--R Type: RadixExpansion(38) --E 9 --S 10 of 17 @@ -106434,7 +106685,7 @@ a := (76543/210)::RadixExpansion(8) --R --R ____ --R (10) 554.37307 ---R Type: RadixExpansion 8 +--R Type: RadixExpansion(8) --E 10 --S 11 of 17 @@ -106442,7 +106693,7 @@ w := wholeRagits a --R --R --R (11) [5,5,4] ---R Type: List Integer +--R Type: List(Integer) --E 11 --S 12 of 17 @@ -106450,7 +106701,7 @@ f0 := prefixRagits a --R --R --R (12) [3] ---R Type: List Integer +--R Type: List(Integer) --E 12 --S 13 of 17 @@ -106458,7 +106709,7 @@ f1 := cycleRagits a --R --R --R (13) [7,3,0,7] ---R Type: List Integer +--R Type: List(Integer) --E 13 --S 14 of 17 @@ -106467,7 +106718,7 @@ u:RadixExpansion(8):=wholeRadix(w)+fractRadix(f0,f1) --R --R ____ --R (14) 554.37307 ---R Type: RadixExpansion 8 +--R Type: RadixExpansion(8) --E 14 --S 15 of 17 @@ -106476,7 +106727,7 @@ v: RadixExpansion(12) := fractRadix([1,2,3,11], [0]) --R --R _ --R (15) 0.123B0 ---R Type: RadixExpansion 12 +--R Type: RadixExpansion(12) --E 15 --S 16 of 17 @@ -106485,7 +106736,7 @@ fractRagits(u) --R --R _______ --R (16) [3,7,3,0,7,7] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 16 --S 17 of 17 @@ -106495,7 +106746,7 @@ a :: Fraction(Integer) --R 76543 --R (17) ----- --R 210 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 17 )spool )lisp (bye) @@ -107025,30 +107276,31 @@ depending on several "real roots". Ran := RECLOS(FRAC INT) --R --R ---R (1) RealClosure Fraction Integer +--R (1) RealClosure(Fraction(Integer)) --R Type: Domain --E 1 --S 2 of 67 fourSquares(a:Ran,b:Ran,c:Ran,d:Ran):Ran==sqrt(a)+sqrt(b)-sqrt(c)-sqrt(d) --R ---R Function declaration fourSquares : (RealClosure Fraction Integer, ---R RealClosure Fraction Integer,RealClosure Fraction Integer, ---R RealClosure Fraction Integer) -> RealClosure Fraction Integer has ---R been added to workspace. +--R Function declaration fourSquares : (RealClosure(Fraction(Integer)), +--R RealClosure(Fraction(Integer)),RealClosure(Fraction(Integer)), +--R RealClosure(Fraction(Integer))) -> RealClosure(Fraction(Integer)) +--R has been added to workspace. --R Type: Void --E 2 --S 3 of 67 squareDiff1 := fourSquares(73,548,60,586) --R ---R Compiling function fourSquares with type (RealClosure Fraction ---R Integer,RealClosure Fraction Integer,RealClosure Fraction Integer ---R ,RealClosure Fraction Integer) -> RealClosure Fraction Integer +--R Compiling function fourSquares with type (RealClosure(Fraction( +--R Integer)),RealClosure(Fraction(Integer)),RealClosure(Fraction( +--R Integer)),RealClosure(Fraction(Integer))) -> RealClosure(Fraction +--R (Integer)) --R --R +---+ +--+ +---+ +--+ --R (3) - \|586 - \|60 + \|548 + \|73 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 3 --S 4 of 67 @@ -107061,7 +107313,7 @@ recip(squareDiff1) --R + --R +--+ +---+ +--+ +---+ +--+ --R (154702\|73 \|548 + 30941947)\|60 + 10238421\|548 + 28051871\|73 ---R Type: Union(RealClosure Fraction Integer,...) +--R Type: Union(RealClosure(Fraction(Integer)),...) --E 4 --S 5 of 67 @@ -107078,7 +107330,7 @@ squareDiff2 := fourSquares(165,778,86,990) --R --R +---+ +--+ +---+ +---+ --R (6) - \|990 - \|86 + \|778 + \|165 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 6 --S 7 of 67 @@ -107094,7 +107346,7 @@ recip(squareDiff2) --R + --R +---+ +---+ +--+ +---+ +---+ --R (1363822\|165 \|778 + 488640503)\|86 + 162460913\|778 + 352774119\|165 ---R Type: Union(RealClosure Fraction Integer,...) +--R Type: Union(RealClosure(Fraction(Integer)),...) --E 7 --S 8 of 67 @@ -107111,7 +107363,7 @@ squareDiff3 := fourSquares(217,708,226,692) --R --R +---+ +---+ +---+ +---+ --R (9) - \|692 - \|226 + \|708 + \|217 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 9 --S 10 of 67 @@ -107124,7 +107376,7 @@ recip(squareDiff3) --R + --R +---+ +---+ +---+ +---+ +---+ --R (- 60898\|217 \|708 - 23869841)\|226 - 13486123\|708 - 24359809\|217 ---R Type: Union(RealClosure Fraction Integer,...) +--R Type: Union(RealClosure(Fraction(Integer)),...) --E 10 --S 11 of 67 @@ -107141,7 +107393,7 @@ squareDiff4 := fourSquares(155,836,162,820) --R --R +---+ +---+ +---+ +---+ --R (12) - \|820 - \|162 + \|836 + \|155 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 12 --S 13 of 67 @@ -107154,7 +107406,7 @@ recip(squareDiff4) --R + --R +---+ +---+ +---+ +---+ +---+ --R (- 85282\|155 \|836 - 30699151)\|162 - 13513901\|836 - 31384703\|155 ---R Type: Union(RealClosure Fraction Integer,...) +--R Type: Union(RealClosure(Fraction(Integer)),...) --E 13 --S 14 of 67 @@ -107171,7 +107423,7 @@ squareDiff5 := fourSquares(591,772,552,818) --R --R +---+ +---+ +---+ +---+ --R (15) - \|818 - \|552 + \|772 + \|591 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 15 --S 16 of 67 @@ -107184,7 +107436,7 @@ recip(squareDiff5) --R + --R +---+ +---+ +---+ +---+ +---+ --R (83438\|591 \|772 + 56359389)\|552 + 47657051\|772 + 54468081\|591 ---R Type: Union(RealClosure Fraction Integer,...) +--R Type: Union(RealClosure(Fraction(Integer)),...) --E 16 --S 17 of 67 @@ -107201,7 +107453,7 @@ squareDiff6 := fourSquares(434,1053,412,1088) --R --R +----+ +---+ +----+ +---+ --R (18) - \|1088 - \|412 + \|1053 + \|434 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 18 --S 19 of 67 @@ -107217,7 +107469,7 @@ recip(squareDiff6) --R + --R +---+ +----+ +---+ +----+ +---+ --R (182782\|434 \|1053 + 123564147)\|412 + 77290639\|1053 + 120391609\|434 ---R Type: Union(RealClosure Fraction Integer,...) +--R Type: Union(RealClosure(Fraction(Integer)),...) --E 19 --S 20 of 67 @@ -107234,7 +107486,7 @@ squareDiff7 := fourSquares(514,1049,446,1152) --R --R +----+ +---+ +----+ +---+ --R (21) - \|1152 - \|446 + \|1049 + \|514 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 21 --S 22 of 67 @@ -107250,7 +107502,7 @@ recip(squareDiff7) --R + --R +---+ +----+ +---+ +----+ +---+ --R (523262\|514 \|1049 + 384227549)\|446 + 250534873\|1049 + 357910443\|514 ---R Type: Union(RealClosure Fraction Integer,...) +--R Type: Union(RealClosure(Fraction(Integer)),...) --E 22 --S 23 of 67 @@ -107267,7 +107519,7 @@ squareDiff8 := fourSquares(190,1751,208,1698) --R --R +----+ +---+ +----+ +---+ --R (24) - \|1698 - \|208 + \|1751 + \|190 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 24 --S 25 of 67 @@ -107288,7 +107540,7 @@ recip(squareDiff8) --R + --R +---+ --R - 387349387\|190 ---R Type: Union(RealClosure Fraction Integer,...) +--R Type: Union(RealClosure(Fraction(Integer)),...) --E 25 --S 26 of 67 @@ -107312,7 +107564,7 @@ l := allRootsOf((x**2-2)**2-2)$Ran --R --R --R (28) [%A33,%A34,%A35,%A36] ---R Type: List RealClosure Fraction Integer +--R Type: List(RealClosure(Fraction(Integer))) --E 28 --S 29 of 67 @@ -107321,7 +107573,7 @@ removeDuplicates map(mainDefiningPolynomial,l) --R --R 4 2 --R (29) [? - 4? + 2] ---RType: List Union(SparseUnivariatePolynomial RealClosure Fraction Integer,"failed") +--RType: List(Union(SparseUnivariatePolynomial(RealClosure(Fraction(Integer))),"failed")) --E 29 --S 30 of 67 @@ -107329,7 +107581,7 @@ map(mainCharacterization,l) --R --R --R (30) [[- 2,- 1[,[- 1,0[,[0,1[,[1,2[] ---RType: List Union(RightOpenIntervalRootCharacterization(RealClosure Fraction Integer,SparseUnivariatePolynomial RealClosure Fraction Integer),"failed") +--IType: List(Union(RightOpenIntervalRootCharacterization(... --E 30 --S 31 of 67 @@ -107337,7 +107589,7 @@ map(mainCharacterization,l) --R --R --R (31) [0,0] ---R Type: List RealClosure Fraction Integer +--R Type: List(RealClosure(Fraction(Integer))) --E 31 --S 32 of 67 @@ -107346,7 +107598,7 @@ map(mainCharacterization,l) --R --R +--+ --R (32) \|10 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 32 --S 33 of 67 @@ -107356,7 +107608,7 @@ eq1:=sqrt(s10+3)*sqrt(s5+2) - sqrt(s10-3)*sqrt(s5-2) = sqrt(10*s2+10) --R +---------+ +--------+ +---------+ +--------+ +-----------+ --R | +--+ | +-+ | +--+ | +-+ | +-+ --R (33) - \|\|10 - 3 \|\|5 - 2 + \|\|10 + 3 \|\|5 + 2 = \|10\|2 + 10 ---R Type: Equation RealClosure Fraction Integer +--R Type: Equation(RealClosure(Fraction(Integer))) --E 33 --S 34 of 67 @@ -107374,7 +107626,7 @@ eq2:=sqrt(s5+2)*sqrt(s2+1) - sqrt(s5-2)*sqrt(s2-1) = sqrt(2*s10+2) --R +--------+ +--------+ +--------+ +--------+ +----------+ --R | +-+ | +-+ | +-+ | +-+ | +--+ --R (35) - \|\|5 - 2 \|\|2 - 1 + \|\|5 + 2 \|\|2 + 1 = \|2\|10 + 2 ---R Type: Equation RealClosure Fraction Integer +--R Type: Equation(RealClosure(Fraction(Integer))) --E 35 --S 36 of 67 @@ -107391,7 +107643,7 @@ s3 := sqrt(3)$Ran --R --R +-+ --R (37) \|3 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 37 --S 38 of 67 @@ -107400,7 +107652,7 @@ s7:= sqrt(7)$Ran --R --R +-+ --R (38) \|7 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 38 --S 39 of 67 @@ -107410,7 +107662,7 @@ e1 := sqrt(2*s7-3*s3,3) --R +-------------+ --R 3| +-+ +-+ --R (39) \|2\|7 - 3\|3 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 39 --S 40 of 67 @@ -107420,7 +107672,7 @@ e2 := sqrt(2*s7+3*s3,3) --R +-------------+ --R 3| +-+ +-+ --R (40) \|2\|7 + 3\|3 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 40 --S 41 of 67 @@ -107428,7 +107680,7 @@ e2-e1-s3 --R --R --R (41) 0 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 41 --S 42 of 67 @@ -107438,7 +107690,7 @@ pol : UP(x,Ran) := x**4+(7/3)*x**2+30*x-(100/3) --R 4 7 2 100 --R (42) x + - x + 30x - --- --R 3 3 ---R Type: UnivariatePolynomial(x,RealClosure Fraction Integer) +--R Type: UnivariatePolynomial(x,RealClosure(Fraction(Integer))) --E 42 --S 43 of 67 @@ -107447,7 +107699,7 @@ r1 := sqrt(7633)$Ran --R --R +----+ --R (43) \|7633 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 43 --S 44 of 67 @@ -107458,7 +107710,7 @@ alpha := sqrt(5*r1-436,3)/3 --R 1 3| +----+ --R (44) - \|5\|7633 - 436 --R 3 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 44 --S 45 of 67 @@ -107469,7 +107721,7 @@ beta := -sqrt(5*r1+436,3)/3 --R 1 3| +----+ --R (45) - - \|5\|7633 + 436 --R 3 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 45 --S 46 of 67 @@ -107477,7 +107729,7 @@ pol.(alpha+beta-1/3) --R --R --R (46) 0 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 46 --S 47 of 67 @@ -107486,7 +107738,7 @@ qol : UP(x,Ran) := x**5+10*x**3+20*x+22 --R --R 5 3 --R (47) x + 10x + 20x + 22 ---R Type: UnivariatePolynomial(x,RealClosure Fraction Integer) +--R Type: UnivariatePolynomial(x,RealClosure(Fraction(Integer))) --E 47 --S 48 of 67 @@ -107495,7 +107747,7 @@ r2 := sqrt(153)$Ran --R --R +---+ --R (48) \|153 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 48 --S 49 of 67 @@ -107505,7 +107757,7 @@ alpha2 := sqrt(r2-11,5) --R +-----------+ --R 5| +---+ --R (49) \|\|153 - 11 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 49 --S 50 of 67 @@ -107515,7 +107767,7 @@ beta2 := -sqrt(r2+11,5) --R +-----------+ --R 5| +---+ --R (50) - \|\|153 + 11 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 50 --S 51 of 67 @@ -107523,7 +107775,7 @@ qol(alpha2+beta2) --R --R --R (51) 0 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 51 --S 52 of 67 @@ -107533,7 +107785,7 @@ dst1:=sqrt(9+4*s2)=1+2*s2 --R +---------+ --R | +-+ +-+ --R (52) \|4\|2 + 9 = 2\|2 + 1 ---R Type: Equation RealClosure Fraction Integer +--R Type: Equation(RealClosure(Fraction(Integer))) --E 52 --S 53 of 67 @@ -107550,7 +107802,7 @@ s6:Ran:=sqrt 6 --R --R +-+ --R (54) \|6 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 54 --S 55 of 67 @@ -107560,7 +107812,7 @@ dst2:=sqrt(5+2*s6)+sqrt(5-2*s6) = 2*s3 --R +-----------+ +---------+ --R | +-+ | +-+ +-+ --R (55) \|- 2\|6 + 5 + \|2\|6 + 5 = 2\|3 ---R Type: Equation RealClosure Fraction Integer +--R Type: Equation(RealClosure(Fraction(Integer))) --E 55 --S 56 of 67 @@ -107577,7 +107829,7 @@ s29:Ran:=sqrt 29 --R --R +--+ --R (57) \|29 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 57 --S 58 of 67 @@ -107589,7 +107841,7 @@ dst4:=sqrt(16-2*s29+2*sqrt(55-10*s29)) = sqrt(22+2*s5)-sqrt(11+2*s29)+s5 --R | +--------------+ +-----------+ +----------+ --R | | +--+ +--+ | +--+ | +-+ +-+ --R \|2\|- 10\|29 + 55 - 2\|29 + 16 = - \|2\|29 + 11 + \|2\|5 + 22 + \|5 ---R Type: Equation RealClosure Fraction Integer +--R Type: Equation(RealClosure(Fraction(Integer))) --E 58 --S 59 of 67 @@ -107607,7 +107859,7 @@ dst6:=sqrt((112+70*s2)+(46+34*s2)*s5) = (5+4*s2)+(3+s2)*s5 --R +--------------------------------+ --R | +-+ +-+ +-+ +-+ +-+ +-+ --R (60) \|(34\|2 + 46)\|5 + 70\|2 + 112 = (\|2 + 3)\|5 + 4\|2 + 5 ---R Type: Equation RealClosure Fraction Integer +--R Type: Equation(RealClosure(Fraction(Integer))) --E 60 --S 61 of 67 @@ -107624,7 +107876,7 @@ f3:Ran:=sqrt(3,5) --R --R 5+-+ --R (62) \|3 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 62 --S 63 of 67 @@ -107635,7 +107887,7 @@ f25:Ran:=sqrt(1/25,5) --R | 1 --R (63) 5|-- --R \|25 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 63 --S 64 of 67 @@ -107646,7 +107898,7 @@ f32:Ran:=sqrt(32/5,5) --R |32 --R (64) 5|-- --R \| 5 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 64 --S 65 of 67 @@ -107657,7 +107909,7 @@ f27:Ran:=sqrt(27/5,5) --R |27 --R (65) 5|-- --R \| 5 ---R Type: RealClosure Fraction Integer +--R Type: RealClosure(Fraction(Integer)) --E 65 --S 66 of 67 @@ -107669,7 +107921,7 @@ dst5:=sqrt((f32-f27,3)) = f25*(1+f3-f3**2) --R | |27 |32 5+-+2 5+-+ | 1 --R (66) 3|- 5|-- + 5|-- = (- \|3 + \|3 + 1) 5|-- --R \| \| 5 \| 5 \|25 ---R Type: Equation RealClosure Fraction Integer +--R Type: Equation(RealClosure(Fraction(Integer))) --E 66 --S 67 of 67 @@ -108599,6 +108851,7 @@ RealClosure(TheField): PUB == PRIV where --S 1 of 1 )show RectangularMatrix +--R --R RectangularMatrix(m: NonNegativeInteger,n: NonNegativeInteger,R: Ring) is a domain constructor --R Abbreviation for RectangularMatrix is RMATRIX --R This constructor is not exposed in this frame. @@ -108610,44 +108863,45 @@ RealClosure(TheField): PUB == PRIV where --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean --R 0 : () -> % antisymmetric? : % -> Boolean ---R coerce : % -> Matrix R coerce : % -> OutputForm +--R coerce : % -> Matrix(R) coerce : % -> OutputForm --R copy : % -> % diagonal? : % -> Boolean --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 ---R rectangularMatrix : Matrix R -> % sample : () -> % ---R square? : % -> Boolean symmetric? : % -> Boolean ---R zero? : % -> Boolean ?~=? : (%,%) -> Boolean +--R sample : () -> % square? : % -> Boolean +--R symmetric? : % -> Boolean zero? : % -> Boolean +--R ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?*? : (NonNegativeInteger,%) -> % --R ?/? : (%,R) -> % if R has FIELD --R any? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate --R column : (%,Integer) -> DirectProduct(m,R) ---R convert : % -> InputForm if R has KONVERT INFORM +--R convert : % -> InputForm if R has KONVERT(INFORM) --R count : ((R -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (R,%) -> NonNegativeInteger if $ has finiteAggregate and R has SETCAT --R dimension : () -> CardinalNumber if R has FIELD ---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 $ has finiteAggregate and R has SETCAT ---R members : % -> List R if $ has finiteAggregate +--R members : % -> List(R) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R nullSpace : % -> List DirectProduct(m,R) if R has INTDOM +--R nullSpace : % -> List(DirectProduct(m,R)) 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 rectangularMatrix : Matrix(R) -> % --R row : (%,Integer) -> DirectProduct(n,R) --R rowEchelon : % -> % if R has EUCDOM --R size? : (%,NonNegativeInteger) -> Boolean @@ -108843,7 +109097,8 @@ RectangularMatrix(m,n,R): Exports == Implementation where --S 1 of 1 )show Reference ---R Reference S: Type is a domain constructor +--R +--R Reference(S: Type) is a domain constructor --R Abbreviation for Reference is REF --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for REF @@ -108959,7 +109214,8 @@ Reference(S:Type): Type with --S 1 of 1 )show RegularChain ---R RegularChain(R: GcdDomain,ls: List Symbol) is a domain constructor +--R +--R RegularChain(R: GcdDomain,ls: List(Symbol)) is a domain constructor --R Abbreviation for RegularChain is RGCHAIN --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for RGCHAIN @@ -108976,106 +109232,106 @@ Reference(S:Type): Type with --R sample : () -> % stronglyReduced? : % -> Boolean --R trivialIdeal? : % -> Boolean ?~=? : (%,%) -> Boolean --R #? : % -> NonNegativeInteger if $ has finiteAggregate ---R algebraic? : (OrderedVariableList ls,%) -> Boolean ---R algebraicCoefficients? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Boolean ---R algebraicVariables : % -> List OrderedVariableList ls ---R any? : ((NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> Boolean),%) -> Boolean if $ has finiteAggregate ---R augment : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),List %) -> List % ---R augment : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List % ---R augment : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),List %) -> List % ---R augment : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List % ---R autoReduced? : (%,((NewSparseMultivariatePolynomial(R,OrderedVariableList ls),List NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> Boolean)) -> Boolean ---R basicSet : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),(NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> Boolean),((NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> Boolean)) -> Union(Record(bas: %,top: List NewSparseMultivariatePolynomial(R,OrderedVariableList ls)),"failed") ---R basicSet : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),((NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> Boolean)) -> Union(Record(bas: %,top: List NewSparseMultivariatePolynomial(R,OrderedVariableList ls)),"failed") ---R coHeight : % -> NonNegativeInteger if OrderedVariableList ls has FINITE ---R coerce : % -> List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) ---R collect : (%,OrderedVariableList ls) -> % ---R collectUnder : (%,OrderedVariableList ls) -> % ---R collectUpper : (%,OrderedVariableList ls) -> % ---R construct : List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> % ---R convert : % -> InputForm if NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has KONVERT INFORM ---R count : ((NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R count : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> NonNegativeInteger if $ has finiteAggregate and NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has SETCAT ---R eval : (%,List Equation NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> % if NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has EVALAB NSMP(R,OVAR ls) and NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has SETCAT ---R eval : (%,Equation NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> % if NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has EVALAB NSMP(R,OVAR ls) and NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has SETCAT ---R eval : (%,NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> % if NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has EVALAB NSMP(R,OVAR ls) and NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has SETCAT ---R eval : (%,List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),List NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> % if NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has EVALAB NSMP(R,OVAR ls) and NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has SETCAT ---R every? : ((NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> Boolean),%) -> Boolean if $ has finiteAggregate ---R extend : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),List %) -> List % ---R extend : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List % ---R extend : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),List %) -> List % ---R extend : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List % ---R extend : (%,NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> % ---R extendIfCan : (%,NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> Union(%,"failed") ---R find : ((NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> Boolean),%) -> Union(NewSparseMultivariatePolynomial(R,OrderedVariableList ls),"failed") ---R first : % -> Union(NewSparseMultivariatePolynomial(R,OrderedVariableList ls),"failed") ---R headReduce : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls) ---R headReduced? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Boolean ---R headRemainder : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Record(num: NewSparseMultivariatePolynomial(R,OrderedVariableList ls),den: R) if R has INTDOM ---R initiallyReduce : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls) ---R initiallyReduced? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Boolean ---R initials : % -> List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) ---R internalAugment : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> % ---R internalAugment : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> % ---R intersect : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),List %) -> List % ---R intersect : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),List %) -> List % ---R intersect : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List % ---R intersect : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List % ---R invertible? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Boolean ---R invertible? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List Record(val: Boolean,tower: %) ---R invertibleElseSplit? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Union(Boolean,List %) ---R invertibleSet : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List % ---R last : % -> Union(NewSparseMultivariatePolynomial(R,OrderedVariableList ls),"failed") ---R lastSubResultant : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List Record(val: NewSparseMultivariatePolynomial(R,OrderedVariableList ls),tower: %) ---R lastSubResultantElseSplit : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Union(NewSparseMultivariatePolynomial(R,OrderedVariableList ls),List %) +--R algebraic? : (OrderedVariableList(ls),%) -> Boolean +--R algebraicCoefficients? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Boolean +--R algebraicVariables : % -> List(OrderedVariableList(ls)) +--R any? : ((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) -> Boolean),%) -> Boolean if $ has finiteAggregate +--R augment : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),List(%)) -> List(%) +--R augment : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%) -> List(%) +--R augment : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),List(%)) -> List(%) +--R augment : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> List(%) +--R autoReduced? : (%,((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)))) -> Boolean)) -> Boolean +--R basicSet : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) -> Boolean),((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> Boolean)) -> Union(Record(bas: %,top: List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)))),"failed") +--R basicSet : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> Boolean)) -> Union(Record(bas: %,top: List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)))),"failed") +--R coHeight : % -> NonNegativeInteger if OrderedVariableList(ls) has FINITE +--R coerce : % -> List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) +--R collect : (%,OrderedVariableList(ls)) -> % +--R collectUnder : (%,OrderedVariableList(ls)) -> % +--R collectUpper : (%,OrderedVariableList(ls)) -> % +--R construct : List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> % +--R convert : % -> InputForm if NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has KONVERT(INFORM) +--R count : ((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate +--R count : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> NonNegativeInteger if $ has finiteAggregate and NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has SETCAT +--R eval : (%,List(Equation(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))))) -> % if NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has EVALAB(NSMP(R,OVAR(ls))) and NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has SETCAT +--R eval : (%,Equation(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)))) -> % if NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has EVALAB(NSMP(R,OVAR(ls))) and NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has SETCAT +--R eval : (%,NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> % if NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has EVALAB(NSMP(R,OVAR(ls))) and NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has SETCAT +--R eval : (%,List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)))) -> % if NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has EVALAB(NSMP(R,OVAR(ls))) and NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has SETCAT +--R every? : ((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) -> Boolean),%) -> Boolean if $ has finiteAggregate +--R extend : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),List(%)) -> List(%) +--R extend : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%) -> List(%) +--R extend : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),List(%)) -> List(%) +--R extend : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> List(%) +--R extend : (%,NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> % +--R extendIfCan : (%,NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> Union(%,"failed") +--R find : ((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) -> Boolean),%) -> Union(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),"failed") +--R first : % -> Union(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),"failed") +--R headReduce : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) +--R headReduced? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Boolean +--R headRemainder : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Record(num: NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),den: R) if R has INTDOM +--R initiallyReduce : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) +--R initiallyReduced? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Boolean +--R initials : % -> List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) +--R internalAugment : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%) -> % +--R internalAugment : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> % +--R intersect : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),List(%)) -> List(%) +--R intersect : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),List(%)) -> List(%) +--R intersect : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%) -> List(%) +--R intersect : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> List(%) +--R invertible? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Boolean +--R invertible? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> List(Record(val: Boolean,tower: %)) +--R invertibleElseSplit? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Union(Boolean,List(%)) +--R invertibleSet : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> List(%) +--R last : % -> Union(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),"failed") +--R lastSubResultant : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> List(Record(val: NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),tower: %)) +--R lastSubResultantElseSplit : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Union(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),List(%)) --R less? : (%,NonNegativeInteger) -> Boolean ---R mainVariable? : (OrderedVariableList ls,%) -> Boolean ---R mainVariables : % -> List OrderedVariableList ls ---R map : ((NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls)),%) -> % ---R map! : ((NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls)),%) -> % if $ has shallowlyMutable ---R member? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Boolean if $ has finiteAggregate and NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has SETCAT ---R members : % -> List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) if $ has finiteAggregate +--R mainVariable? : (OrderedVariableList(ls),%) -> Boolean +--R mainVariables : % -> List(OrderedVariableList(ls)) +--R map : ((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%) -> % +--R map! : ((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%) -> % if $ has shallowlyMutable +--R member? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Boolean if $ has finiteAggregate and NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has SETCAT +--R members : % -> List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R mvar : % -> OrderedVariableList ls ---R normalized? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Boolean ---R parts : % -> List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) if $ has finiteAggregate ---R purelyAlgebraic? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Boolean ---R purelyAlgebraicLeadingMonomial? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Boolean ---R purelyTranscendental? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Boolean ---R quasiComponent : % -> Record(close: List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),open: List NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) ---R reduce : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%,((NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls)),((NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> Boolean)) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls) ---R reduce : (((NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls)),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls) if $ has finiteAggregate ---R reduce : (((NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls)),%,NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls) if $ has finiteAggregate ---R reduce : (((NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls)),%,NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls) if $ has finiteAggregate and NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has SETCAT ---R reduceByQuasiMonic : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls) ---R reduced? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%,((NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> Boolean)) -> Boolean ---R remainder : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Record(rnum: R,polnum: NewSparseMultivariatePolynomial(R,OrderedVariableList ls),den: R) if R has INTDOM ---R remove : ((NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> Boolean),%) -> % if $ has finiteAggregate ---R remove : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> % if $ has finiteAggregate and NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has SETCAT ---R removeDuplicates : % -> % if $ has finiteAggregate and NewSparseMultivariatePolynomial(R,OrderedVariableList ls) has SETCAT ---R removeZero : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls) ---R retract : List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> % ---R retractIfCan : List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> Union(%,"failed") ---R rewriteIdealWithHeadRemainder : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) if R has INTDOM ---R rewriteIdealWithRemainder : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) if R has INTDOM ---R rewriteSetWithReduction : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%,((NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls)),((NewSparseMultivariatePolynomial(R,OrderedVariableList ls),NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) -> Boolean)) -> List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) +--R mvar : % -> OrderedVariableList(ls) +--R normalized? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Boolean +--R parts : % -> List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) if $ has finiteAggregate +--R purelyAlgebraic? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Boolean +--R purelyAlgebraicLeadingMonomial? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Boolean +--R purelyTranscendental? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Boolean +--R quasiComponent : % -> Record(close: List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),open: List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)))) +--R reduce : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%,((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> Boolean)) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) +--R reduce : (((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) if $ has finiteAggregate +--R reduce : (((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%,NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) if $ has finiteAggregate +--R reduce : (((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%,NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) if $ has finiteAggregate and NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has SETCAT +--R reduceByQuasiMonic : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) +--R reduced? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%,((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> Boolean)) -> Boolean +--R remainder : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Record(rnum: R,polnum: NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),den: R) if R has INTDOM +--R remove : ((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) -> Boolean),%) -> % if $ has finiteAggregate +--R remove : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> % if $ has finiteAggregate and NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has SETCAT +--R removeDuplicates : % -> % if $ has finiteAggregate and NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) has SETCAT +--R removeZero : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) +--R retract : List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> % +--R retractIfCan : List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> Union(%,"failed") +--R rewriteIdealWithHeadRemainder : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%) -> List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) if R has INTDOM +--R rewriteIdealWithRemainder : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%) -> List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) if R has INTDOM +--R rewriteSetWithReduction : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),%,((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> Boolean)) -> List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) --R roughBase? : % -> Boolean if R has INTDOM --R roughEqualIdeals? : (%,%) -> Boolean if R has INTDOM --R roughSubIdeal? : (%,%) -> Boolean if R has INTDOM --R roughUnitIdeal? : % -> Boolean if R has INTDOM ---R select : (%,OrderedVariableList ls) -> Union(NewSparseMultivariatePolynomial(R,OrderedVariableList ls),"failed") ---R select : ((NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> Boolean),%) -> % if $ has finiteAggregate +--R select : (%,OrderedVariableList(ls)) -> Union(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),"failed") +--R select : ((NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) -> Boolean),%) -> % if $ has finiteAggregate --R size? : (%,NonNegativeInteger) -> Boolean ---R sort : (%,OrderedVariableList ls) -> Record(under: %,floor: %,upper: %) ---R squareFreePart : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> List Record(val: NewSparseMultivariatePolynomial(R,OrderedVariableList ls),tower: %) ---R stronglyReduce : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList ls) ---R stronglyReduced? : (NewSparseMultivariatePolynomial(R,OrderedVariableList ls),%) -> Boolean +--R sort : (%,OrderedVariableList(ls)) -> Record(under: %,floor: %,upper: %) +--R squareFreePart : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> List(Record(val: NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),tower: %)) +--R stronglyReduce : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)) +--R stronglyReduced? : (NewSparseMultivariatePolynomial(R,OrderedVariableList(ls)),%) -> Boolean --R triangular? : % -> Boolean if R has INTDOM ---R variables : % -> List OrderedVariableList ls ---R zeroSetSplit : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),Boolean,Boolean) -> List % ---R zeroSetSplit : (List NewSparseMultivariatePolynomial(R,OrderedVariableList ls),Boolean) -> List % ---R zeroSetSplit : List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> List % ---R zeroSetSplitIntoTriangularSystems : List NewSparseMultivariatePolynomial(R,OrderedVariableList ls) -> List Record(close: %,open: List NewSparseMultivariatePolynomial(R,OrderedVariableList ls)) +--R variables : % -> List(OrderedVariableList(ls)) +--R zeroSetSplit : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),Boolean,Boolean) -> List(%) +--R zeroSetSplit : (List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))),Boolean) -> List(%) +--R zeroSetSplit : List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> List(%) +--R zeroSetSplitIntoTriangularSystems : List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))) -> List(Record(close: %,open: List(NewSparseMultivariatePolynomial(R,OrderedVariableList(ls))))) --R --E 1 @@ -109259,14 +109515,14 @@ ls : List Symbol := [x,y,z,t] --R --R --R (2) [x,y,z,t] ---R Type: List Symbol +--R Type: List(Symbol) --E 2 --S 3 of 34 V := OVAR(ls) --R --R ---R (3) OrderedVariableList [x,y,z,t] +--R (3) OrderedVariableList([x,y,z,t]) --R Type: Domain --E 3 @@ -109274,7 +109530,7 @@ V := OVAR(ls) E := IndexedExponents V --R --R ---R (4) IndexedExponents OrderedVariableList [x,y,z,t] +--R (4) IndexedExponents(OrderedVariableList([x,y,z,t])) --R Type: Domain --E 4 @@ -109282,7 +109538,8 @@ E := IndexedExponents V P := NSMP(R, V) --R --R ---R (5) NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--R (5) +--R NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --R Type: Domain --E 5 @@ -109291,7 +109548,7 @@ x: P := 'x --R --R --R (6) x ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 6 --S 7 of 34 @@ -109299,7 +109556,7 @@ y: P := 'y --R --R --R (7) y ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 7 --S 8 of 34 @@ -109307,7 +109564,7 @@ z: P := 'z --R --R --R (8) z ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 8 --S 9 of 34 @@ -109315,7 +109572,7 @@ t: P := 't --R --R --R (9) t ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 9 --S 10 of 34 @@ -109323,9 +109580,9 @@ T := REGSET(R,E,V,P) --R --R --R (10) ---R RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],O ---R rderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedV ---R ariableList [x,y,z,t])) +--R RegularTriangularSet(Integer,IndexedExponents(OrderedVariableList([x,y,z,t])) +--R ,OrderedVariableList([x,y,z,t]),NewSparseMultivariatePolynomial(Integer,Order +--R edVariableList([x,y,z,t]))) --R Type: Domain --E 10 @@ -109335,7 +109592,7 @@ p1 := x ** 31 - x ** 6 - x - y --R --R 31 6 --R (11) x - x - x - y ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 11 --S 12 of 34 @@ -109344,7 +109601,7 @@ p2 := x ** 8 - z --R --R 8 --R (12) x - z ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 12 --S 13 of 34 @@ -109353,7 +109610,7 @@ p3 := x ** 10 - t --R --R 10 --R (13) x - t ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 13 --S 14 of 34 @@ -109362,7 +109619,7 @@ lp := [p1, p2, p3] --R --R 31 6 8 10 --R (14) [x - x - x - y,x - z,x - t] ---RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: List(NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t]))) --E 14 --S 15 of 34 @@ -109371,7 +109628,7 @@ zeroSetSplit(lp)$T --R --R 5 4 2 3 8 5 3 2 4 2 --R (15) [{z - t ,t z y + 2z y - t + 2t + t - t ,(t - t)x - t y - z }] ---RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--IType: List(RegularTriangularSet(Integer,IndexedExponents(... --E 15 --S 16 of 34 @@ -109383,7 +109640,7 @@ lts := zeroSetSplit(lp,false)$T --R [{z - t ,t z y + 2z y - t + 2t + t - t ,(t - t)x - t y - z }, --R 3 5 2 3 2 --R {t - 1,z - t,t z y + 2z y + 1,z x - t}, {t,z,y,x}] ---RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--IType: List(RegularTriangularSet(Integer,IndexedExponents(... --E 16 --S 17 of 34 @@ -109391,7 +109648,7 @@ lts := zeroSetSplit(lp,false)$T --R --R --R (17) [1,0,0] ---R Type: List NonNegativeInteger +--R Type: List(NonNegativeInteger) --E 17 --S 18 of 34 @@ -109400,7 +109657,7 @@ f1 := y**2*z+2*x*y*t-2*x-z --R --R 2 --R (18) (2t y - 2)x + z y - z ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 18 --S 19 of 34 @@ -109409,7 +109666,7 @@ f2:=-x**3*z+ 4*x*y**2*z+4*x**2*y*t+2*y**3*t+4*x**2-10*y**2+4*x*z-10*y*t+2 --R --R 3 2 2 3 2 --R (19) - z x + (4t y + 4)x + (4z y + 4z)x + 2t y - 10y - 10t y + 2 ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 19 --S 20 of 34 @@ -109418,7 +109675,7 @@ f3 := 2*y*z*t+x*t**2-x-2*z --R --R 2 --R (20) (t - 1)x + 2t z y - 2z ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 20 --S 21 of 34 @@ -109427,7 +109684,7 @@ f4:=-x*z**3+4*y*z**2*t+4*x*z*t**2+2*y*t**3+4*x*z+4*z**2-10*y*t- 10*t**2+2 --R --R 3 2 2 3 2 2 --R (21) (- z + (4t + 4)z)x + (4t z + 2t - 10t)y + 4z - 10t + 2 ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 21 --S 22 of 34 @@ -109443,7 +109700,7 @@ lf := [f1, f2, f3, f4] --R (t - 1)x + 2t z y - 2z, --R 3 2 2 3 2 2 --R (- z + (4t + 4)z)x + (4t z + 2t - 10t)y + 4z - 10t + 2] ---RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: List(NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t]))) --E 22 --S 23 of 34 @@ -109459,7 +109716,7 @@ zeroSetSplit(lf)$T --R {t - 10t + 10t - 1,z,(t - 5t)y - 5t + 1,x}, --R 2 2 --R {t + 3,z - 4,y + t,x - z}] ---RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--IType: List(RegularTriangularSet(Integer,IndexedExponents(... --E 23 --S 24 of 34 @@ -109473,7 +109730,7 @@ lts2 := zeroSetSplit(lf,false)$T --R {t - 1,z - 16z + 256z - 256,t y - 1,(z - 8z)x - 8z + 16}, --R 2 2 2 2 2 --R {3t + 1,z - 7t - 1,y + t,x + z}, {t + 3,z - 4,y + t,x - z}] ---RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--IType: List(RegularTriangularSet(Integer,IndexedExponents(... --E 24 --S 25 of 34 @@ -109481,7 +109738,7 @@ lts2 := zeroSetSplit(lf,false)$T --R --R --R (25) [0,0,0,0] ---R Type: List NonNegativeInteger +--R Type: List(NonNegativeInteger) --E 25 --S 26 of 34 @@ -109489,7 +109746,7 @@ degrees := [degree(ts) for ts in lts2] --R --R --R (26) [8,16,4,4] ---R Type: List NonNegativeInteger +--R Type: List(NonNegativeInteger) --E 26 --S 27 of 34 @@ -109521,7 +109778,7 @@ q1 := 2*(u-1)**2+ 2*(x-z*x+z**2)+ y**2*(x-1)**2- 2*u*x+ 2*y*t*(1-x)*(x-z)+_ --R + --R 2 2 2 2 --R y + (- 2t z - 4t)y + (t + 10)z - 8z + 4t + 2 ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 29 --S 30 of 34 @@ -109531,7 +109788,7 @@ q2 := t*(2*z+1)*(x-z)+ y*(z+2)*(1-x)+ u*(u-2)*t+ u*(1-2*u)*z*t+_ --R --R 2 --R (30) (- 3z y + 2t z + t)x + (z + 4)y + 4t z - 7t z ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 30 --S 31 of 34 @@ -109540,7 +109797,7 @@ q3 := -u**2*(z-1)**2+ 2*z*(z-x)-2*(x-1) --R --R 2 --R (31) (- 2z - 2)x - 2z + 8z - 2 ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 31 --S 32 of 34 @@ -109554,7 +109811,7 @@ q4 := u**2+4*(z-x**2)+3*y**2*(x-1)**2- 3*t**2*(z-x)**2+_ --R + --R 2 2 2 2 --R (9t + 4)z + (- 24t - 4)z + 12t + 4 ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 32 --S 33 of 34 @@ -109581,13 +109838,13 @@ lq := [q1, q2, q3, q4] --R 2 2 2 2 --R (12t z - 12t)y + (9t + 4)z + (- 24t - 4)z + 12t + 4 --R ] ---RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: List(NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t]))) --E 33 --S 34 of 34 zeroSetSplit(lq,true,true)$T --R ---R[1 <4,0> -> |4|; {0}]W[2 <5,0>,<3,1> -> |8|; {0}][2 <4,1>,<3,1> -> |7|; {0}][1 <3,1> -> |3|; {0}]G[2 <4,1>,<4,1> -> |8|; {0}]W[3 <5,1>,<4,1>,<3,2> -> |12|; {0}]GI[3 <4,2>,<4,1>,<3,2> -> |11|; {0}]GWw[3 <4,1>,<3,2>,<5,2> -> |12|; {0}][3 <3,2>,<3,2>,<5,2> -> |11|; {0}]GIwWWWw[4 <3,2>,<4,2>,<5,2>,<2,3> -> |14|; {0}][4 <2,2>,<4,2>,<5,2>,<2,3> -> |13|; {0}]Gwww[5 <3,2>,<3,2>,<4,2>,<5,2>,<2,3> -> |17|; {0}]Gwwwwww[8 <3,2>,<4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |30|; {0}]Gwwwwww[8 <4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |31|; {0}][8 <3,3>,<4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |30|; {0}][8 <2,3>,<4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |29|; {0}][8 <1,3>,<4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |28|; {0}][7 <4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |27|; {0}][6 <4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |23|; {0}][5 <4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |19|; {0}]GIGIWwww[6 <5,2>,<4,2>,<4,2>,<5,2>,<3,3>,<2,3> -> |23|; {0}][6 <4,3>,<4,2>,<4,2>,<5,2>,<3,3>,<2,3> -> |22|; {0}]GIGI[6 <3,4>,<4,2>,<4,2>,<5,2>,<3,3>,<2,3> -> |21|; {0}][6 <2,4>,<4,2>,<4,2>,<5,2>,<3,3>,<2,3> -> |20|; {0}]GGG[5 <4,2>,<4,2>,<5,2>,<3,3>,<2,3> -> |18|; {0}]GIGIWwwwW[6 <5,2>,<4,2>,<5,2>,<3,3>,<3,3>,<2,3> -> |22|; {0}][6 <4,3>,<4,2>,<5,2>,<3,3>,<3,3>,<2,3> -> |21|; {0}]GIwwWwWWWWWWWwWWWWwwwww[8 <4,2>,<5,2>,<3,3>,<3,3>,<4,3>,<2,3>,<3,4>,<3,4> -> |27|; {0}][8 <3,3>,<5,2>,<3,3>,<3,3>,<4,3>,<2,3>,<3,4>,<3,4> -> |26|; {0}][8 <2,3>,<5,2>,<3,3>,<3,3>,<4,3>,<2,3>,<3,4>,<3,4> -> |25|; {0}]Gwwwwwwwwwwwwwwwwwwww[9 <5,2>,<3,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,4>,<3,4> -> |29|; {0}]GI[9 <4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,4>,<3,4> -> |28|; {0}][9 <3,3>,<3,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,4>,<3,4> -> |27|; {0}][9 <2,3>,<3,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,4>,<3,4> -> |26|; {0}]GGwwwwwwwwwwwwWWwwwwwwww[11 <3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |33|; {0}][11 <2,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |32|; {0}][11 <1,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |31|; {0}]GGGwwwwwwwwwwwww[12 <2,3>,<2,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |34|; {0}]GGwwwwwwwwwwwww[13 <3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |38|; {0}]Gwwwwwwwwwwwww[13 <2,3>,<3,3>,<4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {0}]GGGwwwwwwwwwwwww[15 <3,3>,<4,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |46|; {0}][14 <4,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |43|; {0}]GIGGGGIGGI[14 <3,4>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |42|; {0}]GGG[14 <2,4>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |41|; {0}][14 <1,4>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |40|; {0}]GGG[13 <3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {0}]Gwwwwwwwwwwwww[15 <3,3>,<3,3>,<4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |48|; {0}]Gwwwwwwwwwwwww[15 <4,3>,<4,3>,<3,3>,<4,3>,<4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |49|; {0}]GIGI[15 <3,4>,<4,3>,<3,3>,<4,3>,<4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |48|; {0}]G[14 <4,3>,<3,3>,<4,3>,<4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |45|; {0}][13 <3,3>,<4,3>,<4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |41|; {0}]Gwwwwwwwwwwwww[13 <4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |42|; {0}]GIGGGGIGGI[13 <3,4>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |41|; {0}]GGGGGGGG[13 <2,4>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |40|; {0}][13 <1,4>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {0}][13 <0,4>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |38|; {0}][12 <4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |38|; {1}][11 <4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |34|; {1}][10 <3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |30|; {1}][10 <2,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |29|; {1}]GGGwwwwwwwwwwwww[11 <3,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |33|; {1}]GGGwwwwwwwwwwwww[12 <4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |38|; {1}]Gwwwwwwwwwwwww[12 <3,3>,<4,3>,<5,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {1}]GGwwwwwwwwwwwww[13 <5,3>,<4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |44|; {1}]GIGGGGIGGIW[13 <4,4>,<4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |43|; {1}]GGW[13 <3,4>,<4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |42|; {1}]GGG[12 <4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {1}]Gwwwwwwwwwwwww[12 <4,3>,<4,3>,<5,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |40|; {1}]Gwwwwwwwwwwwww[13 <5,3>,<5,3>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |46|; {1}]GIGIW[13 <4,4>,<5,3>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |45|; {1}][13 <3,4>,<5,3>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |44|; {1}][13 <2,4>,<5,3>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |43|; {1}]GG[12 <5,3>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |41|; {1}]GIGGGGIGGIW[12 <4,4>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |40|; {1}]GGGGGGW[12 <3,4>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {1}][12 <2,4>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |38|; {1}][12 <1,4>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |37|; {1}]GGG[11 <4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |36|; {1}][10 <5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |32|; {1}][9 <3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |27|; {1}]W[9 <2,4>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |26|; {1}][9 <1,4>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |25|; {1}][8 <3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |24|; {1}]W[8 <2,4>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |23|; {1}][8 <1,4>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |22|; {1}][7 <4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |21|; {1}]w[7 <3,4>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |20|; {1}][7 <2,4>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |19|; {1}][7 <1,4>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |18|; {1}][6 <2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |17|; {1}]GGwwwwww[7 <3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |21|; {1}]GIW[7 <2,4>,<3,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |20|; {1}]GG[6 <3,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |18|; {1}]Gwwwwww[7 <4,3>,<4,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |23|; {1}]GIW[7 <3,4>,<4,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |22|; {1}][6 <4,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |19|; {1}]GIW[6 <3,4>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |18|; {1}]GGW[6 <2,4>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |17|; {1}][6 <1,4>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |16|; {1}]GGG[5 <3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |15|; {1}]GIW[5 <2,4>,<3,3>,<3,3>,<3,4>,<3,4> -> |14|; {1}]GG[4 <3,3>,<3,3>,<3,4>,<3,4> -> |12|; {1}][3 <3,3>,<3,4>,<3,4> -> |9|; {1}]W[3 <2,4>,<3,4>,<3,4> -> |8|; {1}][3 <1,4>,<3,4>,<3,4> -> |7|; {1}]G[2 <3,4>,<3,4> -> |6|; {1}]G[1 <3,4> -> |3|; {1}][1 <2,4> -> |2|; {1}][1 <1,4> -> |1|; {1}] +--I[1 <4,0> -> |4|; {0}]W[2 <5,0>,<3,1> -> |8|; ... --R *** QCMPACK Statistics *** --R Table size: 36 --R Entries reused: 255 @@ -109775,7 +110032,7 @@ zeroSetSplit(lq,true,true)$T --R 2 --R (z + 1)x + z - 4z + 1} --R ] ---RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--IType: List(RegularTriangularSet(Integer,IndexedExponents(... --E 34 )spool )lisp (bye) @@ -111114,7 +111371,8 @@ RegularTriangularSet(R,E,V,P) : Exports == Implementation where --S 1 of 1 )show ResidueRing ---R ResidueRing(F: Field,Expon: OrderedAbelianMonoidSup,VarSet: OrderedSet,FPol: PolynomialCategory(F,Expon,VarSet),LFPol: List FPol) is a domain constructor +--R +--R ResidueRing(F: Field,Expon: OrderedAbelianMonoidSup,VarSet: OrderedSet,FPol: PolynomialCategory(F,Expon,VarSet),LFPol: List(FPol)) is a domain constructor --R Abbreviation for ResidueRing is RESRING --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for RESRING @@ -111256,6 +111514,7 @@ ResidueRing(F,Expon,VarSet,FPol,LFPol) : Dom == Body --S 1 of 1 )show Result +--R --R Result is a domain constructor --R Abbreviation for Result is RESULT --R This constructor is exposed in this frame. @@ -111265,9 +111524,9 @@ ResidueRing(F,Expon,VarSet,FPol,LFPol) : Dom == Body --R copy : % -> % dictionary : () -> % --R elt : (%,Symbol,Any) -> Any ?.? : (%,Symbol) -> Any --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List Any eq? : (%,%) -> Boolean ---R index? : (Symbol,%) -> Boolean indices : % -> List Symbol ---R key? : (Symbol,%) -> Boolean keys : % -> List Symbol +--R entries : % -> List(Any) eq? : (%,%) -> Boolean +--R index? : (Symbol,%) -> Boolean indices : % -> List(Symbol) +--R key? : (Symbol,%) -> Boolean keys : % -> List(Symbol) --R map : ((Any -> Any),%) -> % qelt : (%,Symbol) -> Any --R sample : () -> % setelt : (%,Symbol,Any) -> Any --R table : () -> % @@ -111275,24 +111534,24 @@ ResidueRing(F,Expon,VarSet,FPol,LFPol) : Dom == Body --R ?=? : (%,%) -> Boolean if Any has SETCAT or Record(key: Symbol,entry: Any) has SETCAT --R any? : ((Any -> Boolean),%) -> Boolean if $ has finiteAggregate --R any? : ((Record(key: Symbol,entry: Any) -> Boolean),%) -> Boolean if $ has finiteAggregate ---R bag : List Record(key: Symbol,entry: Any) -> % +--R bag : List(Record(key: Symbol,entry: Any)) -> % --R coerce : % -> OutputForm if Any has SETCAT or Record(key: Symbol,entry: Any) has SETCAT ---R construct : List Record(key: Symbol,entry: Any) -> % ---R convert : % -> InputForm if Record(key: Symbol,entry: Any) has KONVERT INFORM +--R construct : List(Record(key: Symbol,entry: Any)) -> % +--R convert : % -> InputForm if Record(key: Symbol,entry: Any) has KONVERT(INFORM) --R count : ((Any -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (Any,%) -> NonNegativeInteger if $ has finiteAggregate and Any has SETCAT --R count : (Record(key: Symbol,entry: Any),%) -> NonNegativeInteger if $ has finiteAggregate and Record(key: Symbol,entry: Any) has SETCAT --R count : ((Record(key: Symbol,entry: Any) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R dictionary : List Record(key: Symbol,entry: Any) -> % +--R dictionary : List(Record(key: Symbol,entry: Any)) -> % --R entry? : (Any,%) -> Boolean if $ has finiteAggregate and Any has SETCAT ---R eval : (%,List Equation Any) -> % if Any has EVALAB ANY and Any has SETCAT ---R eval : (%,Equation Any) -> % if Any has EVALAB ANY and Any has SETCAT ---R eval : (%,Any,Any) -> % if Any has EVALAB ANY and Any has SETCAT ---R eval : (%,List Any,List Any) -> % if Any has EVALAB ANY and Any has SETCAT ---R eval : (%,List Record(key: Symbol,entry: Any),List Record(key: Symbol,entry: Any)) -> % if Record(key: Symbol,entry: Any) has EVALAB Record(key: Symbol,entry: Any) and Record(key: Symbol,entry: Any) has SETCAT ---R eval : (%,Record(key: Symbol,entry: Any),Record(key: Symbol,entry: Any)) -> % if Record(key: Symbol,entry: Any) has EVALAB Record(key: Symbol,entry: Any) and Record(key: Symbol,entry: Any) has SETCAT ---R eval : (%,Equation Record(key: Symbol,entry: Any)) -> % if Record(key: Symbol,entry: Any) has EVALAB Record(key: Symbol,entry: Any) and Record(key: Symbol,entry: Any) has SETCAT ---R eval : (%,List Equation Record(key: Symbol,entry: Any)) -> % if Record(key: Symbol,entry: Any) has EVALAB Record(key: Symbol,entry: Any) and Record(key: Symbol,entry: Any) has SETCAT +--R eval : (%,List(Equation(Any))) -> % if Any has EVALAB(ANY) and Any has SETCAT +--R eval : (%,Equation(Any)) -> % if Any has EVALAB(ANY) and Any has SETCAT +--R eval : (%,Any,Any) -> % if Any has EVALAB(ANY) and Any has SETCAT +--R eval : (%,List(Any),List(Any)) -> % if Any has EVALAB(ANY) and Any has SETCAT +--R eval : (%,List(Record(key: Symbol,entry: Any)),List(Record(key: Symbol,entry: Any))) -> % if Record(key: Symbol,entry: Any) has EVALAB(Record(key: Symbol,entry: Any)) and Record(key: Symbol,entry: Any) has SETCAT +--R eval : (%,Record(key: Symbol,entry: Any),Record(key: Symbol,entry: Any)) -> % if Record(key: Symbol,entry: Any) has EVALAB(Record(key: Symbol,entry: Any)) and Record(key: Symbol,entry: Any) has SETCAT +--R eval : (%,Equation(Record(key: Symbol,entry: Any))) -> % if Record(key: Symbol,entry: Any) has EVALAB(Record(key: Symbol,entry: Any)) and Record(key: Symbol,entry: Any) has SETCAT +--R eval : (%,List(Equation(Record(key: Symbol,entry: Any)))) -> % if Record(key: Symbol,entry: Any) has EVALAB(Record(key: Symbol,entry: Any)) and Record(key: Symbol,entry: Any) has SETCAT --R every? : ((Any -> Boolean),%) -> Boolean if $ has finiteAggregate --R every? : ((Record(key: Symbol,entry: Any) -> Boolean),%) -> Boolean if $ has finiteAggregate --R extract! : % -> Record(key: Symbol,entry: Any) @@ -111311,12 +111570,12 @@ ResidueRing(F,Expon,VarSet,FPol,LFPol) : Dom == Body --R maxIndex : % -> Symbol if Symbol has ORDSET --R member? : (Any,%) -> Boolean if $ has finiteAggregate and Any has SETCAT --R member? : (Record(key: Symbol,entry: Any),%) -> Boolean if $ has finiteAggregate and Record(key: Symbol,entry: Any) has SETCAT ---R members : % -> List Any if $ has finiteAggregate ---R members : % -> List Record(key: Symbol,entry: Any) if $ has finiteAggregate +--R members : % -> List(Any) if $ has finiteAggregate +--R members : % -> List(Record(key: Symbol,entry: Any)) if $ has finiteAggregate --R minIndex : % -> Symbol if Symbol has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List Any if $ has finiteAggregate ---R parts : % -> List Record(key: Symbol,entry: Any) if $ has finiteAggregate +--R parts : % -> List(Any) if $ has finiteAggregate +--R parts : % -> List(Record(key: Symbol,entry: Any)) if $ has finiteAggregate --R qsetelt! : (%,Symbol,Any) -> Any if $ has shallowlyMutable --R reduce : (((Record(key: Symbol,entry: Any),Record(key: Symbol,entry: Any)) -> Record(key: Symbol,entry: Any)),%) -> Record(key: Symbol,entry: Any) if $ has finiteAggregate --R reduce : (((Record(key: Symbol,entry: Any),Record(key: Symbol,entry: Any)) -> Record(key: Symbol,entry: Any)),%,Record(key: Symbol,entry: Any)) -> Record(key: Symbol,entry: Any) if $ has finiteAggregate @@ -111334,7 +111593,7 @@ ResidueRing(F,Expon,VarSet,FPol,LFPol) : Dom == Body --R showScalarValues : Boolean -> Boolean --R size? : (%,NonNegativeInteger) -> Boolean --R swap! : (%,Symbol,Symbol) -> Void if $ has shallowlyMutable ---R table : List Record(key: Symbol,entry: Any) -> % +--R table : List(Record(key: Symbol,entry: Any)) -> % --R ?~=? : (%,%) -> Boolean if Any has SETCAT or Record(key: Symbol,entry: Any) has SETCAT --R --E 1 @@ -111513,22 +111772,23 @@ Result():Exports==Implementation where --S 1 of 4 )show RewriteRule ---R RewriteRule(Base: SetCategory,R: Join(Ring,PatternMatchable Base,OrderedSet,ConvertibleTo Pattern Base),F: Join(FunctionSpace R,PatternMatchable Base,ConvertibleTo Pattern Base)) is a domain constructor +--R +--R RewriteRule(Base: SetCategory,R: Join(Ring,PatternMatchable(Base),OrderedSet,ConvertibleTo(Pattern(Base))),F: Join(FunctionSpace(R),PatternMatchable(Base),ConvertibleTo(Pattern(Base)))) is a domain constructor --R Abbreviation for RewriteRule is RULE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for RULE --R --R------------------------------- Operations -------------------------------- ---R ?=? : (%,%) -> Boolean coerce : Equation F -> % +--R ?=? : (%,%) -> Boolean coerce : Equation(F) -> % --R coerce : % -> OutputForm elt : (%,F,PositiveInteger) -> F --R ?.? : (%,F) -> F hash : % -> SingleInteger --R latex : % -> String lhs : % -> F ---R pattern : % -> Pattern Base retract : % -> Equation F ---R rhs : % -> F rule : (F,F,List Symbol) -> % +--R pattern : % -> Pattern(Base) retract : % -> Equation(F) +--R rhs : % -> F rule : (F,F,List(Symbol)) -> % --R rule : (F,F) -> % ?~=? : (%,%) -> Boolean ---R quotedOperators : % -> List Symbol ---R retractIfCan : % -> Union(Equation F,"failed") ---R suchThat : (%,List Symbol,(List F -> Boolean)) -> % +--R quotedOperators : % -> List(Symbol) +--R retractIfCan : % -> Union(Equation(F),"failed") +--R suchThat : (%,List(Symbol),(List(F) -> Boolean)) -> % --R --E 1 @@ -111536,21 +111796,21 @@ Result():Exports==Implementation where logrule := rule log(x) + log(y) == log(x*y) --R --R (1) log(y) + log(x) + %B == log(x y) + %B ---R Type: RewriteRule(Integer,Integer,Expression Integer) +--R Type: RewriteRule(Integer,Integer,Expression(Integer)) --E 2 --S 3 of 4 f := log(sin(x)) + log(x) --R --R (2) log(sin(x)) + log(x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 3 --S 4 of 4 logrule f --R --R (3) log(x sin(x)) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 4 )spool @@ -111801,13 +112061,14 @@ depending on several "real roots". --S 1 of 1 )show RightOpenIntervalRootCharacterization ---R RightOpenIntervalRootCharacterization(TheField: Join(OrderedRing,Field),ThePolDom: UnivariatePolynomialCategory TheField) is a domain constructor +--R +--R RightOpenIntervalRootCharacterization(TheField: Join(OrderedRing,Field),ThePolDom: UnivariatePolynomialCategory(TheField)) is a domain constructor --R Abbreviation for RightOpenIntervalRootCharacterization is ROIRC --R This constructor is exposed in this frame. --R Issue )edit NIL to see algebra source code for ROIRC --R --R------------------------------- Operations -------------------------------- ---R ?=? : (%,%) -> Boolean allRootsOf : ThePolDom -> List % +--R ?=? : (%,%) -> Boolean allRootsOf : ThePolDom -> List(%) --R coerce : % -> OutputForm hash : % -> SingleInteger --R latex : % -> String left : % -> TheField --R middle : % -> TheField refine : % -> % @@ -112362,7 +112623,7 @@ D(f x,x,7) --R (vii) --R (2) f (x) --R ---R Type: Expression Integer +--R Type: Expression(Integer) --E 2 --S 3 of 15 @@ -112415,7 +112676,7 @@ m := matrix [ [1/(i + j) for i in 1..3] for j in 1..3] --R | I I I| --R |-- - --| --R +IV V VI+ ---R Type: Matrix Fraction RomanNumeral +--R Type: Matrix(Fraction(RomanNumeral)) --E 7 --S 8 of 15 @@ -112427,7 +112688,7 @@ inverse m --R (8) |- CCXL CM - DCCXX| --R | | --R +CLXXX - DCCXX DC + ---R Type: Union(Matrix Fraction RomanNumeral,...) +--R Type: Union(Matrix(Fraction(RomanNumeral)),...) --E 8 --S 9 of 15 @@ -112777,6 +113038,7 @@ RomanNumeral(): IntegerNumberSystem with --S 1 of 1 )show RoutinesTable +--R --R RoutinesTable is a domain constructor --R Abbreviation for RoutinesTable is ROUTINE --R This constructor is exposed in this frame. @@ -112787,10 +113049,10 @@ RomanNumeral(): IntegerNumberSystem with --R deleteRoutine! : (%,Symbol) -> % dictionary : () -> % --R elt : (%,Symbol,Any) -> Any ?.? : (%,Symbol) -> Any --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List Any eq? : (%,%) -> Boolean +--R entries : % -> List(Any) eq? : (%,%) -> Boolean --R getMeasure : (%,Symbol) -> Float index? : (Symbol,%) -> Boolean ---R indices : % -> List Symbol key? : (Symbol,%) -> Boolean ---R keys : % -> List Symbol map : ((Any -> Any),%) -> % +--R indices : % -> List(Symbol) key? : (Symbol,%) -> Boolean +--R keys : % -> List(Symbol) map : ((Any -> Any),%) -> % --R qelt : (%,Symbol) -> Any routines : () -> % --R sample : () -> % selectFiniteRoutines : % -> % --R selectNonFiniteRoutines : % -> % selectODEIVPRoutines : % -> % @@ -112800,33 +113062,33 @@ RomanNumeral(): IntegerNumberSystem with --R ?=? : (%,%) -> Boolean if Any has SETCAT or Record(key: Symbol,entry: Any) has SETCAT --R any? : ((Any -> Boolean),%) -> Boolean if $ has finiteAggregate --R any? : ((Record(key: Symbol,entry: Any) -> Boolean),%) -> Boolean if $ has finiteAggregate ---R bag : List Record(key: Symbol,entry: Any) -> % +--R bag : List(Record(key: Symbol,entry: Any)) -> % --R changeMeasure : (%,Symbol,Float) -> % --R changeThreshhold : (%,Symbol,Float) -> % --R coerce : % -> OutputForm if Any has SETCAT or Record(key: Symbol,entry: Any) has SETCAT ---R construct : List Record(key: Symbol,entry: Any) -> % ---R convert : % -> InputForm if Record(key: Symbol,entry: Any) has KONVERT INFORM +--R construct : List(Record(key: Symbol,entry: Any)) -> % +--R convert : % -> InputForm if Record(key: Symbol,entry: Any) has KONVERT(INFORM) --R count : ((Any -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R count : (Any,%) -> NonNegativeInteger if $ has finiteAggregate and Any has SETCAT --R count : (Record(key: Symbol,entry: Any),%) -> NonNegativeInteger if $ has finiteAggregate and Record(key: Symbol,entry: Any) has SETCAT --R count : ((Record(key: Symbol,entry: Any) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R dictionary : List Record(key: Symbol,entry: Any) -> % +--R dictionary : List(Record(key: Symbol,entry: Any)) -> % --R entry? : (Any,%) -> Boolean if $ has finiteAggregate and Any has SETCAT ---R eval : (%,List Equation Any) -> % if Any has EVALAB ANY and Any has SETCAT ---R eval : (%,Equation Any) -> % if Any has EVALAB ANY and Any has SETCAT ---R eval : (%,Any,Any) -> % if Any has EVALAB ANY and Any has SETCAT ---R eval : (%,List Any,List Any) -> % if Any has EVALAB ANY and Any has SETCAT ---R eval : (%,List Record(key: Symbol,entry: Any),List Record(key: Symbol,entry: Any)) -> % if Record(key: Symbol,entry: Any) has EVALAB Record(key: Symbol,entry: Any) and Record(key: Symbol,entry: Any) has SETCAT ---R eval : (%,Record(key: Symbol,entry: Any),Record(key: Symbol,entry: Any)) -> % if Record(key: Symbol,entry: Any) has EVALAB Record(key: Symbol,entry: Any) and Record(key: Symbol,entry: Any) has SETCAT ---R eval : (%,Equation Record(key: Symbol,entry: Any)) -> % if Record(key: Symbol,entry: Any) has EVALAB Record(key: Symbol,entry: Any) and Record(key: Symbol,entry: Any) has SETCAT ---R eval : (%,List Equation Record(key: Symbol,entry: Any)) -> % if Record(key: Symbol,entry: Any) has EVALAB Record(key: Symbol,entry: Any) and Record(key: Symbol,entry: Any) has SETCAT +--R eval : (%,List(Equation(Any))) -> % if Any has EVALAB(ANY) and Any has SETCAT +--R eval : (%,Equation(Any)) -> % if Any has EVALAB(ANY) and Any has SETCAT +--R eval : (%,Any,Any) -> % if Any has EVALAB(ANY) and Any has SETCAT +--R eval : (%,List(Any),List(Any)) -> % if Any has EVALAB(ANY) and Any has SETCAT +--R eval : (%,List(Record(key: Symbol,entry: Any)),List(Record(key: Symbol,entry: Any))) -> % if Record(key: Symbol,entry: Any) has EVALAB(Record(key: Symbol,entry: Any)) and Record(key: Symbol,entry: Any) has SETCAT +--R eval : (%,Record(key: Symbol,entry: Any),Record(key: Symbol,entry: Any)) -> % if Record(key: Symbol,entry: Any) has EVALAB(Record(key: Symbol,entry: Any)) and Record(key: Symbol,entry: Any) has SETCAT +--R eval : (%,Equation(Record(key: Symbol,entry: Any))) -> % if Record(key: Symbol,entry: Any) has EVALAB(Record(key: Symbol,entry: Any)) and Record(key: Symbol,entry: Any) has SETCAT +--R eval : (%,List(Equation(Record(key: Symbol,entry: Any)))) -> % if Record(key: Symbol,entry: Any) has EVALAB(Record(key: Symbol,entry: Any)) and Record(key: Symbol,entry: Any) has SETCAT --R every? : ((Any -> Boolean),%) -> Boolean if $ has finiteAggregate --R every? : ((Record(key: Symbol,entry: Any) -> Boolean),%) -> Boolean if $ has finiteAggregate --R extract! : % -> Record(key: Symbol,entry: Any) --R fill! : (%,Any) -> % if $ has shallowlyMutable --R find : ((Record(key: Symbol,entry: Any) -> Boolean),%) -> Union(Record(key: Symbol,entry: Any),"failed") --R first : % -> Any if Symbol has ORDSET ---R getExplanations : (%,String) -> List String +--R getExplanations : (%,String) -> List(String) --R hash : % -> SingleInteger if Any has SETCAT or Record(key: Symbol,entry: Any) has SETCAT --R insert! : (Record(key: Symbol,entry: Any),%) -> % --R inspect : % -> Record(key: Symbol,entry: Any) @@ -112839,12 +113101,12 @@ RomanNumeral(): IntegerNumberSystem with --R maxIndex : % -> Symbol if Symbol has ORDSET --R member? : (Any,%) -> Boolean if $ has finiteAggregate and Any has SETCAT --R member? : (Record(key: Symbol,entry: Any),%) -> Boolean if $ has finiteAggregate and Record(key: Symbol,entry: Any) has SETCAT ---R members : % -> List Any if $ has finiteAggregate ---R members : % -> List Record(key: Symbol,entry: Any) if $ has finiteAggregate +--R members : % -> List(Any) if $ has finiteAggregate +--R members : % -> List(Record(key: Symbol,entry: Any)) if $ has finiteAggregate --R minIndex : % -> Symbol if Symbol has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List Any if $ has finiteAggregate ---R parts : % -> List Record(key: Symbol,entry: Any) if $ has finiteAggregate +--R parts : % -> List(Any) if $ has finiteAggregate +--R parts : % -> List(Record(key: Symbol,entry: Any)) if $ has finiteAggregate --R qsetelt! : (%,Symbol,Any) -> Any if $ has shallowlyMutable --R recoverAfterFail : (%,String,Integer) -> Union(String,"failed") --R reduce : (((Record(key: Symbol,entry: Any),Record(key: Symbol,entry: Any)) -> Record(key: Symbol,entry: Any)),%) -> Record(key: Symbol,entry: Any) if $ has finiteAggregate @@ -112865,7 +113127,7 @@ RomanNumeral(): IntegerNumberSystem with --R selectSumOfSquaresRoutines : % -> % --R size? : (%,NonNegativeInteger) -> Boolean --R swap! : (%,Symbol,Symbol) -> Void if $ has shallowlyMutable ---R table : List Record(key: Symbol,entry: Any) -> % +--R table : List(Record(key: Symbol,entry: Any)) -> % --R ?~=? : (%,%) -> Boolean if Any has SETCAT or Record(key: Symbol,entry: Any) has SETCAT --R --E 1 @@ -113361,7 +113623,8 @@ RoutinesTable(): E == I where --S 1 of 1 )show RuleCalled ---R RuleCalled f: Symbol is a domain constructor +--R +--R RuleCalled(f: Symbol) is a domain constructor --R Abbreviation for RuleCalled is RULECOLD --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for RULECOLD @@ -113434,7 +113697,8 @@ RuleCalled(f:Symbol): SetCategory with --S 1 of 1 )show Ruleset ---R Ruleset(Base: SetCategory,R: Join(Ring,PatternMatchable Base,OrderedSet,ConvertibleTo Pattern Base),F: Join(FunctionSpace R,PatternMatchable Base,ConvertibleTo Pattern Base)) is a domain constructor +--R +--R Ruleset(Base: SetCategory,R: Join(Ring,PatternMatchable(Base),OrderedSet,ConvertibleTo(Pattern(Base))),F: Join(FunctionSpace(R),PatternMatchable(Base),ConvertibleTo(Pattern(Base)))) is a domain constructor --R Abbreviation for Ruleset is RULESET --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for RULESET @@ -113444,8 +113708,8 @@ RuleCalled(f:Symbol): SetCategory with --R elt : (%,F,PositiveInteger) -> F ?.? : (%,F) -> F --R hash : % -> SingleInteger latex : % -> String --R ?~=? : (%,%) -> Boolean ---R rules : % -> List RewriteRule(Base,R,F) ---R ruleset : List RewriteRule(Base,R,F) -> % +--R rules : % -> List(RewriteRule(Base,R,F)) +--R ruleset : List(RewriteRule(Base,R,F)) -> % --R --E 1 @@ -113541,6 +113805,7 @@ Ruleset(Base, R, F): Exports == Implementation where --S 1 of 1 )show ScriptFormulaFormat +--R --R ScriptFormulaFormat is a domain constructor --R Abbreviation for ScriptFormulaFormat is FORMULA --R This constructor is exposed in this frame. @@ -113549,14 +113814,14 @@ Ruleset(Base, R, F): Exports == Implementation where --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean coerce : OutputForm -> % --R coerce : % -> OutputForm display : % -> Void ---R display : (%,Integer) -> Void epilogue : % -> List String ---R formula : % -> List String hash : % -> SingleInteger +--R display : (%,Integer) -> Void epilogue : % -> List(String) +--R formula : % -> List(String) hash : % -> SingleInteger --R latex : % -> String new : () -> % ---R prologue : % -> List String ?~=? : (%,%) -> Boolean +--R prologue : % -> List(String) ?~=? : (%,%) -> Boolean --R convert : (OutputForm,Integer) -> % ---R setEpilogue! : (%,List String) -> List String ---R setFormula! : (%,List String) -> List String ---R setPrologue! : (%,List String) -> List String +--R setEpilogue! : (%,List(String)) -> List(String) +--R setFormula! : (%,List(String)) -> List(String) +--R setPrologue! : (%,List(String)) -> List(String) --R --E 1 @@ -114043,7 +114308,7 @@ s := 3..10 --R --R --R (1) 3..10 ---R Type: Segment PositiveInteger +--R Type: Segment(PositiveInteger) --E 1 --S 2 of 10 @@ -114067,7 +114332,7 @@ t := 10..3 by -2 --R --R --R (4) 10..3 by - 2 ---R Type: Segment PositiveInteger +--R Type: Segment(PositiveInteger) --E 4 --S 5 of 10 @@ -114091,7 +114356,7 @@ l := [1..3, 5, 9, 15..11 by -1] --R --R --R (7) [1..3,5..5,9..9,15..11 by - 1] ---R Type: List Segment PositiveInteger +--R Type: List(Segment(PositiveInteger)) --E 7 --S 8 of 10 @@ -114099,7 +114364,7 @@ expand s --R --R --R (8) [3,4,5,6,7,8,9,10] ---R Type: List Integer +--R Type: List(Integer) --E 8 --S 9 of 10 @@ -114107,7 +114372,7 @@ expand t --R --R --R (9) [10,8,6,4] ---R Type: List Integer +--R Type: List(Integer) --E 9 --S 10 of 10 @@ -114115,7 +114380,7 @@ expand l --R --R --R (10) [1,2,3,5,9,15,14,13,12,11] ---R Type: List Integer +--R Type: List(Integer) --E 10 )spool )lisp (bye) @@ -114510,7 +114775,7 @@ s := set [x**2-1, y**2-1, z**2-1] --R --R 2 2 2 --R (1) {x - 1,y - 1,z - 1} ---R Type: Set Polynomial Integer +--R Type: Set(Polynomial(Integer)) --E 1 --S 2 of 20 @@ -114519,7 +114784,7 @@ t := set [x**i - i+1 for i in 2..10 | prime? i] --R --R 2 3 5 7 --R (2) {x - 1,x - 2,x - 4,x - 6} ---R Type: Set Polynomial Integer +--R Type: Set(Polynomial(Integer)) --E 2 --S 3 of 20 @@ -114528,7 +114793,7 @@ i := intersect(s,t) --R --R 2 --R (3) {x - 1} ---R Type: Set Polynomial Integer +--R Type: Set(Polynomial(Integer)) --E 3 --S 4 of 20 @@ -114537,7 +114802,7 @@ u := union(s,t) --R --R 2 3 5 7 2 2 --R (4) {x - 1,x - 2,x - 4,x - 6,y - 1,z - 1} ---R Type: Set Polynomial Integer +--R Type: Set(Polynomial(Integer)) --E 4 --S 5 of 20 @@ -114546,7 +114811,7 @@ difference(s,t) --R --R 2 2 --R (5) {y - 1,z - 1} ---R Type: Set Polynomial Integer +--R Type: Set(Polynomial(Integer)) --E 5 --S 6 of 20 @@ -114555,7 +114820,7 @@ symmetricDifference(s,t) --R --R 3 5 7 2 2 --R (6) {x - 2,x - 4,x - 6,y - 1,z - 1} ---R Type: Set Polynomial Integer +--R Type: Set(Polynomial(Integer)) --E 6 --S 7 of 20 @@ -114595,7 +114860,7 @@ gs := set [g for i in 1..11 | primitive?(g := i::PF 11)] --R --R --R (11) {2,6,7,8} ---R Type: Set PrimeField 11 +--R Type: Set(PrimeField(11)) --E 11 --S 12 of 20 @@ -114603,7 +114868,7 @@ complement gs --R --R --R (12) {1,3,4,5,9,10,0} ---R Type: Set PrimeField 11 +--R Type: Set(PrimeField(11)) --E 12 --S 13 of 20 @@ -114611,7 +114876,7 @@ a := set [i**2 for i in 1..5] --R --R --R (13) {1,4,9,16,25} ---R Type: Set PositiveInteger +--R Type: Set(PositiveInteger) --E 13 --S 14 of 20 @@ -114619,7 +114884,7 @@ insert!(32, a) --R --R --R (14) {1,4,9,16,25,32} ---R Type: Set PositiveInteger +--R Type: Set(PositiveInteger) --E 14 --S 15 of 20 @@ -114627,7 +114892,7 @@ remove!(25, a) --R --R --R (15) {1,4,9,16,32} ---R Type: Set PositiveInteger +--R Type: Set(PositiveInteger) --E 15 --S 16 of 20 @@ -114635,7 +114900,7 @@ a --R --R --R (16) {1,4,9,16,32} ---R Type: Set PositiveInteger +--R Type: Set(PositiveInteger) --E 16 --S 17 of 20 @@ -114643,7 +114908,7 @@ b := b0 := set [i**2 for i in 1..5] --R --R --R (17) {1,4,9,16,25} ---R Type: Set PositiveInteger +--R Type: Set(PositiveInteger) --E 17 --S 18 of 20 @@ -114651,7 +114916,7 @@ b := union(b, {32}) --R --R --R (18) {1,4,9,16,25,32} ---R Type: Set PositiveInteger +--R Type: Set(PositiveInteger) --E 18 --S 19 of 20 @@ -114659,7 +114924,7 @@ b := difference(b, {25}) --R --R --R (19) {1,4,9,16,32} ---R Type: Set PositiveInteger +--R Type: Set(PositiveInteger) --E 19 --S 20 of 20 @@ -114667,7 +114932,7 @@ b0 --R --R --R (20) {1,4,9,16,25} ---R Type: Set PositiveInteger +--R Type: Set(PositiveInteger) --E 20 )spool )lisp (bye) @@ -115065,6 +115330,7 @@ Set(S:SetCategory): FiniteSetAggregate S == add --S 1 of 1 )show SetOfMIntegersInOneToN +--R --R SetOfMIntegersInOneToN(m: PositiveInteger,n: PositiveInteger) is a domain constructor --R Abbreviation for SetOfMIntegersInOneToN is SETMN --R This constructor is not exposed in this frame. @@ -115072,16 +115338,16 @@ Set(S:SetCategory): FiniteSetAggregate S == add --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm ---R enumerate : () -> Vector % hash : % -> SingleInteger +--R enumerate : () -> Vector(%) hash : % -> SingleInteger --R index : PositiveInteger -> % latex : % -> String --R lookup : % -> PositiveInteger random : () -> % --R size : () -> NonNegativeInteger ?~=? : (%,%) -> Boolean --R delta : (%,PositiveInteger,PositiveInteger) -> NonNegativeInteger ---R elements : % -> List PositiveInteger +--R elements : % -> List(PositiveInteger) --R incrementKthElement : (%,PositiveInteger) -> Union(%,"failed") --R member? : (PositiveInteger,%) -> Boolean --R replaceKthElement : (%,PositiveInteger,PositiveInteger) -> Union(%,"failed") ---R setOfMinN : List PositiveInteger -> % +--R setOfMinN : List(PositiveInteger) -> % --R --E 1 @@ -115619,24 +115885,169 @@ SequentialDifferentialPolynomial(R): --S 1 of 1 )show SequentialDifferentialVariable ---R SequentialDifferentialVariable S: OrderedSet is a domain constructor ---R Abbreviation for SequentialDifferentialVariable is SDVAR +--R +--R SequentialDifferentialPolynomial(R: Ring) is a domain constructor +--R Abbreviation for SequentialDifferentialPolynomial is SDPOL --R This constructor is not exposed in this frame. ---R Issue )edit bookvol10.3.pamphlet to see algebra source code for SDVAR +--R Issue )edit bookvol10.3.pamphlet to see algebra source code for SDPOL --R --R------------------------------- Operations -------------------------------- ---R ? Boolean ?<=? : (%,%) -> Boolean ---R ?=? : (%,%) -> Boolean ?>? : (%,%) -> Boolean ---R ?>=? : (%,%) -> Boolean coerce : S -> % ---R coerce : % -> OutputForm differentiate : % -> % ---R hash : % -> SingleInteger latex : % -> String ---R max : (%,%) -> % min : (%,%) -> % ---R order : % -> NonNegativeInteger retract : % -> S ---R variable : % -> S weight : % -> NonNegativeInteger ---R ?~=? : (%,%) -> Boolean ---R differentiate : (%,NonNegativeInteger) -> % ---R makeVariable : (S,NonNegativeInteger) -> % ---R retractIfCan : % -> Union(S,"failed") +--R ?*? : (%,R) -> % ?*? : (R,%) -> % +--R ?*? : (%,%) -> % ?*? : (Integer,%) -> % +--R ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> % +--R ?+? : (%,%) -> % ?-? : (%,%) -> % +--R -? : % -> % ?=? : (%,%) -> Boolean +--R D : (%,(R -> R)) -> % D : % -> % if R has DIFRING +--R 1 : () -> % 0 : () -> % +--R ?^? : (%,PositiveInteger) -> % coefficients : % -> List(R) +--R coerce : Symbol -> % coerce : R -> % +--R coerce : Integer -> % coerce : % -> OutputForm +--R eval : (%,%,%) -> % eval : (%,Equation(%)) -> % +--R ground : % -> R ground? : % -> Boolean +--R hash : % -> SingleInteger initial : % -> % +--R isobaric? : % -> Boolean latex : % -> String +--R leadingCoefficient : % -> R leadingMonomial : % -> % +--R map : ((R -> R),%) -> % monomial? : % -> Boolean +--R monomials : % -> List(%) one? : % -> Boolean +--R order : % -> NonNegativeInteger recip : % -> Union(%,"failed") +--R reductum : % -> % retract : % -> Symbol +--R retract : % -> R sample : () -> % +--R separant : % -> % weight : % -> NonNegativeInteger +--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean +--R ?*? : (Fraction(Integer),%) -> % if R has ALGEBRA(FRAC(INT)) +--R ?*? : (%,Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT)) +--R ?*? : (NonNegativeInteger,%) -> % +--R ?**? : (%,NonNegativeInteger) -> % +--R ?/? : (%,R) -> % if R has FIELD +--R ? Boolean if R has ORDSET +--R ?<=? : (%,%) -> Boolean if R has ORDSET +--R ?>? : (%,%) -> Boolean if R has ORDSET +--R ?>=? : (%,%) -> Boolean if R has ORDSET +--R D : (%,(R -> R),NonNegativeInteger) -> % +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R D : (%,Symbol) -> % if R has PDRING(SYMBOL) +--R D : (%,NonNegativeInteger) -> % if R has DIFRING +--R D : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> % +--R D : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> % +--R D : (%,List(SequentialDifferentialVariable(Symbol))) -> % +--R D : (%,SequentialDifferentialVariable(Symbol)) -> % +--R ?^? : (%,NonNegativeInteger) -> % +--R associates? : (%,%) -> Boolean if R has INTDOM +--R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING +--R characteristic : () -> NonNegativeInteger +--R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and R has PFECAT or R has CHARNZ +--R coefficient : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> % +--R coefficient : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> % +--R coefficient : (%,IndexedExponents(SequentialDifferentialVariable(Symbol))) -> R +--R coerce : % -> % if R has INTDOM +--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT)) +--R coerce : SparseMultivariatePolynomial(R,Symbol) -> % +--R coerce : SequentialDifferentialVariable(Symbol) -> % +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and R has PFECAT +--R content : (%,SequentialDifferentialVariable(Symbol)) -> % if R has GCDDOM +--R content : % -> R if R has GCDDOM +--R convert : % -> InputForm if SequentialDifferentialVariable(Symbol) has KONVERT(INFORM) and R has KONVERT(INFORM) +--R convert : % -> Pattern(Integer) if SequentialDifferentialVariable(Symbol) has KONVERT(PATTERN(INT)) and R has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if SequentialDifferentialVariable(Symbol) has KONVERT(PATTERN(FLOAT)) and R has KONVERT(PATTERN(FLOAT)) +--R degree : (%,Symbol) -> NonNegativeInteger +--R degree : (%,List(SequentialDifferentialVariable(Symbol))) -> List(NonNegativeInteger) +--R degree : (%,SequentialDifferentialVariable(Symbol)) -> NonNegativeInteger +--R degree : % -> IndexedExponents(SequentialDifferentialVariable(Symbol)) +--R differentialVariables : % -> List(Symbol) +--R differentiate : (%,(R -> R)) -> % +--R differentiate : (%,(R -> R),NonNegativeInteger) -> % +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,Symbol) -> % if R has PDRING(SYMBOL) +--R differentiate : (%,NonNegativeInteger) -> % if R has DIFRING +--R differentiate : % -> % if R has DIFRING +--R differentiate : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> % +--R differentiate : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> % +--R differentiate : (%,List(SequentialDifferentialVariable(Symbol))) -> % +--R differentiate : (%,SequentialDifferentialVariable(Symbol)) -> % +--R discriminant : (%,SequentialDifferentialVariable(Symbol)) -> % if R has COMRING +--R eval : (%,List(Symbol),List(R)) -> % if R has DIFRING +--R eval : (%,Symbol,R) -> % if R has DIFRING +--R eval : (%,List(Symbol),List(%)) -> % if R has DIFRING +--R eval : (%,Symbol,%) -> % if R has DIFRING +--R eval : (%,List(SequentialDifferentialVariable(Symbol)),List(%)) -> % +--R eval : (%,SequentialDifferentialVariable(Symbol),%) -> % +--R eval : (%,List(SequentialDifferentialVariable(Symbol)),List(R)) -> % +--R eval : (%,SequentialDifferentialVariable(Symbol),R) -> % +--R eval : (%,List(%),List(%)) -> % +--R eval : (%,List(Equation(%))) -> % +--R exquo : (%,%) -> Union(%,"failed") if R has INTDOM +--R exquo : (%,R) -> Union(%,"failed") if R has INTDOM +--R factor : % -> Factored(%) if R has PFECAT +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT +--R gcd : (%,%) -> % if R has GCDDOM +--R gcd : List(%) -> % if R has GCDDOM +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has GCDDOM +--R isExpt : % -> Union(Record(var: SequentialDifferentialVariable(Symbol),exponent: NonNegativeInteger),"failed") +--R isPlus : % -> Union(List(%),"failed") +--R isTimes : % -> Union(List(%),"failed") +--R lcm : (%,%) -> % if R has GCDDOM +--R lcm : List(%) -> % if R has GCDDOM +--R leader : % -> SequentialDifferentialVariable(Symbol) +--R mainVariable : % -> Union(SequentialDifferentialVariable(Symbol),"failed") +--R makeVariable : % -> (NonNegativeInteger -> %) if R has DIFRING +--R makeVariable : Symbol -> (NonNegativeInteger -> %) +--R mapExponents : ((IndexedExponents(SequentialDifferentialVariable(Symbol)) -> IndexedExponents(SequentialDifferentialVariable(Symbol))),%) -> % +--R max : (%,%) -> % if R has ORDSET +--R min : (%,%) -> % if R has ORDSET +--R minimumDegree : (%,List(SequentialDifferentialVariable(Symbol))) -> List(NonNegativeInteger) +--R minimumDegree : (%,SequentialDifferentialVariable(Symbol)) -> NonNegativeInteger +--R minimumDegree : % -> IndexedExponents(SequentialDifferentialVariable(Symbol)) +--R monicDivide : (%,%,SequentialDifferentialVariable(Symbol)) -> Record(quotient: %,remainder: %) +--R monomial : (%,List(SequentialDifferentialVariable(Symbol)),List(NonNegativeInteger)) -> % +--R monomial : (%,SequentialDifferentialVariable(Symbol),NonNegativeInteger) -> % +--R monomial : (R,IndexedExponents(SequentialDifferentialVariable(Symbol))) -> % +--R multivariate : (SparseUnivariatePolynomial(%),SequentialDifferentialVariable(Symbol)) -> % +--R multivariate : (SparseUnivariatePolynomial(R),SequentialDifferentialVariable(Symbol)) -> % +--R numberOfMonomials : % -> NonNegativeInteger +--R order : (%,Symbol) -> NonNegativeInteger +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if SequentialDifferentialVariable(Symbol) has PATMAB(INT) and R has PATMAB(INT) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if SequentialDifferentialVariable(Symbol) has PATMAB(FLOAT) and R has PATMAB(FLOAT) +--R pomopo! : (%,R,IndexedExponents(SequentialDifferentialVariable(Symbol)),%) -> % +--R prime? : % -> Boolean if R has PFECAT +--R primitiveMonomials : % -> List(%) +--R primitivePart : (%,SequentialDifferentialVariable(Symbol)) -> % if R has GCDDOM +--R primitivePart : % -> % if R has GCDDOM +--R reducedSystem : Matrix(%) -> Matrix(R) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(R),vec: Vector(R)) +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if R has LINEXP(INT) +--R reducedSystem : Matrix(%) -> Matrix(Integer) if R has LINEXP(INT) +--R resultant : (%,%,SequentialDifferentialVariable(Symbol)) -> % if R has COMRING +--R retract : % -> SparseMultivariatePolynomial(R,Symbol) +--R retract : % -> SequentialDifferentialVariable(Symbol) +--R retract : % -> Integer if R has RETRACT(INT) +--R retract : % -> Fraction(Integer) if R has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(SparseMultivariatePolynomial(R,Symbol),"failed") +--R retractIfCan : % -> Union(Symbol,"failed") +--R retractIfCan : % -> Union(SequentialDifferentialVariable(Symbol),"failed") +--R retractIfCan : % -> Union(Integer,"failed") if R has RETRACT(INT) +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if R has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(R,"failed") +--R solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)),SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)),"failed") if R has PFECAT +--R squareFree : % -> Factored(%) if R has GCDDOM +--R squareFreePart : % -> % if R has GCDDOM +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PFECAT +--R subtractIfCan : (%,%) -> Union(%,"failed") +--R totalDegree : (%,List(SequentialDifferentialVariable(Symbol))) -> NonNegativeInteger +--R totalDegree : % -> NonNegativeInteger +--R unit? : % -> Boolean if R has INTDOM +--R unitCanonical : % -> % if R has INTDOM +--R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if R has INTDOM +--R univariate : % -> SparseUnivariatePolynomial(R) +--R univariate : (%,SequentialDifferentialVariable(Symbol)) -> SparseUnivariatePolynomial(%) +--R variables : % -> List(SequentialDifferentialVariable(Symbol)) +--R weight : (%,Symbol) -> NonNegativeInteger +--R weights : (%,Symbol) -> List(NonNegativeInteger) +--R weights : % -> List(NonNegativeInteger) --R --E 1 @@ -115740,6 +116151,7 @@ SequentialDifferentialVariable(S:OrderedSet):DifferentialVariableCategory(S) --S 1 of 1 )show SExpression +--R --R SExpression is a domain constructor --R Abbreviation for SExpression is SEX --R This constructor is not exposed in this frame. @@ -115751,8 +116163,8 @@ SequentialDifferentialVariable(S:OrderedSet):DifferentialVariableCategory(S) --R cdr : % -> % coerce : % -> OutputForm --R convert : OutputForm -> % convert : DoubleFloat -> % --R convert : Integer -> % convert : Symbol -> % ---R convert : String -> % convert : List % -> % ---R destruct : % -> List % ?.? : (%,List Integer) -> % +--R convert : String -> % convert : List(%) -> % +--R destruct : % -> List(%) ?.? : (%,List(Integer)) -> % --R ?.? : (%,Integer) -> % eq : (%,%) -> Boolean --R expr : % -> OutputForm float : % -> DoubleFloat --R float? : % -> Boolean hash : % -> SingleInteger @@ -115843,6 +116255,7 @@ SExpression() --S 1 of 1 )show SExpressionOf +--R --R SExpressionOf(Str: SetCategory,Sym: SetCategory,Int: SetCategory,Flt: SetCategory,Expr: SetCategory) is a domain constructor --R Abbreviation for SExpressionOf is SEXOF --R This constructor is not exposed in this frame. @@ -115854,8 +116267,8 @@ SExpression() --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 @@ -116005,7 +116418,8 @@ SExpressionOf(Str, Sym, Int, Flt, Expr): Decl == Body where --S 1 of 1 )show SimpleAlgebraicExtension ---R SimpleAlgebraicExtension(R: CommutativeRing,UP: UnivariatePolynomialCategory R,M: UP) is a domain constructor +--R +--R SimpleAlgebraicExtension(R: CommutativeRing,UP: UnivariatePolynomialCategory(R),M: UP) is a domain constructor --R Abbreviation for SimpleAlgebraicExtension is SAE --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for SAE @@ -116017,33 +116431,33 @@ SExpressionOf(Str, Sym, Int, Flt, Expr): Decl == Body where --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 R has FIELD and R has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if R has FIELD and R has PDRING SYMBOL ---R D : (%,List Symbol) -> % if R has FIELD and R has PDRING SYMBOL ---R D : (%,Symbol) -> % if R has FIELD and R has PDRING SYMBOL +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has FIELD and R has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if R has FIELD and R has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if R has FIELD and R has PDRING(SYMBOL) +--R D : (%,Symbol) -> % if R has FIELD and R has PDRING(SYMBOL) --R D : (%,NonNegativeInteger) -> % if R has DIFRING and R has FIELD or R has FFIELDC --R D : % -> % if R has DIFRING and R has FIELD or R has FFIELDC --R ?^? : (%,Integer) -> % if R has FIELD @@ -116053,75 +116467,75 @@ SExpressionOf(Str, Sym, Int, Flt, Expr): Decl == Body where --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 R has FIELD and R has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has FIELD and R has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if R has FIELD and R has PDRING SYMBOL ---R differentiate : (%,Symbol) -> % if R has FIELD and R has PDRING SYMBOL +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if R has FIELD and R has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if R has FIELD and R has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if R has FIELD and R has PDRING(SYMBOL) +--R differentiate : (%,Symbol) -> % if R has FIELD and R has PDRING(SYMBOL) --R differentiate : (%,NonNegativeInteger) -> % if R has DIFRING and R has FIELD or R has FFIELDC --R differentiate : % -> % if R has DIFRING and R has 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 @@ -116428,7 +116842,8 @@ SimpleAlgebraicExtension(R:CommutativeRing, --S 1 of 1 )show SimpleFortranProgram ---R SimpleFortranProgram(R: OrderedSet,FS: FunctionSpace R) is a domain constructor +--R +--R SimpleFortranProgram(R: OrderedSet,FS: FunctionSpace(R)) is a domain constructor --R Abbreviation for SimpleFortranProgram is SFORT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for SFORT @@ -117138,6 +117553,7 @@ SingletonAsOrderedSet(): OrderedSet with --S 1 of 1 )show SparseMultivariatePolynomial +--R --R SparseMultivariatePolynomial(R: Ring,VarSet: OrderedSet) is a domain constructor --R Abbreviation for SparseMultivariatePolynomial is SMP --R This constructor is not exposed in this frame. @@ -117149,26 +117565,25 @@ SingletonAsOrderedSet(): OrderedSet with --R ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> % --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean ---R D : (%,List VarSet) -> % D : (%,VarSet) -> % +--R D : (%,List(VarSet)) -> % D : (%,VarSet) -> % --R 1 : () -> % 0 : () -> % ---R ?^? : (%,PositiveInteger) -> % coefficients : % -> List R +--R ?^? : (%,PositiveInteger) -> % coefficients : % -> List(R) --R coerce : VarSet -> % coerce : R -> % --R coerce : Integer -> % coerce : % -> OutputForm --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 monomial? : % -> Boolean monomials : % -> List % ---R one? : % -> Boolean 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 monomial? : % -> Boolean monomials : % -> List(%) +--R one? : % -> Boolean 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 @@ -117176,89 +117591,92 @@ SingletonAsOrderedSet(): OrderedSet with --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 $ has CHARNZ and R has PFECAT or R has CHARNZ ---R coefficient : (%,List VarSet,List NonNegativeInteger) -> % +--R coefficient : (%,List(VarSet),List(NonNegativeInteger)) -> % --R coefficient : (%,VarSet,NonNegativeInteger) -> % ---R coefficient : (%,IndexedExponents VarSet) -> R ---R coerce : Fraction Integer -> % if R has ALGEBRA FRAC INT or R has RETRACT FRAC INT +--R coefficient : (%,IndexedExponents(VarSet)) -> R +--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT)) --R coerce : % -> % if R has INTDOM ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and R has PFECAT +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and R has PFECAT --R content : (%,VarSet) -> % if R has GCDDOM --R content : % -> R if R has GCDDOM ---R convert : % -> InputForm if R has KONVERT INFORM and VarSet has KONVERT INFORM ---R convert : % -> Pattern Integer if R has KONVERT PATTERN INT and VarSet has KONVERT PATTERN INT ---R convert : % -> Pattern Float if R has KONVERT PATTERN FLOAT and VarSet has KONVERT PATTERN FLOAT ---R degree : (%,List VarSet) -> List NonNegativeInteger +--R convert : % -> InputForm if R has KONVERT(INFORM) and VarSet has KONVERT(INFORM) +--R convert : % -> Pattern(Integer) if R has KONVERT(PATTERN(INT)) and VarSet has KONVERT(PATTERN(INT)) +--R convert : % -> Pattern(Float) if R has KONVERT(PATTERN(FLOAT)) and VarSet has KONVERT(PATTERN(FLOAT)) +--R degree : (%,List(VarSet)) -> List(NonNegativeInteger) --R degree : (%,VarSet) -> NonNegativeInteger ---R degree : % -> IndexedExponents VarSet ---R differentiate : (%,List VarSet,List NonNegativeInteger) -> % +--R degree : % -> IndexedExponents(VarSet) +--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 mapExponents : ((IndexedExponents VarSet -> IndexedExponents VarSet),%) -> % +--R mapExponents : ((IndexedExponents(VarSet) -> IndexedExponents(VarSet)),%) -> % --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 minimumDegree : % -> IndexedExponents VarSet +--R minimumDegree : % -> IndexedExponents(VarSet) --R monicDivide : (%,%,VarSet) -> Record(quotient: %,remainder: %) ---R monomial : (%,List VarSet,List NonNegativeInteger) -> % +--R monomial : (%,List(VarSet),List(NonNegativeInteger)) -> % --R monomial : (%,VarSet,NonNegativeInteger) -> % ---R monomial : (R,IndexedExponents VarSet) -> % ---R multivariate : (SparseUnivariatePolynomial %,VarSet) -> % ---R multivariate : (SparseUnivariatePolynomial R,VarSet) -> % +--R monomial : (R,IndexedExponents(VarSet)) -> % +--R multivariate : (SparseUnivariatePolynomial(%),VarSet) -> % +--R multivariate : (SparseUnivariatePolynomial(R),VarSet) -> % --R numberOfMonomials : % -> NonNegativeInteger ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if R has PATMAB INT and VarSet has PATMAB INT ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB FLOAT and VarSet has PATMAB FLOAT ---R pomopo! : (%,R,IndexedExponents VarSet,%) -> % +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if R has PATMAB(INT) and VarSet has PATMAB(INT) +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if R has PATMAB(FLOAT) and VarSet has PATMAB(FLOAT) +--R pomopo! : (%,R,IndexedExponents(VarSet),%) -> % --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 @@ -117970,7 +118388,7 @@ xts:=x::TaylorSeries Fraction Integer --R --R --R (1) x ---R Type: TaylorSeries Fraction Integer +--R Type: TaylorSeries(Fraction(Integer)) --E 1 --S 2 of 10 @@ -117978,7 +118396,7 @@ yts:=y::TaylorSeries Fraction Integer --R --R --R (2) y ---R Type: TaylorSeries Fraction Integer +--R Type: TaylorSeries(Fraction(Integer)) --E 2 --S 3 of 10 @@ -117986,7 +118404,7 @@ zts:=z::TaylorSeries Fraction Integer --R --R --R (3) z ---R Type: TaylorSeries Fraction Integer +--R Type: TaylorSeries(Fraction(Integer)) --E 3 --S 4 of 10 @@ -117996,7 +118414,7 @@ t1:=sin(xts) --R 1 3 1 5 1 7 1 9 --R (4) x - - x + --- x - ---- x + ------ x + O(11) --R 6 120 5040 362880 ---R Type: TaylorSeries Fraction Integer +--R Type: TaylorSeries(Fraction(Integer)) --E 4 --S 5 of 10 @@ -118006,7 +118424,7 @@ coefficient(t1,3) --R 1 3 --R (5) - - x --R 6 ---R Type: Polynomial Fraction Integer +--R Type: Polynomial(Fraction(Integer)) --E 5 --S 6 of 10 @@ -118016,7 +118434,7 @@ coefficient(t1,monomial(3,x)$IndexedExponents Symbol) --R 1 --R (6) - - --R 6 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 6 --S 7 of 10 @@ -118051,7 +118469,7 @@ t2:=sin(xts + yts) --R 2880 4320 10080 40320 362880 --R + --R O(11) ---R Type: TaylorSeries Fraction Integer +--R Type: TaylorSeries(Fraction(Integer)) --E 7 --S 8 of 10 @@ -118061,7 +118479,7 @@ coefficient(t2,3) --R 1 3 1 2 1 2 1 3 --R (8) - - y - - x y - - x y - - x --R 6 2 2 6 ---R Type: Polynomial Fraction Integer +--R Type: Polynomial(Fraction(Integer)) --E 8 --S 9 of 10 @@ -118071,7 +118489,7 @@ coefficient(t2,monomial(3,x)$IndexedExponents Symbol) --R 1 --R (9) - - --R 6 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 9 --S 10 of 10 @@ -118086,7 +118504,7 @@ polynomial(t2,5) --R 1 5 1 3 --R --- x - - x + x --R 120 6 ---R Type: Polynomial Fraction Integer +--R Type: Polynomial(Fraction(Integer)) --E 10 )spool @@ -118625,7 +119043,7 @@ keys t --R --R --R (6) [4,3] ---R Type: List Integer +--R Type: List(Integer) --E 6 --S 7 of 7 @@ -118633,7 +119051,7 @@ entries t --R --R --R (7) ["Number four","Number three"] ---R Type: List String +--R Type: List(String) --E 7 )spool )lisp (bye) @@ -118803,6 +119221,7 @@ SparseTable(Key:SetCategory, Ent:SetCategory, dent:Ent) == --S 1 of 1 )show SparseUnivariateLaurentSeries +--R --R SparseUnivariateLaurentSeries(Coef: Ring,var: Symbol,cen: Coef) is a domain constructor --R Abbreviation for SparseUnivariateLaurentSeries is SULS --R This constructor is not exposed in this frame. @@ -118816,7 +119235,7 @@ SparseTable(Key:SetCategory, Ent:SetCategory, dent:Ent) == --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> Coef ---R coefficient : (%,Integer) -> Coef coerce : Variable var -> % +--R coefficient : (%,Integer) -> Coef coerce : Variable(var) -> % --R coerce : Integer -> % coerce : % -> OutputForm --R complete : % -> % degree : % -> Integer --R ?.? : (%,Integer) -> Coef extend : (%,Integer) -> % @@ -118830,13 +119249,13 @@ SparseTable(Key:SetCategory, Ent:SetCategory, dent:Ent) == --R removeZeroes : % -> % sample : () -> % --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 ?*? : (SparseUnivariateTaylorSeries(Coef,var,cen),%) -> % if Coef has FIELD --R ?*? : (%,SparseUnivariateTaylorSeries(Coef,var,cen)) -> % 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 ?/? : (SparseUnivariateTaylorSeries(Coef,var,cen),SparseUnivariateTaylorSeries(Coef,var,cen)) -> % if Coef has FIELD @@ -118846,10 +119265,10 @@ SparseTable(Key:SetCategory, Ent:SetCategory, dent:Ent) == --R ?<=? : (%,%) -> Boolean if SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has ORDSET and Coef has FIELD --R ?>? : (%,%) -> Boolean if SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has ORDSET and Coef has FIELD --R ?>=? : (%,%) -> Boolean if SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has ORDSET and Coef has FIELD ---R D : (%,Symbol) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--R D : (%,Symbol) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) --R D : % -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef --R D : (%,NonNegativeInteger) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef --R D : (%,(SparseUnivariateTaylorSeries(Coef,var,cen) -> SparseUnivariateTaylorSeries(Coef,var,cen)),NonNegativeInteger) -> % if Coef has FIELD @@ -118857,144 +119276,144 @@ SparseTable(Key:SetCategory, Ent:SetCategory, dent:Ent) == --R ?^? : (%,Integer) -> % if Coef has FIELD --R ?^? : (%,NonNegativeInteger) -> % --R abs : % -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has 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 SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or 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 : % -> SparseUnivariateTaylorSeries(Coef,var,cen) if SparseUnivariateTaylorSeries(Coef,var,cen) has INS and Coef has FIELD --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has CHARNZ and Coef has FIELD or Coef has CHARNZ ---R coerce : Fraction Integer -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT INT and Coef has FIELD or Coef has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT(INT) and Coef has FIELD or Coef has ALGEBRA(FRAC(INT)) --R coerce : % -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or Coef has INTDOM ---R coerce : Symbol -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT SYMBOL and Coef has FIELD +--R coerce : Symbol -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT(SYMBOL) and Coef has FIELD --R coerce : SparseUnivariateTaylorSeries(Coef,var,cen) -> % --R coerce : Coef -> % if Coef has COMRING ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD ---R convert : % -> Pattern Integer if SparseUnivariateTaylorSeries(Coef,var,cen) has KONVERT PATTERN INT and Coef has FIELD ---R convert : % -> Pattern Float if SparseUnivariateTaylorSeries(Coef,var,cen) has KONVERT PATTERN FLOAT and Coef has FIELD +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD +--R convert : % -> Pattern(Integer) if SparseUnivariateTaylorSeries(Coef,var,cen) has KONVERT(PATTERN(INT)) and Coef has FIELD +--R convert : % -> Pattern(Float) if SparseUnivariateTaylorSeries(Coef,var,cen) has KONVERT(PATTERN(FLOAT)) and Coef has FIELD --R convert : % -> DoubleFloat if SparseUnivariateTaylorSeries(Coef,var,cen) has REAL and Coef has FIELD --R convert : % -> Float if SparseUnivariateTaylorSeries(Coef,var,cen) has REAL and Coef has FIELD ---R convert : % -> InputForm if SparseUnivariateTaylorSeries(Coef,var,cen) has KONVERT INFORM and Coef has 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 convert : % -> InputForm if SparseUnivariateTaylorSeries(Coef,var,cen) has KONVERT(INFORM) and Coef has 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 denom : % -> SparseUnivariateTaylorSeries(Coef,var,cen) if Coef has FIELD --R denominator : % -> % if Coef has FIELD ---R differentiate : (%,Symbol) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) --R differentiate : % -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef ---R differentiate : (%,Variable var) -> % +--R differentiate : (%,Variable(var)) -> % --R differentiate : (%,(SparseUnivariateTaylorSeries(Coef,var,cen) -> SparseUnivariateTaylorSeries(Coef,var,cen)),NonNegativeInteger) -> % if Coef has FIELD --R differentiate : (%,(SparseUnivariateTaylorSeries(Coef,var,cen) -> SparseUnivariateTaylorSeries(Coef,var,cen))) -> % if Coef has FIELD --R divide : (%,%) -> Record(quotient: %,remainder: %) if Coef has FIELD --R ?.? : (%,SparseUnivariateTaylorSeries(Coef,var,cen)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has ELTAB(SUTS(Coef,var,cen),SUTS(Coef,var,cen)) and Coef has FIELD --R ?.? : (%,%) -> % if Integer has SGROUP --R euclideanSize : % -> NonNegativeInteger if Coef has FIELD ---R eval : (%,List SparseUnivariateTaylorSeries(Coef,var,cen),List SparseUnivariateTaylorSeries(Coef,var,cen)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has EVALAB SUTS(Coef,var,cen) and Coef has FIELD ---R eval : (%,SparseUnivariateTaylorSeries(Coef,var,cen),SparseUnivariateTaylorSeries(Coef,var,cen)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has EVALAB SUTS(Coef,var,cen) and Coef has FIELD ---R eval : (%,Equation SparseUnivariateTaylorSeries(Coef,var,cen)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has EVALAB SUTS(Coef,var,cen) and Coef has FIELD ---R eval : (%,List Equation SparseUnivariateTaylorSeries(Coef,var,cen)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has EVALAB SUTS(Coef,var,cen) and Coef has FIELD ---R eval : (%,List Symbol,List SparseUnivariateTaylorSeries(Coef,var,cen)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has IEVALAB(SYMBOL,SUTS(Coef,var,cen)) and Coef has FIELD +--R eval : (%,List(SparseUnivariateTaylorSeries(Coef,var,cen)),List(SparseUnivariateTaylorSeries(Coef,var,cen))) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has EVALAB(SUTS(Coef,var,cen)) and Coef has FIELD +--R eval : (%,SparseUnivariateTaylorSeries(Coef,var,cen),SparseUnivariateTaylorSeries(Coef,var,cen)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has EVALAB(SUTS(Coef,var,cen)) and Coef has FIELD +--R eval : (%,Equation(SparseUnivariateTaylorSeries(Coef,var,cen))) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has EVALAB(SUTS(Coef,var,cen)) and Coef has FIELD +--R eval : (%,List(Equation(SparseUnivariateTaylorSeries(Coef,var,cen)))) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has EVALAB(SUTS(Coef,var,cen)) and Coef has FIELD +--R eval : (%,List(Symbol),List(SparseUnivariateTaylorSeries(Coef,var,cen))) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has IEVALAB(SYMBOL,SUTS(Coef,var,cen)) and Coef has FIELD --R eval : (%,Symbol,SparseUnivariateTaylorSeries(Coef,var,cen)) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has IEVALAB(SYMBOL,SUTS(Coef,var,cen)) and 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 SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or 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 SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD +--R factor : % -> Factored(%) if Coef has FIELD +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD --R floor : % -> SparseUnivariateTaylorSeries(Coef,var,cen) if SparseUnivariateTaylorSeries(Coef,var,cen) has INS and Coef has FIELD --R fractionPart : % -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has EUCDOM and 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 gcd : List(%) -> % if Coef has FIELD +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if Coef has FIELD --R init : () -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has STEP and Coef has FIELD ---R integrate : (%,Variable var) -> % if Coef has ALGEBRA FRAC INT ---R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List Symbol and Coef has ALGEBRA FRAC INT or Coef has ACFS INT and Coef has ALGEBRA FRAC INT and Coef has PRIMCAT and Coef has TRANFUN ---R integrate : % -> % if Coef has ALGEBRA FRAC INT +--R integrate : (%,Variable(var)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List(Symbol) and Coef has ALGEBRA(FRAC(INT)) or Coef has ACFS(INT) and Coef has ALGEBRA(FRAC(INT)) and Coef has PRIMCAT and Coef has TRANFUN +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) --R inv : % -> % if Coef has FIELD --R laurent : (Integer,SparseUnivariateTaylorSeries(Coef,var,cen)) -> % --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 : ((SparseUnivariateTaylorSeries(Coef,var,cen) -> SparseUnivariateTaylorSeries(Coef,var,cen)),%) -> % if Coef has FIELD --R max : (%,%) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has ORDSET and Coef has FIELD --R min : (%,%) -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has ORDSET and Coef has 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 SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD --R nextItem : % -> Union(%,"failed") if SparseUnivariateTaylorSeries(Coef,var,cen) has STEP and Coef has FIELD ---R nthRoot : (%,Integer) -> % if Coef has ALGEBRA FRAC INT +--R nthRoot : (%,Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R numer : % -> SparseUnivariateTaylorSeries(Coef,var,cen) if Coef has FIELD --R numerator : % -> % if Coef has FIELD ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if SparseUnivariateTaylorSeries(Coef,var,cen) has PATMAB FLOAT and Coef has FIELD ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if SparseUnivariateTaylorSeries(Coef,var,cen) has PATMAB INT and Coef has FIELD ---R pi : () -> % if Coef has ALGEBRA FRAC INT +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if SparseUnivariateTaylorSeries(Coef,var,cen) has PATMAB(FLOAT) and Coef has FIELD +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if SparseUnivariateTaylorSeries(Coef,var,cen) has PATMAB(INT) and Coef has FIELD +--R pi : () -> % if Coef has ALGEBRA(FRAC(INT)) --R positive? : % -> Boolean if SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has 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 SparseUnivariateTaylorSeries(Coef,var,cen) has INS and 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 SparseUnivariateTaylorSeries(Coef,var,cen) has LINEXP INT and Coef has FIELD ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if SparseUnivariateTaylorSeries(Coef,var,cen) has LINEXP INT and Coef has FIELD ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix SparseUnivariateTaylorSeries(Coef,var,cen),vec: Vector SparseUnivariateTaylorSeries(Coef,var,cen)) if Coef has FIELD ---R reducedSystem : Matrix % -> Matrix SparseUnivariateTaylorSeries(Coef,var,cen) 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 SparseUnivariateTaylorSeries(Coef,var,cen) has LINEXP(INT) and Coef has FIELD +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if SparseUnivariateTaylorSeries(Coef,var,cen) has LINEXP(INT) and Coef has FIELD +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(SparseUnivariateTaylorSeries(Coef,var,cen)),vec: Vector(SparseUnivariateTaylorSeries(Coef,var,cen))) if Coef has FIELD +--R reducedSystem : Matrix(%) -> Matrix(SparseUnivariateTaylorSeries(Coef,var,cen)) if Coef has FIELD --R ?rem? : (%,%) -> % if Coef has FIELD ---R retract : % -> Integer if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT INT and Coef has FIELD ---R retract : % -> Fraction Integer if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT INT and Coef has FIELD ---R retract : % -> Symbol if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT SYMBOL and Coef has FIELD +--R retract : % -> Integer if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT(INT) and Coef has FIELD +--R retract : % -> Fraction(Integer) if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT(INT) and Coef has FIELD +--R retract : % -> Symbol if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT(SYMBOL) and Coef has FIELD --R retract : % -> SparseUnivariateTaylorSeries(Coef,var,cen) ---R retractIfCan : % -> Union(Integer,"failed") if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT INT and Coef has FIELD ---R retractIfCan : % -> Union(Fraction Integer,"failed") if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT INT and Coef has FIELD ---R retractIfCan : % -> Union(Symbol,"failed") if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT SYMBOL and Coef has FIELD +--R retractIfCan : % -> Union(Integer,"failed") if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT(INT) and Coef has FIELD +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT(INT) and Coef has FIELD +--R retractIfCan : % -> Union(Symbol,"failed") if SparseUnivariateTaylorSeries(Coef,var,cen) has RETRACT(SYMBOL) and Coef has FIELD --R retractIfCan : % -> Union(SparseUnivariateTaylorSeries(Coef,var,cen),"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 SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has 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 SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has 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 SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and 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 squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has 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 taylor : % -> SparseUnivariateTaylorSeries(Coef,var,cen) --R taylorIfCan : % -> Union(SparseUnivariateTaylorSeries(Coef,var,cen),"failed") --R taylorRep : % -> SparseUnivariateTaylorSeries(Coef,var,cen) ---R terms : % -> Stream Record(k: Integer,c: Coef) +--R terms : % -> Stream(Record(k: Integer,c: Coef)) --R truncate : (%,Integer,Integer) -> % --R unit? : % -> Boolean if SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or Coef has INTDOM --R unitCanonical : % -> % if SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or Coef has INTDOM --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if SparseUnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or SparseUnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or Coef has INTDOM ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R wholePart : % -> SparseUnivariateTaylorSeries(Coef,var,cen) if SparseUnivariateTaylorSeries(Coef,var,cen) has EUCDOM and Coef has FIELD --R --E 1 @@ -120065,7 +120484,8 @@ unfortunately. --S 1 of 1 )show SparseUnivariatePolynomialExpressions ---R SparseUnivariatePolynomialExpressions R: Ring is a domain constructor +--R +--R SparseUnivariatePolynomialExpressions(R: Ring) is a domain constructor --R Abbreviation for SparseUnivariatePolynomialExpressions is SUPEXPR --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for SUPEXPR @@ -120079,24 +120499,23 @@ unfortunately. --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 monomial? : % -> Boolean monomials : % -> List(%) --R one? : % -> Boolean pi : () -> % if R has TRANFUN ---R primitiveMonomials : % -> List % 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 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 ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,%) -> % if R has TRANFUN --R ?**? : (%,NonNegativeInteger) -> % @@ -120106,13 +120525,13 @@ unfortunately. --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 acos : % -> % if R has TRANFUN @@ -120131,115 +120550,118 @@ unfortunately. --R binomThmExpt : (%,%,NonNegativeInteger) -> % if R has COMRING --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and R has PFECAT or R has CHARNZ ---R coefficient : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--R coefficient : (%,List(SingletonAsOrderedSet),List(NonNegativeInteger)) -> % --R coefficient : (%,SingletonAsOrderedSet,NonNegativeInteger) -> % --R coefficient : (%,NonNegativeInteger) -> R --R coerce : % -> % if R has INTDOM ---R coerce : Fraction Integer -> % if R has ALGEBRA FRAC INT or R has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT)) --R coerce : SingletonAsOrderedSet -> % ---R composite : (Fraction %,%) -> Union(Fraction %,"failed") if R has INTDOM +--R composite : (Fraction(%),%) -> Union(Fraction(%),"failed") if R has INTDOM --R composite : (%,%) -> Union(%,"failed") if R has INTDOM ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and R has PFECAT +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and R has PFECAT --R content : (%,SingletonAsOrderedSet) -> % if R has GCDDOM --R content : % -> R if R has GCDDOM ---R convert : % -> InputForm if SingletonAsOrderedSet has KONVERT INFORM and R has KONVERT INFORM ---R convert : % -> Pattern Integer if SingletonAsOrderedSet has KONVERT PATTERN INT and R has KONVERT PATTERN INT ---R convert : % -> Pattern Float if SingletonAsOrderedSet has KONVERT PATTERN FLOAT and R has KONVERT PATTERN FLOAT +--R 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 cos : % -> % if R has TRANFUN --R cosh : % -> % if R has TRANFUN --R cot : % -> % if R has TRANFUN --R coth : % -> % if R has TRANFUN --R csc : % -> % if R has TRANFUN --R csch : % -> % if R has TRANFUN ---R degree : (%,List SingletonAsOrderedSet) -> List NonNegativeInteger +--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 eval : (%,List(%),List(%)) -> % +--R eval : (%,List(Equation(%))) -> % --R exp : % -> % if R has TRANFUN ---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 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 log : % -> % if R has TRANFUN --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 sec : % -> % if R has TRANFUN --R sech : % -> % if R has TRANFUN @@ -120249,24 +120671,24 @@ unfortunately. --R sin : % -> % if R has TRANFUN --R sinh : % -> % if R has TRANFUN --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 tan : % -> % if R has TRANFUN --R tanh : % -> % if R has TRANFUN ---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 @@ -120491,6 +120913,7 @@ SparseUnivariatePolynomialExpressions(R: Ring): Exports == Implementation where --S 1 of 1 )show SparseUnivariatePuiseuxSeries +--R --R SparseUnivariatePuiseuxSeries(Coef: Ring,var: Symbol,cen: Coef) is a domain constructor --R Abbreviation for SparseUnivariatePuiseuxSeries is SUPXS --R This constructor is not exposed in this frame. @@ -120504,131 +120927,131 @@ SparseUnivariatePolynomialExpressions(R: Ring): Exports == Implementation where --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> Coef ---R coerce : Variable var -> % coerce : Integer -> % +--R coerce : Variable(var) -> % coerce : Integer -> % --R coerce : % -> OutputForm complete : % -> % ---R degree : % -> Fraction Integer hash : % -> SingleInteger +--R degree : % -> Fraction(Integer) hash : % -> SingleInteger --R latex : % -> String 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 sample : () -> % 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 ?**? : (%,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 *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--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 *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) --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 : SparseUnivariateTaylorSeries(Coef,var,cen) -> % --R coerce : SparseUnivariateLaurentSeries(Coef,var,cen) -> % --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 : (%,Variable var) -> % ---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 *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--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 : (%,Variable(var)) -> % +--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 *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) --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 : (%,Variable var) -> % if Coef has ALGEBRA FRAC INT ---R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List Symbol and Coef has ALGEBRA FRAC INT or Coef has ACFS INT and Coef has ALGEBRA FRAC INT and Coef has PRIMCAT and Coef has TRANFUN ---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 : (%,Variable(var)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List(Symbol) and Coef has ALGEBRA(FRAC(INT)) or Coef has ACFS(INT) and Coef has ALGEBRA(FRAC(INT)) and Coef has PRIMCAT and Coef has TRANFUN +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) --R inv : % -> % if Coef has FIELD --R laurent : % -> SparseUnivariateLaurentSeries(Coef,var,cen) --R laurentIfCan : % -> Union(SparseUnivariateLaurentSeries(Coef,var,cen),"failed") --R laurentRep : % -> SparseUnivariateLaurentSeries(Coef,var,cen) --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,SparseUnivariateLaurentSeries(Coef,var,cen)) -> % +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if Coef has FIELD +--R puiseux : (Fraction(Integer),SparseUnivariateLaurentSeries(Coef,var,cen)) -> % --R ?quo? : (%,%) -> % if Coef has FIELD ---R rationalPower : % -> Fraction Integer +--R rationalPower : % -> Fraction(Integer) --R ?rem? : (%,%) -> % if Coef has FIELD --R retract : % -> SparseUnivariateTaylorSeries(Coef,var,cen) --R retract : % -> SparseUnivariateLaurentSeries(Coef,var,cen) --R retractIfCan : % -> Union(SparseUnivariateTaylorSeries(Coef,var,cen),"failed") --R retractIfCan : % -> Union(SparseUnivariateLaurentSeries(Coef,var,cen),"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 @@ -120864,7 +121287,8 @@ SparseUnivariatePuiseuxSeries(Coef,var,cen): Exports == Implementation where --S 1 of 1 )show SparseUnivariateSkewPolynomial ---R SparseUnivariateSkewPolynomial(R: Ring,sigma: Automorphism R,delta: (R -> R)) is a domain constructor +--R +--R SparseUnivariateSkewPolynomial(R: Ring,sigma: Automorphism(R),delta: (R -> R)) is a domain constructor --R Abbreviation for SparseUnivariateSkewPolynomial is ORESUP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ORESUP @@ -120877,7 +121301,7 @@ SparseUnivariatePuiseuxSeries(Coef,var,cen): Exports == Implementation where --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 @@ -120890,7 +121314,7 @@ SparseUnivariatePuiseuxSeries(Coef,var,cen): Exports == Implementation where --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 @@ -120906,11 +121330,11 @@ SparseUnivariatePuiseuxSeries(Coef,var,cen): Exports == Implementation where --R monomial : (R,NonNegativeInteger) -> % --R outputForm : (%,OutputForm) -> OutputForm --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 @@ -121043,6 +121467,7 @@ SparseUnivariateSkewPolynomial(R:Ring, sigma:Automorphism R, delta: R -> R): --S 1 of 1 )show SparseUnivariateTaylorSeries +--R --R SparseUnivariateTaylorSeries(Coef: Ring,var: Symbol,cen: Coef) is a domain constructor --R Abbreviation for SparseUnivariateTaylorSeries is SUTS --R This constructor is not exposed in this frame. @@ -121056,7 +121481,7 @@ SparseUnivariateSkewPolynomial(R:Ring, sigma:Automorphism R, delta: R -> R): --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> Coef ---R coefficients : % -> Stream Coef coerce : Variable var -> % +--R coefficients : % -> Stream(Coef) coerce : Variable(var) -> % --R coerce : Integer -> % coerce : % -> OutputForm --R complete : % -> % degree : % -> NonNegativeInteger --R hash : % -> SingleInteger latex : % -> String @@ -121065,95 +121490,95 @@ SparseUnivariateSkewPolynomial(R:Ring, sigma:Automorphism R, delta: R -> R): --R one? : % -> Boolean order : % -> NonNegativeInteger --R pole? : % -> Boolean quoByVar : % -> % --R recip : % -> Union(%,"failed") reductum : % -> % ---R sample : () -> % series : Stream Coef -> % +--R sample : () -> % series : Stream(Coef) -> % --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 ?**? : (%,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 *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL +--R D : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) --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 : UnivariatePolynomial(var,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 differentiate : (%,Variable var) -> % +--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 : (%,Variable(var)) -> % --R differentiate : % -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef ---R differentiate : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) --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 : (%,Variable var) -> % if Coef has ALGEBRA FRAC INT ---R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List Symbol and Coef has ALGEBRA FRAC INT or Coef has ACFS INT and Coef has ALGEBRA FRAC INT and Coef has PRIMCAT and Coef has TRANFUN ---R integrate : % -> % if Coef has ALGEBRA FRAC INT ---R log : % -> % if Coef has ALGEBRA FRAC INT ---R monomial : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--R integrate : (%,Variable(var)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List(Symbol) and Coef has ALGEBRA(FRAC(INT)) or Coef has ACFS(INT) and Coef has ALGEBRA(FRAC(INT)) and Coef has PRIMCAT and Coef has TRANFUN +--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 univariatePolynomial : (%,NonNegativeInteger) -> UnivariatePolynomial(var,Coef) ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -121669,6 +122094,7 @@ SparseUnivariateTaylorSeries(Coef,var,cen): Exports == Implementation where --S 1 of 1 )show SplitHomogeneousDirectProduct +--R --R SplitHomogeneousDirectProduct(dimtot: NonNegativeInteger,dim1: NonNegativeInteger,S: OrderedAbelianMonoidSup) is a domain constructor --R Abbreviation for SplitHomogeneousDirectProduct is SHDP --R This constructor is not exposed in this frame. @@ -121676,12 +122102,12 @@ SparseUnivariateTaylorSeries(Coef,var,cen): Exports == Implementation where --R --R------------------------------- Operations -------------------------------- --R -? : % -> % if S has RING 1 : () -> % if S has MONOID ---R 0 : () -> % if S has CABMON coerce : % -> Vector S ---R copy : % -> % directProduct : Vector S -> % +--R 0 : () -> % if S has CABMON coerce : % -> Vector(S) +--R copy : % -> % directProduct : Vector(S) -> % --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 map : ((S -> S),%) -> % qelt : (%,Integer) -> S --R sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate @@ -121703,10 +122129,10 @@ SparseUnivariateTaylorSeries(Coef,var,cen): Exports == Implementation where --R ?>=? : (%,%) -> Boolean if S has OAMONS or S has ORDRING --R D : (%,(S -> S)) -> % if S has RING --R D : (%,(S -> S),NonNegativeInteger) -> % if S has RING ---R D : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,List Symbol) -> % if S has PDRING SYMBOL and S has RING ---R D : (%,Symbol) -> % if S has PDRING SYMBOL and S has RING +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) and S has RING +--R D : (%,Symbol) -> % if S has PDRING(SYMBOL) and S has RING --R D : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING --R D : % -> % if S has DIFRING and S has RING --R ?^? : (%,PositiveInteger) -> % if S has MONOID @@ -121715,26 +122141,26 @@ SparseUnivariateTaylorSeries(Coef,var,cen): Exports == Implementation where --R any? : ((S -> Boolean),%) -> Boolean if $ has finiteAggregate --R characteristic : () -> NonNegativeInteger if S has RING --R coerce : S -> % if S has SETCAT ---R coerce : Fraction Integer -> % if S has RETRACT FRAC INT and S has SETCAT ---R coerce : Integer -> % if S has RETRACT INT and S has SETCAT or S has RING +--R coerce : Fraction(Integer) -> % if S has RETRACT(FRAC(INT)) and S has SETCAT +--R coerce : Integer -> % if S has RETRACT(INT) and S has SETCAT or S has RING --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --R count : ((S -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R differentiate : (%,(S -> S)) -> % if S has RING --R differentiate : (%,(S -> S),NonNegativeInteger) -> % if S has RING ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,List Symbol) -> % if S has PDRING SYMBOL and S has RING ---R differentiate : (%,Symbol) -> % if S has PDRING SYMBOL and S has RING +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,List(Symbol)) -> % if S has PDRING(SYMBOL) and S has RING +--R differentiate : (%,Symbol) -> % if S has PDRING(SYMBOL) and S has RING --R differentiate : (%,NonNegativeInteger) -> % if S has DIFRING and S has RING --R differentiate : % -> % if S has DIFRING and S has RING --R dimension : () -> CardinalNumber if S has FIELD --R dot : (%,%) -> S if S has RING --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 first : % -> S if Integer has ORDSET @@ -121747,27 +122173,27 @@ SparseUnivariateTaylorSeries(Coef,var,cen): Exports == Implementation where --R max : (%,%) -> % if S has OAMONS or S has ORDRING --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (S,%) -> Boolean if $ has finiteAggregate and S has SETCAT ---R members : % -> List S if $ has finiteAggregate +--R members : % -> List(S) if $ has finiteAggregate --R min : (%,%) -> % if S has OAMONS or S has ORDRING --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R negative? : % -> Boolean if S has ORDRING --R one? : % -> Boolean if S has MONOID ---R parts : % -> List S if $ has finiteAggregate +--R parts : % -> List(S) if $ has finiteAggregate --R positive? : % -> Boolean if S has ORDRING --R qsetelt! : (%,Integer,S) -> S if $ has shallowlyMutable --R random : () -> % if S has FINITE --R recip : % -> Union(%,"failed") if S has MONOID ---R reducedSystem : Matrix % -> Matrix S if S has RING ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix S,vec: Vector S) if S has RING ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if S has LINEXP INT and S has RING ---R reducedSystem : Matrix % -> Matrix Integer if S has LINEXP INT and S has RING +--R reducedSystem : Matrix(%) -> Matrix(S) if S has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(S),vec: Vector(S)) if S has RING +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if S has LINEXP(INT) and S has RING +--R reducedSystem : Matrix(%) -> Matrix(Integer) if S has LINEXP(INT) and S has RING --R retract : % -> S if S has SETCAT ---R retract : % -> Fraction Integer if S has RETRACT FRAC INT and S has SETCAT ---R retract : % -> Integer if S has RETRACT INT and S has SETCAT +--R retract : % -> Fraction(Integer) if S has RETRACT(FRAC(INT)) and S has SETCAT +--R retract : % -> Integer if S has RETRACT(INT) and S has SETCAT --R retractIfCan : % -> Union(S,"failed") if S has SETCAT ---R retractIfCan : % -> Union(Fraction Integer,"failed") if S has RETRACT FRAC INT and S has SETCAT ---R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT INT and S has SETCAT +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if S has RETRACT(FRAC(INT)) and S has SETCAT +--R retractIfCan : % -> Union(Integer,"failed") if S has RETRACT(INT) and S has SETCAT --R setelt : (%,Integer,S) -> S if $ has shallowlyMutable --R sign : % -> Integer if S has ORDRING --R size : () -> NonNegativeInteger if S has FINITE @@ -121947,6 +122373,7 @@ SplitHomogeneousDirectProduct(dimtot,dim1,S) : T == C where --S 1 of 1 )show SplittingNode +--R --R SplittingNode(V: Join(SetCategory,Aggregate),C: Join(SetCategory,Aggregate)) is a domain constructor --R Abbreviation for SplittingNode is SPLNODE --R This constructor is not exposed in this frame. @@ -121954,15 +122381,16 @@ SplitHomogeneousDirectProduct(dimtot,dim1,S) : T == C where --R --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean coerce : % -> OutputForm ---R condition : % -> C construct : (V,List C) -> List % ---R construct : (V,C) -> % construct : (V,C,Boolean) -> % ---R copy : % -> % empty : () -> % ---R empty? : % -> Boolean hash : % -> SingleInteger ---R latex : % -> String setCondition! : (%,C) -> % ---R setEmpty! : % -> % setStatus! : (%,Boolean) -> % ---R setValue! : (%,V) -> % status : % -> Boolean ---R value : % -> V ?~=? : (%,%) -> Boolean ---R construct : List Record(val: V,tower: C) -> List % +--R condition : % -> C construct : (V,C) -> % +--R construct : (V,C,Boolean) -> % copy : % -> % +--R empty : () -> % empty? : % -> Boolean +--R hash : % -> SingleInteger latex : % -> String +--R setCondition! : (%,C) -> % setEmpty! : % -> % +--R setStatus! : (%,Boolean) -> % setValue! : (%,V) -> % +--R status : % -> Boolean value : % -> V +--R ?~=? : (%,%) -> Boolean +--R construct : (V,List(C)) -> List(%) +--R construct : List(Record(val: V,tower: C)) -> List(%) --R construct : Record(val: V,tower: C) -> % --R infLex? : (%,%,((V,V) -> Boolean),((C,C) -> Boolean)) -> Boolean --R subNode? : (%,%,((C,C) -> Boolean)) -> Boolean @@ -122183,18 +122611,19 @@ SplittingNode(V,C) : Exports == Implementation where --S 1 of 1 )show SplittingTree +--R --R SplittingTree(V: Join(SetCategory,Aggregate),C: Join(SetCategory,Aggregate)) is a domain constructor --R Abbreviation for SplittingTree is SPLTREE --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for SPLTREE --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % conditions : % -> List C ---R construct : (V,C,V,List C) -> % construct : (V,C,List %) -> % +--R children : % -> List(%) conditions : % -> List(C) +--R construct : (V,C,V,List(C)) -> % construct : (V,C,List(%)) -> % --R copy : % -> % cyclic? : % -> Boolean --R distance : (%,%) -> Integer empty : () -> % --R empty? : % -> Boolean eq? : (%,%) -> Boolean ---R leaf? : % -> Boolean nodes : % -> List % +--R leaf? : % -> Boolean nodes : % -> List(%) --R sample : () -> % updateStatus! : % -> % --R value : % -> SplittingNode(V,C) --R #? : % -> NonNegativeInteger if $ has finiteAggregate @@ -122202,38 +122631,38 @@ SplittingNode(V,C) : Exports == Implementation where --R any? : ((SplittingNode(V,C) -> Boolean),%) -> Boolean if $ has finiteAggregate --R child? : (%,%) -> Boolean if SplittingNode(V,C) has SETCAT --R coerce : % -> OutputForm if SplittingNode(V,C) has SETCAT ---R construct : (V,C,List SplittingNode(V,C)) -> % +--R construct : (V,C,List(SplittingNode(V,C))) -> % --R construct : SplittingNode(V,C) -> % --R count : (SplittingNode(V,C),%) -> NonNegativeInteger if $ has finiteAggregate and SplittingNode(V,C) has SETCAT --R count : ((SplittingNode(V,C) -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R ?.value : (%,value) -> SplittingNode(V,C) ---R eval : (%,List SplittingNode(V,C),List SplittingNode(V,C)) -> % if SplittingNode(V,C) has EVALAB SPLNODE(V,C) and SplittingNode(V,C) has SETCAT ---R eval : (%,SplittingNode(V,C),SplittingNode(V,C)) -> % if SplittingNode(V,C) has EVALAB SPLNODE(V,C) and SplittingNode(V,C) has SETCAT ---R eval : (%,Equation SplittingNode(V,C)) -> % if SplittingNode(V,C) has EVALAB SPLNODE(V,C) and SplittingNode(V,C) has SETCAT ---R eval : (%,List Equation SplittingNode(V,C)) -> % if SplittingNode(V,C) has EVALAB SPLNODE(V,C) and SplittingNode(V,C) has SETCAT +--R eval : (%,List(SplittingNode(V,C)),List(SplittingNode(V,C))) -> % if SplittingNode(V,C) has EVALAB(SPLNODE(V,C)) and SplittingNode(V,C) has SETCAT +--R eval : (%,SplittingNode(V,C),SplittingNode(V,C)) -> % if SplittingNode(V,C) has EVALAB(SPLNODE(V,C)) and SplittingNode(V,C) has SETCAT +--R eval : (%,Equation(SplittingNode(V,C))) -> % if SplittingNode(V,C) has EVALAB(SPLNODE(V,C)) and SplittingNode(V,C) has SETCAT +--R eval : (%,List(Equation(SplittingNode(V,C)))) -> % if SplittingNode(V,C) has EVALAB(SPLNODE(V,C)) and SplittingNode(V,C) has SETCAT --R every? : ((SplittingNode(V,C) -> Boolean),%) -> Boolean if $ has finiteAggregate --R extractSplittingLeaf : % -> Union(%,"failed") --R hash : % -> SingleInteger if SplittingNode(V,C) has SETCAT --R latex : % -> String if SplittingNode(V,C) has SETCAT ---R leaves : % -> List SplittingNode(V,C) +--R leaves : % -> List(SplittingNode(V,C)) --R less? : (%,NonNegativeInteger) -> Boolean --R map : ((SplittingNode(V,C) -> SplittingNode(V,C)),%) -> % --R map! : ((SplittingNode(V,C) -> SplittingNode(V,C)),%) -> % if $ has shallowlyMutable --R member? : (SplittingNode(V,C),%) -> Boolean if $ has finiteAggregate and SplittingNode(V,C) has SETCAT ---R members : % -> List SplittingNode(V,C) if $ has finiteAggregate +--R members : % -> List(SplittingNode(V,C)) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean --R node? : (%,%) -> Boolean if SplittingNode(V,C) has SETCAT --R nodeOf? : (SplittingNode(V,C),%) -> Boolean ---R parts : % -> List SplittingNode(V,C) if $ has finiteAggregate +--R parts : % -> List(SplittingNode(V,C)) if $ has finiteAggregate --R remove : (SplittingNode(V,C),%) -> % --R remove! : (SplittingNode(V,C),%) -> % ---R result : % -> List Record(val: V,tower: C) ---R setchildren! : (%,List %) -> % if $ has shallowlyMutable +--R result : % -> List(Record(val: V,tower: C)) +--R setchildren! : (%,List(%)) -> % if $ has shallowlyMutable --R setelt : (%,value,SplittingNode(V,C)) -> SplittingNode(V,C) if $ has shallowlyMutable --R setvalue! : (%,SplittingNode(V,C)) -> SplittingNode(V,C) if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean ---R splitNodeOf! : (%,%,List SplittingNode(V,C),((C,C) -> Boolean)) -> % ---R splitNodeOf! : (%,%,List SplittingNode(V,C)) -> % +--R splitNodeOf! : (%,%,List(SplittingNode(V,C)),((C,C) -> Boolean)) -> % +--R splitNodeOf! : (%,%,List(SplittingNode(V,C))) -> % --R subNodeOf? : (SplittingNode(V,C),%,((C,C) -> Boolean)) -> Boolean --R ?~=? : (%,%) -> Boolean if SplittingNode(V,C) has SETCAT --R @@ -122644,14 +123073,14 @@ ls : List Symbol := [x,y,z,t] --R --R --R (2) [x,y,z,t] ---R Type: List Symbol +--R Type: List(Symbol) --E 2 --S 3 of 23 V := OVAR(ls) --R --R ---R (3) OrderedVariableList [x,y,z,t] +--R (3) OrderedVariableList([x,y,z,t]) --R Type: Domain --E 3 @@ -122659,7 +123088,7 @@ V := OVAR(ls) E := IndexedExponents V --R --R ---R (4) IndexedExponents OrderedVariableList [x,y,z,t] +--R (4) IndexedExponents(OrderedVariableList([x,y,z,t])) --R Type: Domain --E 4 @@ -122667,7 +123096,8 @@ E := IndexedExponents V P := NSMP(R, V) --R --R ---R (5) NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--R (5) +--R NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --R Type: Domain --E 5 @@ -122676,7 +123106,7 @@ x: P := 'x --R --R --R (6) x ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 6 --S 7 of 23 @@ -122684,7 +123114,7 @@ y: P := 'y --R --R --R (7) y ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 7 --S 8 of 23 @@ -122692,7 +123122,7 @@ z: P := 'z --R --R --R (8) z ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 8 --S 9 of 23 @@ -122700,7 +123130,7 @@ t: P := 't --R --R --R (9) t ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 9 --S 10 of 23 @@ -122708,9 +123138,9 @@ ST := SREGSET(R,E,V,P) --R --R --R (10) ---R SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [ ---R x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Intege ---R r,OrderedVariableList [x,y,z,t])) +--R SquareFreeRegularTriangularSet(Integer,IndexedExponents(OrderedVariableList([ +--R x,y,z,t])),OrderedVariableList([x,y,z,t]),NewSparseMultivariatePolynomial(Int +--R eger,OrderedVariableList([x,y,z,t]))) --R Type: Domain --E 10 @@ -122720,7 +123150,7 @@ p1 := x ** 31 - x ** 6 - x - y --R --R 31 6 --R (11) x - x - x - y ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 11 --S 12 of 23 @@ -122729,7 +123159,7 @@ p2 := x ** 8 - z --R --R 8 --R (12) x - z ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 12 --S 13 of 23 @@ -122738,7 +123168,7 @@ p3 := x ** 10 - t --R --R 10 --R (13) x - t ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 13 --S 14 of 23 @@ -122747,7 +123177,7 @@ lp := [p1, p2, p3] --R --R 31 6 8 10 --R (14) [x - x - x - y,x - z,x - t] ---RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--IType: List(NewSparseMultivariatePolynomial(Integer,... --E 14 --S 15 of 23 @@ -122756,7 +123186,7 @@ zeroSetSplit(lp)$ST --R --R 5 4 2 3 8 5 3 2 4 2 --R (15) [{z - t ,t z y + 2z y - t + 2t + t - t ,(t - t)x - t y - z }] ---RType: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--IType: List(SquareFreeRegularTriangularSet(Integer,... --E 15 --S 16 of 23 @@ -122768,7 +123198,7 @@ zeroSetSplit(lp,false)$ST --R [{z - t ,t z y + 2z y - t + 2t + t - t ,(t - t)x - t y - z }, --R 3 5 2 2 --R {t - 1,z - t,t y + z ,z x - t}, {t,z,y,x}] ---RType: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--IType: List(SquareFreeRegularTriangularSet(Integer,... --E 16 --S 17 of 23 @@ -122776,9 +123206,9 @@ T := REGSET(R,E,V,P) --R --R --R (17) ---R RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],O ---R rderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedV ---R ariableList [x,y,z,t])) +--R RegularTriangularSet(Integer,IndexedExponents(OrderedVariableList([x,y,z,t])) +--R ,OrderedVariableList([x,y,z,t]),NewSparseMultivariatePolynomial(Integer,Order +--R edVariableList([x,y,z,t]))) --R Type: Domain --E 17 @@ -122791,7 +123221,7 @@ lts := zeroSetSplit(lp,false)$T --R [{z - t ,t z y + 2z y - t + 2t + t - t ,(t - t)x - t y - z }, --R 3 5 2 3 2 --R {t - 1,z - t,t z y + 2z y + 1,z x - t}, {t,z,y,x}] ---RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--IType: List(RegularTriangularSet(Integer,IndexedExponents(... --E 18 --S 19 of 23 @@ -122800,7 +123230,7 @@ ts := lts.2 --R --R 3 5 2 3 2 --R (19) {t - 1,z - t,t z y + 2z y + 1,z x - t} ---RType: RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--IType: RegularTriangularSet(Integer,IndexedExponents(... --E 19 --S 20 of 23 @@ -122809,7 +123239,7 @@ pol := select(ts,'y)$T --R --R 2 3 --R (20) t z y + 2z y + 1 ---RType: Union(NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]),...) +--IType: Union(NewSparseMultivariatePolynomial(Integer,... --E 20 --S 21 of 23 @@ -122818,7 +123248,7 @@ tower := collectUnder(ts,'y)$T --R --R 3 5 --R (21) {t - 1,z - t} ---RType: RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--IType: RegularTriangularSet(Integer,IndexedExponents(... --E 21 --S 22 of 23 @@ -122826,11 +123256,11 @@ pack := RegularTriangularSetGcdPackage(R,E,V,P,T) --R --R --R (22) ---R RegularTriangularSetGcdPackage(Integer,IndexedExponents OrderedVariableList [ ---R x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Intege ---R r,OrderedVariableList [x,y,z,t]),RegularTriangularSet(Integer,IndexedExponent ---R s OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultiv ---R ariatePolynomial(Integer,OrderedVariableList [x,y,z,t]))) +--R RegularTriangularSetGcdPackage(Integer,IndexedExponents(OrderedVariableList([ +--R x,y,z,t])),OrderedVariableList([x,y,z,t]),NewSparseMultivariatePolynomial(Int +--R eger,OrderedVariableList([x,y,z,t])),RegularTriangularSet(Integer,IndexedExpo +--R nents(OrderedVariableList([x,y,z,t])),OrderedVariableList([x,y,z,t]),NewSpars +--R eMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])))) --R Type: Domain --E 22 @@ -122840,7 +123270,7 @@ toseSquareFreePart(pol,tower)$pack --R --R 2 3 5 --R (23) [[val= t y + z ,tower= {t - 1,z - t}]] ---RType: List Record(val: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]),tower: RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]))) +--IType: List(Record(val: NewSparseMultivariatePolynomial(... --E 23 )spool )lisp (bye) @@ -123620,7 +124050,7 @@ m := squareMatrix [ [1,-%i],[%i,4] ] --R +1 - %i+ --R (1) | | --R +%i 4 + ---R Type: SquareMatrix(2,Complex Integer) +--R Type: SquareMatrix(2,Complex(Integer)) --E 2 --S 3 of 6 @@ -123630,7 +124060,7 @@ m*m - m --R + 1 - 4%i+ --R (2) | | --R +4%i 13 + ---R Type: SquareMatrix(2,Complex Integer) +--R Type: SquareMatrix(2,Complex(Integer)) --E 3 --S 4 of 6 @@ -123644,7 +124074,7 @@ mm := squareMatrix [ [m, 1], [1-m, m**2] ] --R |+ 0 %i + + 2 - 5%i+| --R || | | || --R ++- %i - 3+ +5%i 17 ++ ---R Type: SquareMatrix(2,SquareMatrix(2,Complex Integer)) +--R Type: SquareMatrix(2,SquareMatrix(2,Complex(Integer))) --E 4 --S 5 of 6 @@ -123654,7 +124084,7 @@ p := (x + m)**2 --R 2 + 2 - 2%i+ + 2 - 5%i+ --R (4) x + | |x + | | --R +2%i 8 + +5%i 17 + ---R Type: Polynomial SquareMatrix(2,Complex Integer) +--R Type: Polynomial(SquareMatrix(2,Complex(Integer))) --E 5 --S 6 of 6 @@ -123666,7 +124096,7 @@ p::SquareMatrix(2, ?) --R (5) | | --R | 2 | --R +2%i x + 5%i x + 8x + 17 + ---R Type: SquareMatrix(2,Polynomial Complex Integer) +--R Type: SquareMatrix(2,Polynomial(Complex(Integer))) --E 6 )spool )lisp (bye) @@ -123989,7 +124419,7 @@ SquareMatrix(ndim,R): Exports == Implementation where a:Stack INT:= stack [1,2,3,4,5] --R --R (1) [1,2,3,4,5] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 1 --S 2 of 44 @@ -124003,7 +124433,7 @@ pop! a a --R --R (3) [2,3,4,5] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 3 --S 4 of 44 @@ -124017,7 +124447,7 @@ extract! a a --R --R (5) [3,4,5] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 5 --S 6 of 44 @@ -124031,21 +124461,21 @@ push!(9,a) a --R --R (7) [9,3,4,5] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 7 --S 8 of 44 insert!(8,a) --R --R (8) [8,9,3,4,5] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 8 --S 9 of 44 a --R --R (9) [8,9,3,4,5] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 9 --S 10 of 44 @@ -124115,21 +124545,21 @@ size?(a,9) parts a --R --R (19) [8,9,3,4,5] ---R Type: List Integer +--R Type: List(Integer) --E 19 --S 20 of 44 bag([1,2,3,4,5])$Stack(INT) --R --R (20) [5,4,3,2,1] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 20 --S 21 of 44 b:=empty()$(Stack INT) --R --R (21) [] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 21 --S 22 of 44 @@ -124143,14 +124573,14 @@ empty? b sample()$Stack(INT) --R --R (23) [] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 23 --S 24 of 44 c:=copy a --R --R (24) [8,9,3,4,5] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 24 --S 25 of 44 @@ -124227,35 +124657,35 @@ count(x+->(x>2),a) map(x+->x+10,a) --R --R (35) [18,19,13,14,15] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 35 --S 36 of 44 a --R --R (36) [8,9,3,4,5] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 36 --S 37 of 44 map!(x+->x+10,a) --R --R (37) [18,19,13,14,15] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 37 --S 38 of 44 a --R --R (38) [18,19,13,14,15] ---R Type: Stack Integer +--R Type: Stack(Integer) --E 38 --S 39 of 44 members a --R --R (39) [18,19,13,14,15] ---R Type: List Integer +--R Type: List(Integer) --E 39 --S 40 of 44 @@ -124291,19 +124721,20 @@ latex a --S 44 of 44 )show Stack ---R Stack S: SetCategory is a domain constructor +--R +--R Stack(S: SetCategory) is a domain constructor --R Abbreviation for Stack is STACK --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for STACK --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,%) -> % --R inspect : % -> S map : ((S -> S),%) -> % --R pop! : % -> S push! : (S,%) -> S ---R sample : () -> % stack : List S -> % +--R sample : () -> % stack : List(S) -> % --R top : % -> S --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?=? : (%,%) -> Boolean if S has SETCAT @@ -124311,19 +124742,19 @@ latex a --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --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 $ has finiteAggregate and S has SETCAT ---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 @@ -124838,7 +125269,7 @@ copyBSD() --R --R --R (4) [dX,dY,dt] ---R Type: List BasicStochasticDifferential +--R Type: List(BasicStochasticDifferential) --E 4 --S 5 of 12 @@ -124854,7 +125285,7 @@ copyQuadVar() -- display of multiplication table --R --R --R (6) table() ---R Type: Table(StochasticDifferential Integer,StochasticDifferential Integer) +--R Type: Table(StochasticDifferential(Integer),StochasticDifferential(Integer)) --E 6 --S 7 of 12 @@ -124880,7 +125311,7 @@ copyDrift() -- display of drift list --R --R --R (8) table() ---R Type: Table(StochasticDifferential Integer,StochasticDifferential Integer) +--R Type: Table(StochasticDifferential(Integer),StochasticDifferential(Integer)) --E 8 --S 9 of 12 @@ -124900,7 +125331,7 @@ ItoMultArray:ARRAY2(SD INT) :=new(nbsd,nbsd,0$SD(INT)) --R (10) |0 0 0| --R | | --R +0 0 0+ ---R Type: TwoDimensionalArray StochasticDifferential Integer +--R Type: TwoDimensionalArray(StochasticDifferential(Integer)) --E 10 --S 11 of 12 @@ -124912,7 +125343,7 @@ ItoMultArray --R (11) |0 0 0| --R | | --R +0 0 0+ ---R Type: TwoDimensionalArray StochasticDifferential Integer +--R Type: TwoDimensionalArray(StochasticDifferential(Integer)) --E 11 --S 12 of 12 @@ -125302,7 +125733,7 @@ ints := [i for i in 0..] --R --R --R (1) [0,1,2,3,4,5,6,7,8,9,...] ---R Type: Stream NonNegativeInteger +--R Type: Stream(NonNegativeInteger) --E 1 --S 2 of 12 @@ -125320,10 +125751,10 @@ f x == [x.1 + x.2, x.1] --S 4 of 12 fibs := [i.2 for i in [generate(f,[1,1])]] --R ---R Compiling function f with type List Integer -> List Integer +--R Compiling function f with type List(Integer) -> List(Integer) --R --R (4) [1,1,2,3,5,8,13,21,34,55,...] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 4 --S 5 of 12 @@ -125331,7 +125762,7 @@ fibs := [i.2 for i in [generate(f,[1,1])]] --R --R --R (5) [1,3,5,7,9,11,13,15,17,19,...] ---R Type: Stream NonNegativeInteger +--R Type: Stream(NonNegativeInteger) --E 5 --S 6 of 12 @@ -125339,7 +125770,7 @@ odds := [2*i+1 for i in ints] --R --R --R (6) [1,3,5,7,9,11,13,15,17,19,...] ---R Type: Stream NonNegativeInteger +--R Type: Stream(NonNegativeInteger) --E 6 --S 7 of 12 @@ -125347,7 +125778,7 @@ scan(0,+,odds) --R --R --R (7) [1,4,9,16,25,36,49,64,81,100,...] ---R Type: Stream NonNegativeInteger +--R Type: Stream(NonNegativeInteger) --E 7 --S 8 of 12 @@ -125355,7 +125786,7 @@ scan(0,+,odds) --R --R --R (8) [0,3,10,21,36,55,78,105,136,171,...] ---R Type: Stream NonNegativeInteger +--R Type: Stream(NonNegativeInteger) --E 8 --S 9 of 12 @@ -125363,7 +125794,7 @@ map(*,ints,odds) --R --R --R (9) [0,3,10,21,36,55,78,105,136,171,...] ---R Type: Stream NonNegativeInteger +--R Type: Stream(NonNegativeInteger) --E 9 --S 10 of 12 @@ -125379,7 +125810,7 @@ rest ints --R --R --R (11) [1,2,3,4,5,6,7,8,9,10,...] ---R Type: Stream NonNegativeInteger +--R Type: Stream(NonNegativeInteger) --E 11 --S 12 of 12 @@ -126323,7 +126754,7 @@ hullo.2 := char "u"; [hello, hullo] --R --R --R (10) ["Hello, I'm AXIOM!","Hullo, I'm AXIOM!"] ---R Type: List String +--R Type: List(String) --E 10 --S 11 of 35 @@ -126371,7 +126802,7 @@ split(hello, char " ") --R --R --R (16) ["Hello,","I'm","AXIOM!"] ---R Type: List String +--R Type: List(String) --E 16 --S 17 of 35 @@ -126385,7 +126816,7 @@ split(saidsaw, other) --R --R --R (18) ["alpha","omega"] ---R Type: List String +--R Type: List(String) --E 18 --S 19 of 35 @@ -126898,7 +127329,7 @@ t: StringTable(Integer) := table() --R --R --R (1) table() ---R Type: StringTable Integer +--R Type: StringTable(Integer) --E 1 --S 2 of 3 @@ -127113,38 +127544,39 @@ point. --S 1 of 1 )show SubSpace +--R --R SubSpace(n: PositiveInteger,R: Ring) is a domain constructor --R Abbreviation for SubSpace is SUBSPACE --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for SUBSPACE --R --R------------------------------- Operations -------------------------------- ---R ?=? : (%,%) -> Boolean addPoint2 : (%,Point R) -> % ---R birth : % -> % children : % -> List % +--R ?=? : (%,%) -> Boolean addPoint2 : (%,Point(R)) -> % +--R birth : % -> % children : % -> List(%) --R coerce : % -> OutputForm deepCopy : % -> % ---R extractClosed : % -> Boolean extractPoint : % -> Point R +--R extractClosed : % -> Boolean extractPoint : % -> Point(R) --R hash : % -> SingleInteger internal? : % -> Boolean --R latex : % -> String leaf? : % -> Boolean ---R level : % -> NonNegativeInteger merge : List % -> % +--R level : % -> NonNegativeInteger merge : List(%) -> % --R merge : (%,%) -> % new : () -> % ---R parent : % -> % pointData : % -> List Point R ---R root? : % -> Boolean separate : % -> List % +--R parent : % -> % pointData : % -> List(Point(R)) +--R root? : % -> Boolean separate : % -> List(%) --R shallowCopy : % -> % subspace : () -> % --R ?~=? : (%,%) -> Boolean ---R addPoint : (%,Point R) -> NonNegativeInteger ---R addPoint : (%,List NonNegativeInteger,NonNegativeInteger) -> % ---R addPoint : (%,List NonNegativeInteger,Point R) -> % ---R addPointLast : (%,%,Point R,NonNegativeInteger) -> % +--R addPoint : (%,Point(R)) -> NonNegativeInteger +--R addPoint : (%,List(NonNegativeInteger),NonNegativeInteger) -> % +--R addPoint : (%,List(NonNegativeInteger),Point(R)) -> % +--R addPointLast : (%,%,Point(R),NonNegativeInteger) -> % --R child : (%,NonNegativeInteger) -> % ---R closeComponent : (%,List NonNegativeInteger,Boolean) -> % ---R defineProperty : (%,List NonNegativeInteger,SubSpaceComponentProperty) -> % +--R closeComponent : (%,List(NonNegativeInteger),Boolean) -> % +--R defineProperty : (%,List(NonNegativeInteger),SubSpaceComponentProperty) -> % --R extractIndex : % -> NonNegativeInteger --R extractProperty : % -> SubSpaceComponentProperty ---R modifyPoint : (%,NonNegativeInteger,Point R) -> % ---R modifyPoint : (%,List NonNegativeInteger,NonNegativeInteger) -> % ---R modifyPoint : (%,List NonNegativeInteger,Point R) -> % +--R modifyPoint : (%,NonNegativeInteger,Point(R)) -> % +--R modifyPoint : (%,List(NonNegativeInteger),NonNegativeInteger) -> % +--R modifyPoint : (%,List(NonNegativeInteger),Point(R)) -> % --R numberOfChildren : % -> NonNegativeInteger ---R traverse : (%,List NonNegativeInteger) -> % +--R traverse : (%,List(NonNegativeInteger)) -> % --R --E 1 @@ -127849,6 +128281,7 @@ SuchThat(S1, S2): Cat == Capsule where --S 1 of 1 )show Switch +--R --R Switch is a domain constructor --R Abbreviation for Switch is SWITCH --R This constructor is exposed in this frame. @@ -127857,14 +128290,14 @@ SuchThat(S1, S2): Cat == Capsule where --R------------------------------- Operations -------------------------------- --R NOT : % -> % coerce : Symbol -> % --R coerce : % -> OutputForm ---R AND : (Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %),Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %)) -> % ---R EQ : (Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %),Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %)) -> % ---R GE : (Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %),Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %)) -> % ---R GT : (Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %),Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %)) -> % ---R LE : (Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %),Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %)) -> % ---R LT : (Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %),Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %)) -> % ---R NOT : Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %) -> % ---R OR : (Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %),Union(I: Expression Integer,F: Expression Float,CF: Expression Complex Float,switch: %)) -> % +--R AND : (Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %),Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %)) -> % +--R EQ : (Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %),Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %)) -> % +--R GE : (Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %),Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %)) -> % +--R GT : (Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %),Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %)) -> % +--R LE : (Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %),Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %)) -> % +--R LT : (Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %),Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %)) -> % +--R NOT : Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %) -> % +--R OR : (Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %),Union(I: Expression(Integer),F: Expression(Float),CF: Expression(Complex(Float)),switch: %)) -> % --R --E 1 @@ -128031,7 +128464,7 @@ A := 'a --R --R --R (3) a ---R Type: Variable a +--R Type: Variable(a) --E 3 --S 4 of 24 @@ -128039,7 +128472,7 @@ B := b --R --R --R (4) b ---R Type: Variable b +--R Type: Variable(b) --E 4 --S 5 of 24 @@ -128048,7 +128481,7 @@ x**2 + 1 --R --R 2 --R (5) x + 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 5 --S 6 of 24 @@ -128155,7 +128588,7 @@ scripts U --R --R --R (18) [sub= [1,2,1,2],sup= [],presup= [],presub= [],args= []] ---RType: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) +--IType: Record(sub: List(OutputForm),sup: List(OutputForm),... --E 18 --S 19 of 24 @@ -128171,7 +128604,7 @@ scripts X --R --R --R (20) [sub= [],sup= [],presup= [],presub= [],args= []] ---RType: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) +--IType: Record(sub: List(OutputForm),sup: List(OutputForm),... --E 20 --S 21 of 24 @@ -128189,7 +128622,7 @@ scripts M --R --R --R (22) [sub= [i,j],sup= [k,l],presup= [0,1],presub= [2],args= [u,v,w]] ---RType: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) +--IType: Record(sub: List(OutputForm),sup: List(OutputForm),... --E 22 --S 23 of 24 @@ -128207,7 +128640,7 @@ scripts N --R --R --R (24) [sub= [i,j],sup= [k,l],presup= [0,1],presub= [],args= []] ---RType: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) +--IType: Record(sub: List(OutputForm),sup: List(OutputForm),... --E 24 )spool )lisp (bye) @@ -128748,6 +129181,7 @@ Symbol(): Exports == Implementation where --S 1 of 1 )show SymbolTable +--R --R SymbolTable is a domain constructor --R Abbreviation for SymbolTable is SYMTAB --R This constructor is exposed in this frame. @@ -128755,15 +129189,15 @@ Symbol(): Exports == Implementation where --R --R------------------------------- Operations -------------------------------- --R coerce : % -> OutputForm empty : () -> % ---R externalList : % -> List Symbol newTypeLists : % -> SExpression ---R parametersOf : % -> List Symbol printTypes : % -> Void +--R externalList : % -> List(Symbol) newTypeLists : % -> SExpression +--R parametersOf : % -> List(Symbol) printTypes : % -> Void --R coerce : % -> Table(Symbol,FortranType) --R declare! : (Symbol,FortranType,%) -> FortranType ---R declare! : (List Symbol,FortranType,%) -> FortranType +--R declare! : (List(Symbol),FortranType,%) -> FortranType --R fortranTypeOf : (Symbol,%) -> FortranType ---R symbolTable : List Record(key: Symbol,entry: FortranType) -> % ---R typeList : (FortranScalarType,%) -> List Union(name: Symbol,bounds: List Union(S: Symbol,P: Polynomial Integer)) ---R typeLists : % -> List List Union(name: Symbol,bounds: List Union(S: Symbol,P: Polynomial Integer)) +--R symbolTable : List(Record(key: Symbol,entry: FortranType)) -> % +--R typeList : (FortranScalarType,%) -> List(Union(name: Symbol,bounds: List(Union(S: Symbol,P: Polynomial(Integer))))) +--R typeLists : % -> List(List(Union(name: Symbol,bounds: List(Union(S: Symbol,P: Polynomial(Integer)))))) --R --E 1 @@ -129004,7 +129438,8 @@ SymbolTable() : exports == implementation where --S 1 of 1 )show SymmetricPolynomial ---R SymmetricPolynomial R: Ring is a domain constructor +--R +--R SymmetricPolynomial(R: Ring) is a domain constructor --R Abbreviation for SymmetricPolynomial is SYMPOLY --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for SYMPOLY @@ -129017,7 +129452,7 @@ SymbolTable() : exports == implementation where --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % coefficient : (%,Partition) -> R ---R coefficients : % -> List R coerce : R -> % +--R coefficients : % -> List(R) coerce : R -> % --R coerce : Integer -> % coerce : % -> OutputForm --R degree : % -> Partition ground : % -> R --R ground? : % -> Boolean hash : % -> SingleInteger @@ -129028,8 +129463,8 @@ SymbolTable() : exports == implementation where --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 @@ -129038,7 +129473,7 @@ SymbolTable() : exports == implementation where --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 ALGEBRA FRAC INT or R has RETRACT FRAC INT +--R coerce : Fraction(Integer) -> % if R has ALGEBRA(FRAC(INT)) or R has RETRACT(FRAC(INT)) --R coerce : % -> % if R has INTDOM --R content : % -> R if R has GCDDOM --R exquo : (%,R) -> Union(%,"failed") if R has INTDOM @@ -129048,11 +129483,11 @@ SymbolTable() : exports == implementation where --R numberOfMonomials : % -> NonNegativeInteger --R pomopo! : (%,R,Partition,%) -> % --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 @@ -129189,7 +129624,7 @@ t: Table(Polynomial Integer, String) := table() --R --R --R (1) table() ---R Type: Table(Polynomial Integer,String) +--R Type: Table(Polynomial(Integer),String) --E 1 --S 2 of 18 @@ -129262,7 +129697,7 @@ keys t --R --R 3 2 --R (10) [x,x + 1,x - 1] ---R Type: List Polynomial Integer +--R Type: List(Polynomial(Integer)) --E 10 --S 11 of 18 @@ -129318,7 +129753,7 @@ members t --R --R --R (17) ["The easiest to factor","Harder to factor"] ---R Type: List String +--R Type: List(String) --E 17 --S 18 of 18 @@ -129596,14 +130031,15 @@ Table(Key: SetCategory, Entry: SetCategory):Exports == Implementation where --S 1 of 1 )show Tableau ---R Tableau S: SetCategory is a domain constructor +--R +--R Tableau(S: SetCategory) is a domain constructor --R Abbreviation for Tableau is TABLEAU --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for TABLEAU --R --R------------------------------- Operations -------------------------------- ---R coerce : % -> OutputForm listOfLists : % -> List List S ---R tableau : List List S -> % +--R coerce : % -> OutputForm listOfLists : % -> List(List(S)) +--R tableau : List(List(S)) -> % --R --E 1 @@ -129700,7 +130136,8 @@ Tableau(S:SetCategory):Exports == Implementation where --S 1 of 1 )show TaylorSeries ---R TaylorSeries Coef: Ring is a domain constructor +--R +--R TaylorSeries(Coef: Ring) is a domain constructor --R Abbreviation for TaylorSeries is TS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for TS @@ -129711,90 +130148,91 @@ Tableau(S:SetCategory):Exports == Implementation where --R ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> % --R ?+? : (%,%) -> % ?-? : (%,%) -> % --R -? : % -> % ?=? : (%,%) -> Boolean ---R D : (%,List Symbol) -> % D : (%,Symbol) -> % +--R D : (%,List(Symbol)) -> % D : (%,Symbol) -> % --R 1 : () -> % 0 : () -> % ---R ?^? : (%,PositiveInteger) -> % coerce : Polynomial Coef -> % +--R ?^? : (%,PositiveInteger) -> % coerce : Polynomial(Coef) -> % --R coerce : Symbol -> % coerce : Integer -> % --R coerce : % -> OutputForm complete : % -> % ---R differentiate : (%,Symbol) -> % eval : (%,List %,List %) -> % ---R eval : (%,%,%) -> % eval : (%,Equation %) -> % ---R eval : (%,List Equation %) -> % eval : (%,Symbol,%) -> % +--R differentiate : (%,Symbol) -> % eval : (%,%,%) -> % +--R eval : (%,Equation(%)) -> % eval : (%,Symbol,%) -> % --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 Symbol +--R sample : () -> % variables : % -> List(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 ?**? : (%,NonNegativeInteger) -> % --R ?/? : (%,Coef) -> % if Coef has FIELD ---R D : (%,List Symbol,List NonNegativeInteger) -> % +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % --R D : (%,Symbol,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 : (%,NonNegativeInteger) -> Polynomial Coef ---R coefficient : (%,List Symbol,List NonNegativeInteger) -> % +--R coefficient : (%,NonNegativeInteger) -> Polynomial(Coef) +--R coefficient : (%,List(Symbol),List(NonNegativeInteger)) -> % --R coefficient : (%,Symbol,NonNegativeInteger) -> % ---R coefficient : (%,IndexedExponents Symbol) -> Coef ---R coerce : Fraction Integer -> % if Coef has ALGEBRA FRAC INT +--R coefficient : (%,IndexedExponents(Symbol)) -> 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 Symbol ---R differentiate : (%,List Symbol,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(Symbol) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % --R differentiate : (%,Symbol,NonNegativeInteger) -> % ---R differentiate : (%,List Symbol) -> % ---R eval : (%,List Symbol,List %) -> % ---R exp : % -> % if Coef has ALGEBRA FRAC INT +--R differentiate : (%,List(Symbol)) -> % +--R eval : (%,List(%),List(%)) -> % +--R eval : (%,List(Equation(%))) -> % +--R eval : (%,List(Symbol),List(%)) -> % +--R exp : % -> % if Coef has ALGEBRA(FRAC(INT)) --R exquo : (%,%) -> Union(%,"failed") if Coef has INTDOM --R extend : (%,NonNegativeInteger) -> % ---R fintegrate : ((() -> %),Symbol,Coef) -> % if Coef has ALGEBRA FRAC INT ---R integrate : (%,Symbol,Coef) -> % if Coef has ALGEBRA FRAC INT ---R integrate : (%,Symbol) -> % if Coef has ALGEBRA FRAC INT ---R log : % -> % if Coef has ALGEBRA FRAC INT ---R monomial : (%,List Symbol,List NonNegativeInteger) -> % +--R fintegrate : ((() -> %),Symbol,Coef) -> % if Coef has ALGEBRA(FRAC(INT)) +--R integrate : (%,Symbol,Coef) -> % if Coef has ALGEBRA(FRAC(INT)) +--R integrate : (%,Symbol) -> % if Coef has ALGEBRA(FRAC(INT)) +--R log : % -> % if Coef has ALGEBRA(FRAC(INT)) +--R monomial : (%,List(Symbol),List(NonNegativeInteger)) -> % --R monomial : (%,Symbol,NonNegativeInteger) -> % ---R monomial : (Coef,IndexedExponents Symbol) -> % ---R monomial : (%,Symbol,IndexedExponents Symbol) -> % ---R monomial : (%,List Symbol,List IndexedExponents Symbol) -> % ---R nthRoot : (%,Integer) -> % if Coef has ALGEBRA FRAC INT +--R monomial : (Coef,IndexedExponents(Symbol)) -> % +--R monomial : (%,Symbol,IndexedExponents(Symbol)) -> % +--R monomial : (%,List(Symbol),List(IndexedExponents(Symbol))) -> % +--R nthRoot : (%,Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R order : (%,Symbol,NonNegativeInteger) -> NonNegativeInteger --R order : (%,Symbol) -> 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 @@ -130061,7 +130499,7 @@ in addition we need to add a line defining [[PI2]] in [[formatPlex]]: --R1/2 --R --R ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 8 --S 9 of 11 @@ -130073,7 +130511,7 @@ in addition we need to add a line defining [[PI2]] in [[formatPlex]]: --R1/(x+5) --R --R ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 9 --S 10 of 11 @@ -130085,7 +130523,7 @@ in addition we need to add a line defining [[PI2]] in [[formatPlex]]: --R(x+3)/(y-5) --R --R ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 10 --S 11 of 11 @@ -130099,15 +130537,15 @@ in addition we need to add a line defining [[PI2]] in [[formatPlex]]: --R------------------------------- Operations -------------------------------- --R ?=? : (%,%) -> Boolean coerce : OutputForm -> % --R coerce : % -> OutputForm display : % -> Void ---R display : (%,Integer) -> Void epilogue : % -> List String +--R display : (%,Integer) -> Void epilogue : % -> List(String) --R hash : % -> SingleInteger latex : % -> String ---R new : () -> % prologue : % -> List String ---R tex : % -> List String ?~=? : (%,%) -> Boolean +--R new : () -> % prologue : % -> List(String) +--R tex : % -> List(String) ?~=? : (%,%) -> Boolean --R convert : (OutputForm,Integer,OutputForm) -> % --R convert : (OutputForm,Integer) -> % ---R setEpilogue! : (%,List String) -> List String ---R setPrologue! : (%,List String) -> List String ---R setTex! : (%,List String) -> List String +--R setEpilogue! : (%,List(String)) -> List(String) +--R setPrologue! : (%,List(String)) -> List(String) +--R setTex! : (%,List(String)) -> List(String) --R --E 11 @@ -131081,6 +131519,7 @@ TextFile: Cat == Def where --S 1 of 1 )show TheSymbolTable +--R --R TheSymbolTable is a domain constructor --R Abbreviation for TheSymbolTable is SYMS --R This constructor is exposed in this frame. @@ -131093,14 +131532,14 @@ TextFile: Cat == Def where --R printHeader : () -> Void printHeader : Symbol -> Void --R printHeader : (Symbol,%) -> Void printTypes : Symbol -> Void --R showTheSymbolTable : () -> % ---R argumentList! : List Symbol -> Void ---R argumentList! : (Symbol,List Symbol) -> Void ---R argumentList! : (Symbol,List Symbol,%) -> Void ---R argumentListOf : (Symbol,%) -> List Symbol +--R argumentList! : List(Symbol) -> Void +--R argumentList! : (Symbol,List(Symbol)) -> Void +--R argumentList! : (Symbol,List(Symbol),%) -> Void +--R argumentListOf : (Symbol,%) -> List(Symbol) --R clearTheSymbolTable : Symbol -> Void --R declare! : (Symbol,FortranType,Symbol) -> FortranType --R declare! : (Symbol,FortranType) -> FortranType ---R declare! : (List Symbol,FortranType,Symbol,%) -> FortranType +--R declare! : (List(Symbol),FortranType,Symbol,%) -> FortranType --R declare! : (Symbol,FortranType,Symbol,%) -> FortranType --R returnType! : Union(fst: FortranScalarType,void: void) -> Void --R returnType! : (Symbol,Union(fst: FortranScalarType,void: void)) -> Void @@ -131372,29 +131811,30 @@ TheSymbolTable() : Exports == Implementation where --S 1 of 1 )show ThreeDimensionalMatrix ---R ThreeDimensionalMatrix R: SetCategory is a domain constructor +--R +--R ThreeDimensionalMatrix(R: SetCategory) is a domain constructor --R Abbreviation for ThreeDimensionalMatrix is M3D --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for M3D --R --R------------------------------- Operations -------------------------------- ---R construct : List List List R -> % copy : % -> % ---R empty : () -> % empty? : % -> Boolean ---R eq? : (%,%) -> Boolean map : ((R -> R),%) -> % ---R sample : () -> % +--R copy : % -> % empty : () -> % +--R empty? : % -> Boolean eq? : (%,%) -> Boolean +--R map : ((R -> R),%) -> % sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?=? : (%,%) -> Boolean if R has SETCAT --R any? : ((R -> Boolean),%) -> Boolean if $ has finiteAggregate ---R coerce : % -> PrimitiveArray PrimitiveArray PrimitiveArray R ---R coerce : PrimitiveArray PrimitiveArray PrimitiveArray R -> % +--R coerce : % -> PrimitiveArray(PrimitiveArray(PrimitiveArray(R))) +--R coerce : PrimitiveArray(PrimitiveArray(PrimitiveArray(R))) -> % --R coerce : % -> OutputForm if R has SETCAT +--R construct : List(List(List(R))) -> % --R count : (R,%) -> NonNegativeInteger if $ has finiteAggregate and R has SETCAT --R count : ((R -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate --R elt : (%,NonNegativeInteger,NonNegativeInteger,NonNegativeInteger) -> 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 hash : % -> SingleInteger if R has SETCAT --R identityMatrix : NonNegativeInteger -> % if R has RING @@ -131402,11 +131842,11 @@ TheSymbolTable() : Exports == Implementation where --R less? : (%,NonNegativeInteger) -> Boolean --R map! : ((R -> R),%) -> % if $ has shallowlyMutable --R matrixConcat3D : (Symbol,%,%) -> % ---R matrixDimensions : % -> Vector NonNegativeInteger +--R matrixDimensions : % -> Vector(NonNegativeInteger) --R member? : (R,%) -> Boolean if $ has finiteAggregate and R has SETCAT ---R members : % -> List R if $ has finiteAggregate +--R members : % -> List(R) if $ has finiteAggregate --R more? : (%,NonNegativeInteger) -> Boolean ---R parts : % -> List R if $ has finiteAggregate +--R parts : % -> List(R) if $ has finiteAggregate --R plus : (%,%) -> % if R has RING --R setelt! : (%,NonNegativeInteger,NonNegativeInteger,NonNegativeInteger,R) -> R --R size? : (%,NonNegativeInteger) -> Boolean @@ -131742,6 +132182,7 @@ ThreeDimensionalMatrix(R) : Exports == Implementation where --S 1 of 1 )show ThreeDimensionalViewport +--R --R ThreeDimensionalViewport is a domain constructor --R Abbreviation for ThreeDimensionalViewport is VIEW3D --R This constructor is exposed in this frame. @@ -131755,7 +132196,7 @@ ThreeDimensionalMatrix(R) : Exports == Implementation where --R eyeDistance : (%,Float) -> Void hash : % -> SingleInteger --R hitherPlane : (%,Float) -> Void intensity : (%,Float) -> Void --R key : % -> Integer latex : % -> String ---R makeViewport3D : % -> % options : % -> List DrawOption +--R makeViewport3D : % -> % options : % -> List(DrawOption) --R perspective : (%,String) -> Void reset : % -> Void --R rotate : (%,Float,Float) -> Void showRegion : (%,String) -> Void --R title : (%,String) -> Void viewDeltaXDefault : Float -> Float @@ -131769,17 +132210,17 @@ ThreeDimensionalMatrix(R) : Exports == Implementation where --R colorDef : (%,Color,Color) -> Void --R dimensions : (%,NonNegativeInteger,NonNegativeInteger,PositiveInteger,PositiveInteger) -> Void --R lighting : (%,Float,Float,Float) -> Void ---R makeViewport3D : (ThreeSpace DoubleFloat,List DrawOption) -> % ---R makeViewport3D : (ThreeSpace DoubleFloat,String) -> % ---R modifyPointData : (%,NonNegativeInteger,Point DoubleFloat) -> Void +--R makeViewport3D : (ThreeSpace(DoubleFloat),List(DrawOption)) -> % +--R makeViewport3D : (ThreeSpace(DoubleFloat),String) -> % +--R modifyPointData : (%,NonNegativeInteger,Point(DoubleFloat)) -> Void --R move : (%,NonNegativeInteger,NonNegativeInteger) -> Void ---R options : (%,List DrawOption) -> % +--R options : (%,List(DrawOption)) -> % --R outlineRender : (%,String) -> Void --R resize : (%,PositiveInteger,PositiveInteger) -> Void --R rotate : (%,Integer,Integer) -> Void --R showClipRegion : (%,String) -> Void ---R subspace : (%,ThreeSpace DoubleFloat) -> % ---R subspace : % -> ThreeSpace DoubleFloat +--R subspace : (%,ThreeSpace(DoubleFloat)) -> % +--R subspace : % -> ThreeSpace(DoubleFloat) --R translate : (%,Float,Float) -> Void --R viewpoint : (%,Float,Float,Float) -> Void --R viewpoint : (%,Float,Float) -> Void @@ -131787,7 +132228,7 @@ ThreeDimensionalMatrix(R) : Exports == Implementation where --R viewpoint : (%,Record(theta: DoubleFloat,phi: DoubleFloat,scale: DoubleFloat,scaleX: DoubleFloat,scaleY: DoubleFloat,scaleZ: DoubleFloat,deltaX: DoubleFloat,deltaY: DoubleFloat)) -> Void --R viewpoint : % -> Record(theta: DoubleFloat,phi: DoubleFloat,scale: DoubleFloat,scaleX: DoubleFloat,scaleY: DoubleFloat,scaleZ: DoubleFloat,deltaX: DoubleFloat,deltaY: DoubleFloat) --R viewpoint : (%,Float,Float,Float,Float,Float) -> Void ---R write : (%,String,List String) -> String +--R write : (%,String,List(String)) -> String --R write : (%,String,String) -> String --R zoom : (%,Float,Float,Float) -> Void --R @@ -132822,48 +133263,49 @@ ThreeDimensionalViewport(): Exports == Implementation where --S 1 of 1 )show ThreeSpace ---R ThreeSpace R: Ring is a domain constructor +--R +--R ThreeSpace(R: Ring) is a domain constructor --R Abbreviation for ThreeSpace is SPACE3 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for SPACE3 --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 @@ -133283,22 +133725,23 @@ ThreeSpace(R:Ring):Exports == Implementation where --S 1 of 1 )show Tree ---R Tree S: SetCategory is a domain constructor +--R +--R Tree(S: SetCategory) is a domain constructor --R Abbreviation for Tree is TREE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for TREE --R --R------------------------------- Operations -------------------------------- ---R children : % -> List % copy : % -> % +--R children : % -> List(%) copy : % -> % --R cyclic? : % -> Boolean cyclicCopy : % -> % ---R cyclicEntries : % -> List % cyclicEqual? : (%,%) -> Boolean ---R cyclicParents : % -> List % distance : (%,%) -> Integer +--R cyclicEntries : % -> List(%) cyclicEqual? : (%,%) -> Boolean +--R cyclicParents : % -> List(%) 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 : () -> % tree : S -> % ---R tree : List S -> % tree : (S,List %) -> % +--R tree : List(S) -> % tree : (S,List(%)) -> % --R value : % -> S --R #? : % -> NonNegativeInteger if $ has finiteAggregate --R ?=? : (%,%) -> Boolean if S has SETCAT @@ -133307,21 +133750,21 @@ ThreeSpace(R:Ring):Exports == Implementation where --R coerce : % -> OutputForm if S has SETCAT --R count : (S,%) -> NonNegativeInteger if $ has finiteAggregate and S has SETCAT --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 $ has finiteAggregate and S has SETCAT ---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 @@ -133752,7 +134195,8 @@ Tree(S: SetCategory): T==C where --S 1 of 1 )show TubePlot ---R TubePlot Curve: PlottableSpaceCurveCategory is a domain constructor +--R +--R TubePlot(Curve: PlottableSpaceCurveCategory) is a domain constructor --R Abbreviation for TubePlot is TUBE --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for TUBE @@ -133760,9 +134204,9 @@ Tree(S: SetCategory): T==C where --R------------------------------- Operations -------------------------------- --R closed? : % -> Boolean getCurve : % -> Curve --R open? : % -> Boolean ---R listLoops : % -> List List Point DoubleFloat +--R listLoops : % -> List(List(Point(DoubleFloat))) --R setClosed : (%,Boolean) -> Boolean ---R tube : (Curve,List List Point DoubleFloat,Boolean) -> % +--R tube : (Curve,List(List(Point(DoubleFloat))),Boolean) -> % --R --E 1 @@ -133868,13 +134312,14 @@ TubePlot(Curve): Exports == Implementation where --S 1 of 1 )show Tuple ---R Tuple S: Type is a domain constructor +--R +--R Tuple(S: Type) is a domain constructor --R Abbreviation for Tuple is TUPLE --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for TUPLE --R --R------------------------------- Operations -------------------------------- ---R coerce : PrimitiveArray S -> % coerce : % -> PrimitiveArray S +--R coerce : PrimitiveArray(S) -> % coerce : % -> PrimitiveArray(S) --R length : % -> NonNegativeInteger --R ?=? : (%,%) -> Boolean if S has SETCAT --R coerce : % -> OutputForm if S has SETCAT @@ -133997,7 +134442,7 @@ arr : ARRAY2 INT := new(5,4,0) --R |0 0 0 0| --R | | --R +0 0 0 0+ ---R Type: TwoDimensionalArray Integer +--R Type: TwoDimensionalArray(Integer) --E 1 --S 2 of 20 @@ -134021,7 +134466,7 @@ arr --R |0 0 0 0| --R | | --R +0 0 0 0+ ---R Type: TwoDimensionalArray Integer +--R Type: TwoDimensionalArray(Integer) --E 3 --S 4 of 20 @@ -134053,7 +134498,7 @@ row(arr,1) --R --R --R (7) [17,0,0,0] ---R Type: OneDimensionalArray Integer +--R Type: OneDimensionalArray(Integer) --E 7 --S 8 of 20 @@ -134061,7 +134506,7 @@ column(arr,1) --R --R --R (8) [17,0,0,0,0] ---R Type: OneDimensionalArray Integer +--R Type: OneDimensionalArray(Integer) --E 8 --S 9 of 20 @@ -134093,7 +134538,7 @@ map(-,arr) --R | 0 0 0 0| --R | | --R + 0 0 0 0+ ---R Type: TwoDimensionalArray Integer +--R Type: TwoDimensionalArray(Integer) --E 11 --S 12 of 20 @@ -134109,7 +134554,7 @@ map((x +-> x + x),arr) --R |0 0 0 0| --R | | --R +0 0 0 0+ ---R Type: TwoDimensionalArray Integer +--R Type: TwoDimensionalArray(Integer) --E 12 --S 13 of 20 @@ -134125,7 +134570,7 @@ arrc := copy(arr) --R |0 0 0 0| --R | | --R +0 0 0 0+ ---R Type: TwoDimensionalArray Integer +--R Type: TwoDimensionalArray(Integer) --E 13 --S 14 of 20 @@ -134141,7 +134586,7 @@ map!(-,arrc) --R | 0 0 0 0| --R | | --R + 0 0 0 0+ ---R Type: TwoDimensionalArray Integer +--R Type: TwoDimensionalArray(Integer) --E 14 --S 15 of 20 @@ -134157,7 +134602,7 @@ arrc --R | 0 0 0 0| --R | | --R + 0 0 0 0+ ---R Type: TwoDimensionalArray Integer +--R Type: TwoDimensionalArray(Integer) --E 15 --S 16 of 20 @@ -134173,7 +134618,7 @@ arr --R |0 0 0 0| --R | | --R +0 0 0 0+ ---R Type: TwoDimensionalArray Integer +--R Type: TwoDimensionalArray(Integer) --E 16 --S 17 of 20 @@ -135448,7 +135893,8 @@ TwoDimensionalViewport ():Exports == Implementation where --S 1 of 1 )show UnivariateFormalPowerSeries ---R UnivariateFormalPowerSeries Coef: Ring is a domain constructor +--R +--R UnivariateFormalPowerSeries(Coef: Ring) is a domain constructor --R Abbreviation for UnivariateFormalPowerSeries is UFPS --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for UFPS @@ -135461,7 +135907,7 @@ TwoDimensionalViewport ():Exports == Implementation where --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> Coef ---R coefficients : % -> Stream Coef coerce : Variable QUOTE x -> % +--R coefficients : % -> Stream(Coef) coerce : Variable(QUOTE(x)) -> % --R coerce : Integer -> % coerce : % -> OutputForm --R complete : % -> % degree : % -> NonNegativeInteger --R evenlambert : % -> % hash : % -> SingleInteger @@ -135473,97 +135919,97 @@ TwoDimensionalViewport ():Exports == Implementation where --R pole? : % -> Boolean quoByVar : % -> % --R recip : % -> Union(%,"failed") reductum : % -> % --R revert : % -> % 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 *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL +--R D : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) --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 : UnivariatePolynomial(QUOTE x,Coef) -> % +--R coerce : UnivariatePolynomial(QUOTE(x),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 differentiate : (%,Variable QUOTE x) -> % +--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 : (%,Variable(QUOTE(x))) -> % --R differentiate : % -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef ---R differentiate : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) --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 generalLambert : (%,Integer,Integer) -> % ---R integrate : (%,Variable QUOTE x) -> % if Coef has ALGEBRA FRAC INT ---R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List Symbol and Coef has ALGEBRA FRAC INT or Coef has ACFS INT and Coef has ALGEBRA FRAC INT and Coef has PRIMCAT and Coef has TRANFUN ---R integrate : % -> % if Coef has ALGEBRA FRAC INT +--R integrate : (%,Variable(QUOTE(x))) -> % if Coef has ALGEBRA(FRAC(INT)) +--R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List(Symbol) and Coef has ALGEBRA(FRAC(INT)) or Coef has ACFS(INT) and Coef has ALGEBRA(FRAC(INT)) and Coef has PRIMCAT and Coef has TRANFUN +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) --R invmultisect : (Integer,Integer,%) -> % ---R log : % -> % if Coef has ALGEBRA FRAC INT ---R monomial : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--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 multisect : (Integer,Integer,%) -> % ---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 univariatePolynomial : (%,NonNegativeInteger) -> UnivariatePolynomial(QUOTE x,Coef) ---R variables : % -> List SingletonAsOrderedSet +--R univariatePolynomial : (%,NonNegativeInteger) -> UnivariatePolynomial(QUOTE(x),Coef) +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -135709,6 +136155,7 @@ UnivariateFormalPowerSeries(Coef: Ring) == --S 1 of 1 )show UnivariateLaurentSeries +--R --R UnivariateLaurentSeries(Coef: Ring,var: Symbol,cen: Coef) is a domain constructor --R Abbreviation for UnivariateLaurentSeries is ULS --R This constructor is not exposed in this frame. @@ -135722,7 +136169,7 @@ UnivariateFormalPowerSeries(Coef: Ring) == --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> Coef ---R coefficient : (%,Integer) -> Coef coerce : Variable var -> % +--R coefficient : (%,Integer) -> Coef coerce : Variable(var) -> % --R coerce : Integer -> % coerce : % -> OutputForm --R complete : % -> % degree : % -> Integer --R ?.? : (%,Integer) -> Coef extend : (%,Integer) -> % @@ -135736,13 +136183,13 @@ UnivariateFormalPowerSeries(Coef: Ring) == --R removeZeroes : % -> % sample : () -> % --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 ?*? : (UnivariateTaylorSeries(Coef,var,cen),%) -> % if Coef has FIELD --R ?*? : (%,UnivariateTaylorSeries(Coef,var,cen)) -> % 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 ?/? : (UnivariateTaylorSeries(Coef,var,cen),UnivariateTaylorSeries(Coef,var,cen)) -> % if Coef has FIELD @@ -135752,10 +136199,10 @@ UnivariateFormalPowerSeries(Coef: Ring) == --R ?<=? : (%,%) -> Boolean if UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has ORDSET and Coef has FIELD --R ?>? : (%,%) -> Boolean if UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has ORDSET and Coef has FIELD --R ?>=? : (%,%) -> Boolean if UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has ORDSET and Coef has FIELD ---R D : (%,Symbol) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--R D : (%,Symbol) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) --R D : % -> % if UnivariateTaylorSeries(Coef,var,cen) has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef --R D : (%,NonNegativeInteger) -> % if UnivariateTaylorSeries(Coef,var,cen) has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef --R D : (%,(UnivariateTaylorSeries(Coef,var,cen) -> UnivariateTaylorSeries(Coef,var,cen)),NonNegativeInteger) -> % if Coef has FIELD @@ -135763,144 +136210,144 @@ UnivariateFormalPowerSeries(Coef: Ring) == --R ?^? : (%,Integer) -> % if Coef has FIELD --R ?^? : (%,NonNegativeInteger) -> % --R abs : % -> % if UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has 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 UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or 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 : % -> UnivariateTaylorSeries(Coef,var,cen) if UnivariateTaylorSeries(Coef,var,cen) has INS and Coef has FIELD --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has CHARNZ and Coef has FIELD or Coef has CHARNZ ---R coerce : Fraction Integer -> % if UnivariateTaylorSeries(Coef,var,cen) has RETRACT INT and Coef has FIELD or Coef has ALGEBRA FRAC INT +--R coerce : Fraction(Integer) -> % if UnivariateTaylorSeries(Coef,var,cen) has RETRACT(INT) and Coef has FIELD or Coef has ALGEBRA(FRAC(INT)) --R coerce : % -> % if UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or Coef has INTDOM ---R coerce : Symbol -> % if UnivariateTaylorSeries(Coef,var,cen) has RETRACT SYMBOL and Coef has FIELD +--R coerce : Symbol -> % if UnivariateTaylorSeries(Coef,var,cen) has RETRACT(SYMBOL) and Coef has FIELD --R coerce : UnivariateTaylorSeries(Coef,var,cen) -> % --R coerce : Coef -> % if Coef has COMRING ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD ---R convert : % -> Pattern Integer if UnivariateTaylorSeries(Coef,var,cen) has KONVERT PATTERN INT and Coef has FIELD ---R convert : % -> Pattern Float if UnivariateTaylorSeries(Coef,var,cen) has KONVERT PATTERN FLOAT and Coef has FIELD +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD +--R convert : % -> Pattern(Integer) if UnivariateTaylorSeries(Coef,var,cen) has KONVERT(PATTERN(INT)) and Coef has FIELD +--R convert : % -> Pattern(Float) if UnivariateTaylorSeries(Coef,var,cen) has KONVERT(PATTERN(FLOAT)) and Coef has FIELD --R convert : % -> DoubleFloat if UnivariateTaylorSeries(Coef,var,cen) has REAL and Coef has FIELD --R convert : % -> Float if UnivariateTaylorSeries(Coef,var,cen) has REAL and Coef has FIELD ---R convert : % -> InputForm if UnivariateTaylorSeries(Coef,var,cen) has KONVERT INFORM and Coef has 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 convert : % -> InputForm if UnivariateTaylorSeries(Coef,var,cen) has KONVERT(INFORM) and Coef has 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 denom : % -> UnivariateTaylorSeries(Coef,var,cen) if Coef has FIELD --R denominator : % -> % if Coef has FIELD ---R differentiate : (%,Symbol) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if UnivariateTaylorSeries(Coef,var,cen) has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) --R differentiate : % -> % if UnivariateTaylorSeries(Coef,var,cen) has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if UnivariateTaylorSeries(Coef,var,cen) has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef ---R differentiate : (%,Variable var) -> % +--R differentiate : (%,Variable(var)) -> % --R differentiate : (%,(UnivariateTaylorSeries(Coef,var,cen) -> UnivariateTaylorSeries(Coef,var,cen)),NonNegativeInteger) -> % if Coef has FIELD --R differentiate : (%,(UnivariateTaylorSeries(Coef,var,cen) -> UnivariateTaylorSeries(Coef,var,cen))) -> % if Coef has FIELD --R divide : (%,%) -> Record(quotient: %,remainder: %) if Coef has FIELD --R ?.? : (%,UnivariateTaylorSeries(Coef,var,cen)) -> % if UnivariateTaylorSeries(Coef,var,cen) has ELTAB(UTS(Coef,var,cen),UTS(Coef,var,cen)) and Coef has FIELD --R ?.? : (%,%) -> % if Integer has SGROUP --R euclideanSize : % -> NonNegativeInteger if Coef has FIELD ---R eval : (%,List UnivariateTaylorSeries(Coef,var,cen),List UnivariateTaylorSeries(Coef,var,cen)) -> % if UnivariateTaylorSeries(Coef,var,cen) has EVALAB UTS(Coef,var,cen) and Coef has FIELD ---R eval : (%,UnivariateTaylorSeries(Coef,var,cen),UnivariateTaylorSeries(Coef,var,cen)) -> % if UnivariateTaylorSeries(Coef,var,cen) has EVALAB UTS(Coef,var,cen) and Coef has FIELD ---R eval : (%,Equation UnivariateTaylorSeries(Coef,var,cen)) -> % if UnivariateTaylorSeries(Coef,var,cen) has EVALAB UTS(Coef,var,cen) and Coef has FIELD ---R eval : (%,List Equation UnivariateTaylorSeries(Coef,var,cen)) -> % if UnivariateTaylorSeries(Coef,var,cen) has EVALAB UTS(Coef,var,cen) and Coef has FIELD ---R eval : (%,List Symbol,List UnivariateTaylorSeries(Coef,var,cen)) -> % if UnivariateTaylorSeries(Coef,var,cen) has IEVALAB(SYMBOL,UTS(Coef,var,cen)) and Coef has FIELD +--R eval : (%,List(UnivariateTaylorSeries(Coef,var,cen)),List(UnivariateTaylorSeries(Coef,var,cen))) -> % if UnivariateTaylorSeries(Coef,var,cen) has EVALAB(UTS(Coef,var,cen)) and Coef has FIELD +--R eval : (%,UnivariateTaylorSeries(Coef,var,cen),UnivariateTaylorSeries(Coef,var,cen)) -> % if UnivariateTaylorSeries(Coef,var,cen) has EVALAB(UTS(Coef,var,cen)) and Coef has FIELD +--R eval : (%,Equation(UnivariateTaylorSeries(Coef,var,cen))) -> % if UnivariateTaylorSeries(Coef,var,cen) has EVALAB(UTS(Coef,var,cen)) and Coef has FIELD +--R eval : (%,List(Equation(UnivariateTaylorSeries(Coef,var,cen)))) -> % if UnivariateTaylorSeries(Coef,var,cen) has EVALAB(UTS(Coef,var,cen)) and Coef has FIELD +--R eval : (%,List(Symbol),List(UnivariateTaylorSeries(Coef,var,cen))) -> % if UnivariateTaylorSeries(Coef,var,cen) has IEVALAB(SYMBOL,UTS(Coef,var,cen)) and Coef has FIELD --R eval : (%,Symbol,UnivariateTaylorSeries(Coef,var,cen)) -> % if UnivariateTaylorSeries(Coef,var,cen) has IEVALAB(SYMBOL,UTS(Coef,var,cen)) and 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 UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or 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 UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD +--R factor : % -> Factored(%) if Coef has FIELD +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD --R floor : % -> UnivariateTaylorSeries(Coef,var,cen) if UnivariateTaylorSeries(Coef,var,cen) has INS and Coef has FIELD --R fractionPart : % -> % if UnivariateTaylorSeries(Coef,var,cen) has EUCDOM and 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 gcd : List(%) -> % if Coef has FIELD +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if Coef has FIELD --R init : () -> % if UnivariateTaylorSeries(Coef,var,cen) has STEP and Coef has FIELD ---R integrate : (%,Variable var) -> % if Coef has ALGEBRA FRAC INT ---R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List Symbol and Coef has ALGEBRA FRAC INT or Coef has ACFS INT and Coef has ALGEBRA FRAC INT and Coef has PRIMCAT and Coef has TRANFUN ---R integrate : % -> % if Coef has ALGEBRA FRAC INT +--R integrate : (%,Variable(var)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List(Symbol) and Coef has ALGEBRA(FRAC(INT)) or Coef has ACFS(INT) and Coef has ALGEBRA(FRAC(INT)) and Coef has PRIMCAT and Coef has TRANFUN +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) --R inv : % -> % if Coef has FIELD --R laurent : (Integer,UnivariateTaylorSeries(Coef,var,cen)) -> % --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 : ((UnivariateTaylorSeries(Coef,var,cen) -> UnivariateTaylorSeries(Coef,var,cen)),%) -> % if Coef has FIELD --R max : (%,%) -> % if UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has ORDSET and Coef has FIELD --R min : (%,%) -> % if UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has ORDSET and Coef has 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 UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD --R nextItem : % -> Union(%,"failed") if UnivariateTaylorSeries(Coef,var,cen) has STEP and Coef has FIELD ---R nthRoot : (%,Integer) -> % if Coef has ALGEBRA FRAC INT +--R nthRoot : (%,Integer) -> % if Coef has ALGEBRA(FRAC(INT)) --R numer : % -> UnivariateTaylorSeries(Coef,var,cen) if Coef has FIELD --R numerator : % -> % if Coef has FIELD ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if UnivariateTaylorSeries(Coef,var,cen) has PATMAB FLOAT and Coef has FIELD ---R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if UnivariateTaylorSeries(Coef,var,cen) has PATMAB INT and Coef has FIELD ---R pi : () -> % if Coef has ALGEBRA FRAC INT +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if UnivariateTaylorSeries(Coef,var,cen) has PATMAB(FLOAT) and Coef has FIELD +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if UnivariateTaylorSeries(Coef,var,cen) has PATMAB(INT) and Coef has FIELD +--R pi : () -> % if Coef has ALGEBRA(FRAC(INT)) --R positive? : % -> Boolean if UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has 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 UnivariateTaylorSeries(Coef,var,cen) has INS and 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 UnivariateTaylorSeries(Coef,var,cen) has LINEXP INT and Coef has FIELD ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if UnivariateTaylorSeries(Coef,var,cen) has LINEXP INT and Coef has FIELD ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix UnivariateTaylorSeries(Coef,var,cen),vec: Vector UnivariateTaylorSeries(Coef,var,cen)) if Coef has FIELD ---R reducedSystem : Matrix % -> Matrix UnivariateTaylorSeries(Coef,var,cen) 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 UnivariateTaylorSeries(Coef,var,cen) has LINEXP(INT) and Coef has FIELD +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if UnivariateTaylorSeries(Coef,var,cen) has LINEXP(INT) and Coef has FIELD +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(UnivariateTaylorSeries(Coef,var,cen)),vec: Vector(UnivariateTaylorSeries(Coef,var,cen))) if Coef has FIELD +--R reducedSystem : Matrix(%) -> Matrix(UnivariateTaylorSeries(Coef,var,cen)) if Coef has FIELD --R ?rem? : (%,%) -> % if Coef has FIELD ---R retract : % -> Integer if UnivariateTaylorSeries(Coef,var,cen) has RETRACT INT and Coef has FIELD ---R retract : % -> Fraction Integer if UnivariateTaylorSeries(Coef,var,cen) has RETRACT INT and Coef has FIELD ---R retract : % -> Symbol if UnivariateTaylorSeries(Coef,var,cen) has RETRACT SYMBOL and Coef has FIELD +--R retract : % -> Integer if UnivariateTaylorSeries(Coef,var,cen) has RETRACT(INT) and Coef has FIELD +--R retract : % -> Fraction(Integer) if UnivariateTaylorSeries(Coef,var,cen) has RETRACT(INT) and Coef has FIELD +--R retract : % -> Symbol if UnivariateTaylorSeries(Coef,var,cen) has RETRACT(SYMBOL) and Coef has FIELD --R retract : % -> UnivariateTaylorSeries(Coef,var,cen) ---R retractIfCan : % -> Union(Integer,"failed") if UnivariateTaylorSeries(Coef,var,cen) has RETRACT INT and Coef has FIELD ---R retractIfCan : % -> Union(Fraction Integer,"failed") if UnivariateTaylorSeries(Coef,var,cen) has RETRACT INT and Coef has FIELD ---R retractIfCan : % -> Union(Symbol,"failed") if UnivariateTaylorSeries(Coef,var,cen) has RETRACT SYMBOL and Coef has FIELD +--R retractIfCan : % -> Union(Integer,"failed") if UnivariateTaylorSeries(Coef,var,cen) has RETRACT(INT) and Coef has FIELD +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if UnivariateTaylorSeries(Coef,var,cen) has RETRACT(INT) and Coef has FIELD +--R retractIfCan : % -> Union(Symbol,"failed") if UnivariateTaylorSeries(Coef,var,cen) has RETRACT(SYMBOL) and Coef has FIELD --R retractIfCan : % -> Union(UnivariateTaylorSeries(Coef,var,cen),"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 UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has 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 UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has 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 UnivariateTaylorSeries(Coef,var,cen) has PFECAT and 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 squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has 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 taylor : % -> UnivariateTaylorSeries(Coef,var,cen) --R taylorIfCan : % -> Union(UnivariateTaylorSeries(Coef,var,cen),"failed") --R taylorRep : % -> UnivariateTaylorSeries(Coef,var,cen) ---R terms : % -> Stream Record(k: Integer,c: Coef) +--R terms : % -> Stream(Record(k: Integer,c: Coef)) --R truncate : (%,Integer,Integer) -> % --R unit? : % -> Boolean if UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or Coef has INTDOM --R unitCanonical : % -> % if UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or Coef has INTDOM --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) if UnivariateTaylorSeries(Coef,var,cen) has OINTDOM and Coef has FIELD or UnivariateTaylorSeries(Coef,var,cen) has PFECAT and Coef has FIELD or Coef has INTDOM ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R wholePart : % -> UnivariateTaylorSeries(Coef,var,cen) if UnivariateTaylorSeries(Coef,var,cen) has EUCDOM and Coef has FIELD --R --E 1 @@ -136141,7 +136588,8 @@ UnivariateLaurentSeries(Coef,var,cen): Exports == Implementation where --S 1 of 1 )show UnivariateLaurentSeriesConstructor ---R UnivariateLaurentSeriesConstructor(Coef: Ring,UTS: UnivariateTaylorSeriesCategory Coef) is a domain constructor +--R +--R UnivariateLaurentSeriesConstructor(Coef: Ring,UTS: UnivariateTaylorSeriesCategory(Coef)) is a domain constructor --R Abbreviation for UnivariateLaurentSeriesConstructor is ULSCONS --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for ULSCONS @@ -136170,13 +136618,13 @@ UnivariateLaurentSeries(Coef,var,cen): Exports == Implementation where --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 @@ -136186,10 +136634,10 @@ UnivariateLaurentSeries(Coef,var,cen): Exports == Implementation where --R ?<=? : (%,%) -> Boolean if UTS has ORDSET and Coef has FIELD --R ?>? : (%,%) -> Boolean if UTS has ORDSET and Coef has FIELD --R ?>=? : (%,%) -> Boolean if UTS has ORDSET and Coef has FIELD ---R D : (%,Symbol) -> % if UTS has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if UTS has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if UTS has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if UTS has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--R D : (%,Symbol) -> % if UTS has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if UTS has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if UTS has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if UTS has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) --R D : % -> % if UTS has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef --R D : (%,NonNegativeInteger) -> % if UTS has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef --R D : (%,(UTS -> UTS),NonNegativeInteger) -> % if Coef has FIELD @@ -136197,45 +136645,45 @@ UnivariateLaurentSeries(Coef,var,cen): Exports == Implementation where --R ?^? : (%,Integer) -> % if Coef has FIELD --R ?^? : (%,NonNegativeInteger) -> % --R abs : % -> % if UTS has OINTDOM and Coef has 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 UTS has INS and Coef has FIELD --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if $ has CHARNZ and UTS has PFECAT and Coef has FIELD or UTS has CHARNZ and Coef has 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 UTS has RETRACT SYMBOL and Coef has FIELD +--R coerce : Fraction(Integer) -> % if Coef has ALGEBRA(FRAC(INT)) +--R coerce : Symbol -> % if UTS has RETRACT(SYMBOL) and Coef has FIELD --R coerce : Coef -> % if Coef has COMRING ---R conditionP : Matrix % -> Union(Vector %,"failed") if $ has CHARNZ and UTS has PFECAT and Coef has FIELD ---R convert : % -> Pattern Integer if UTS has KONVERT PATTERN INT and Coef has FIELD ---R convert : % -> Pattern Float if UTS has KONVERT PATTERN FLOAT and Coef has FIELD ---R convert : % -> InputForm if UTS has KONVERT INFORM and Coef has FIELD +--R conditionP : Matrix(%) -> Union(Vector(%),"failed") if $ has CHARNZ and UTS has PFECAT and Coef has FIELD +--R convert : % -> Pattern(Integer) if UTS has KONVERT(PATTERN(INT)) and Coef has FIELD +--R convert : % -> Pattern(Float) if UTS has KONVERT(PATTERN(FLOAT)) and Coef has FIELD +--R convert : % -> InputForm if UTS has KONVERT(INFORM) and Coef has FIELD --R convert : % -> Float if UTS has REAL and Coef has FIELD --R convert : % -> DoubleFloat if UTS has REAL and Coef has 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 UTS has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if UTS has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if UTS has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if UTS has PDRING SYMBOL and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if UTS has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if UTS has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if UTS has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if UTS has PDRING(SYMBOL) and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef and Coef has PDRING(SYMBOL) --R differentiate : % -> % if UTS has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if UTS has DIFRING and Coef has FIELD or Coef has *: (Integer,Coef) -> Coef --R differentiate : (%,(UTS -> UTS),NonNegativeInteger) -> % if Coef has FIELD @@ -136244,90 +136692,90 @@ UnivariateLaurentSeries(Coef,var,cen): Exports == Implementation where --R ?.? : (%,UTS) -> % if UTS has ELTAB(UTS,UTS) and Coef has FIELD --R ?.? : (%,%) -> % if Integer has SGROUP --R euclideanSize : % -> NonNegativeInteger if Coef has FIELD ---R eval : (%,List UTS,List UTS) -> % if UTS has EVALAB UTS and Coef has FIELD ---R eval : (%,UTS,UTS) -> % if UTS has EVALAB UTS and Coef has FIELD ---R eval : (%,Equation UTS) -> % if UTS has EVALAB UTS and Coef has FIELD ---R eval : (%,List Equation UTS) -> % if UTS has EVALAB UTS and Coef has FIELD ---R eval : (%,List Symbol,List UTS) -> % if UTS has IEVALAB(SYMBOL,UTS) and Coef has FIELD +--R eval : (%,List(UTS),List(UTS)) -> % if UTS has EVALAB(UTS) and Coef has FIELD +--R eval : (%,UTS,UTS) -> % if UTS has EVALAB(UTS) and Coef has FIELD +--R eval : (%,Equation(UTS)) -> % if UTS has EVALAB(UTS) and Coef has FIELD +--R eval : (%,List(Equation(UTS))) -> % if UTS has EVALAB(UTS) and Coef has FIELD +--R eval : (%,List(Symbol),List(UTS)) -> % if UTS has IEVALAB(SYMBOL,UTS) and Coef has FIELD --R eval : (%,Symbol,UTS) -> % if UTS has IEVALAB(SYMBOL,UTS) and 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 factorPolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if UTS has PFECAT and Coef has FIELD ---R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if UTS has PFECAT and Coef has FIELD +--R factor : % -> Factored(%) if Coef has FIELD +--R factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if UTS has PFECAT and Coef has FIELD +--R factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if UTS has PFECAT and Coef has FIELD --R floor : % -> UTS if UTS has INS and Coef has FIELD --R fractionPart : % -> % if UTS has EUCDOM and 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 gcd : List(%) -> % if Coef has FIELD +--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if Coef has FIELD --R init : () -> % if UTS has STEP and Coef has FIELD ---R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List Symbol and Coef has ALGEBRA FRAC INT or Coef has ACFS INT and Coef has ALGEBRA FRAC INT and Coef has PRIMCAT and Coef has TRANFUN ---R integrate : % -> % if Coef has ALGEBRA FRAC INT +--R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List(Symbol) and Coef has ALGEBRA(FRAC(INT)) or Coef has ACFS(INT) and Coef has ALGEBRA(FRAC(INT)) and Coef has PRIMCAT and Coef has TRANFUN +--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 UTS has ORDSET and Coef has FIELD --R min : (%,%) -> % if UTS has ORDSET and Coef has 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 UTS has OINTDOM and Coef has FIELD --R nextItem : % -> Union(%,"failed") if UTS has STEP and Coef has 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 UTS has PATMAB INT and Coef has FIELD ---R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if UTS has PATMAB FLOAT and Coef has FIELD ---R pi : () -> % if Coef has ALGEBRA FRAC INT +--R patternMatch : (%,Pattern(Integer),PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) if UTS has PATMAB(INT) and Coef has FIELD +--R patternMatch : (%,Pattern(Float),PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) if UTS has PATMAB(FLOAT) and Coef has FIELD +--R pi : () -> % if Coef has ALGEBRA(FRAC(INT)) --R positive? : % -> Boolean if UTS has OINTDOM and Coef has 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 UTS has INS and 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 UTS has LINEXP INT and Coef has FIELD ---R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) if UTS has LINEXP INT and Coef has 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 UTS has LINEXP(INT) and Coef has FIELD +--R reducedSystem : (Matrix(%),Vector(%)) -> Record(mat: Matrix(Integer),vec: Vector(Integer)) if UTS has LINEXP(INT) and Coef has 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 UTS has RETRACT SYMBOL and Coef has FIELD ---R retract : % -> Fraction Integer if UTS has RETRACT INT and Coef has FIELD ---R retract : % -> Integer if UTS has RETRACT INT and Coef has FIELD ---R retractIfCan : % -> Union(Symbol,"failed") if UTS has RETRACT SYMBOL and Coef has FIELD ---R retractIfCan : % -> Union(Fraction Integer,"failed") if UTS has RETRACT INT and Coef has FIELD ---R retractIfCan : % -> Union(Integer,"failed") if UTS has RETRACT INT and Coef has FIELD +--R retract : % -> Symbol if UTS has RETRACT(SYMBOL) and Coef has FIELD +--R retract : % -> Fraction(Integer) if UTS has RETRACT(INT) and Coef has FIELD +--R retract : % -> Integer if UTS has RETRACT(INT) and Coef has FIELD +--R retractIfCan : % -> Union(Symbol,"failed") if UTS has RETRACT(SYMBOL) and Coef has FIELD +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if UTS has RETRACT(INT) and Coef has FIELD +--R retractIfCan : % -> Union(Integer,"failed") if UTS has RETRACT(INT) and Coef has 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 UTS has OINTDOM and Coef has 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 UTS has PFECAT and Coef has 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 UTS has PFECAT and 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 squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if UTS has PFECAT and Coef has FIELD +--R squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if UTS has PFECAT and Coef has 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 UTS has EUCDOM and Coef has FIELD --R --E 1 @@ -137097,7 +137545,7 @@ l := coefficients p --R --R --R (15) [18,60,- 46,8] ---R Type: List Integer +--R Type: List(Integer) --E 15 --S 16 of 35 @@ -137130,7 +137578,7 @@ vectorise(ux,5) --R --R --R (19) [3,2,0,0,1] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 19 --S 20 of 35 @@ -137172,7 +137620,7 @@ r := a1**2 - 2/3 --R 2 2 --R (24) a1 - - --R 3 ---R Type: UnivariatePolynomial(a1,Fraction Integer) +--R Type: UnivariatePolynomial(a1,Fraction(Integer)) --E 24 --S 25 of 35 @@ -137180,7 +137628,7 @@ s := a1 + 4 --R --R --R (25) a1 + 4 ---R Type: UnivariatePolynomial(a1,Fraction Integer) +--R Type: UnivariatePolynomial(a1,Fraction(Integer)) --E 25 --S 26 of 35 @@ -137188,7 +137636,7 @@ r quo s --R --R --R (26) a1 - 4 ---R Type: UnivariatePolynomial(a1,Fraction Integer) +--R Type: UnivariatePolynomial(a1,Fraction(Integer)) --E 26 --S 27 of 35 @@ -137198,7 +137646,7 @@ r rem s --R 46 --R (27) -- --R 3 ---R Type: UnivariatePolynomial(a1,Fraction Integer) +--R Type: UnivariatePolynomial(a1,Fraction(Integer)) --E 27 --S 28 of 35 @@ -137208,7 +137656,7 @@ d := divide(r, s) --R 46 --R (28) [quotient= a1 - 4,remainder= --] --R 3 ---RType: Record(quotient: UnivariatePolynomial(a1,Fraction Integer),remainder: UnivariatePolynomial(a1,Fraction Integer)) +--IType: Record(quotient: UnivariatePolynomial(a1,Fraction(Integer)),... --E 28 --S 29 of 35 @@ -137216,7 +137664,7 @@ r - (d.quotient * s + d.remainder) --R --R --R (29) 0 ---R Type: UnivariatePolynomial(a1,Fraction Integer) +--R Type: UnivariatePolynomial(a1,Fraction(Integer)) --E 29 --S 30 of 35 @@ -137226,7 +137674,7 @@ integrate r --R 1 3 2 --R (30) - a1 - - a1 --R 3 3 ---R Type: UnivariatePolynomial(a1,Fraction Integer) +--R Type: UnivariatePolynomial(a1,Fraction(Integer)) --E 30 --S 31 of 35 @@ -137236,7 +137684,7 @@ integrate s --R 1 2 --R (31) - a1 + 4a1 --R 2 ---R Type: UnivariatePolynomial(a1,Fraction Integer) +--R Type: UnivariatePolynomial(a1,Fraction(Integer)) --E 31 --S 32 of 35 @@ -137253,7 +137701,7 @@ t := a1**2 - a1/b2 + (b1**2-b1)/(b2+3) --R 2 1 b1 - b1 --R (33) a1 - -- a1 + -------- --R b2 b2 + 3 ---R Type: UnivariatePolynomial(a1,Fraction Polynomial Integer) +--R Type: UnivariatePolynomial(a1,Fraction(Polynomial(Integer))) --E 33 --S 34 of 35 @@ -137265,7 +137713,7 @@ u : FRAC POLY INT := t --R (34) --------------------------------------- --R 2 --R b2 + 3b2 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 34 --S 35 of 35 @@ -137276,7 +137724,7 @@ u :: UP(b1,?) --R 1 2 1 a1 b2 - a1 --R (35) ------ b1 - ------ b1 + ---------- --R b2 + 3 b2 + 3 b2 ---R Type: UnivariatePolynomial(b1,Fraction Polynomial Integer) +--R Type: UnivariatePolynomial(b1,Fraction(Polynomial(Integer))) --E 35 )spool )lisp (bye) @@ -137756,6 +138204,7 @@ UnivariatePolynomial(x:Symbol, R:Ring): --S 1 of 1 )show UnivariatePuiseuxSeries +--R --R UnivariatePuiseuxSeries(Coef: Ring,var: Symbol,cen: Coef) is a domain constructor --R Abbreviation for UnivariatePuiseuxSeries is UPXS --R This constructor is not exposed in this frame. @@ -137769,131 +138218,131 @@ UnivariatePolynomial(x:Symbol, R:Ring): --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> Coef ---R coerce : Variable var -> % coerce : Integer -> % +--R coerce : Variable(var) -> % coerce : Integer -> % --R coerce : % -> OutputForm complete : % -> % ---R degree : % -> Fraction Integer hash : % -> SingleInteger +--R degree : % -> Fraction(Integer) hash : % -> SingleInteger --R latex : % -> String 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 sample : () -> % 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 ?**? : (%,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 *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--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 *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) --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 : UnivariateTaylorSeries(Coef,var,cen) -> % --R coerce : UnivariateLaurentSeries(Coef,var,cen) -> % --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 : (%,Variable var) -> % ---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 *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--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 : (%,Variable(var)) -> % +--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 *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) --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 : (%,Variable var) -> % if Coef has ALGEBRA FRAC INT ---R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List Symbol and Coef has ALGEBRA FRAC INT or Coef has ACFS INT and Coef has ALGEBRA FRAC INT and Coef has PRIMCAT and Coef has TRANFUN ---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 : (%,Variable(var)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List(Symbol) and Coef has ALGEBRA(FRAC(INT)) or Coef has ACFS(INT) and Coef has ALGEBRA(FRAC(INT)) and Coef has PRIMCAT and Coef has TRANFUN +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) --R inv : % -> % if Coef has FIELD --R laurent : % -> UnivariateLaurentSeries(Coef,var,cen) --R laurentIfCan : % -> Union(UnivariateLaurentSeries(Coef,var,cen),"failed") --R laurentRep : % -> UnivariateLaurentSeries(Coef,var,cen) --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,UnivariateLaurentSeries(Coef,var,cen)) -> % +--R principalIdeal : List(%) -> Record(coef: List(%),generator: %) if Coef has FIELD +--R puiseux : (Fraction(Integer),UnivariateLaurentSeries(Coef,var,cen)) -> % --R ?quo? : (%,%) -> % if Coef has FIELD ---R rationalPower : % -> Fraction Integer +--R rationalPower : % -> Fraction(Integer) --R ?rem? : (%,%) -> % if Coef has FIELD --R retract : % -> UnivariateTaylorSeries(Coef,var,cen) --R retract : % -> UnivariateLaurentSeries(Coef,var,cen) --R retractIfCan : % -> Union(UnivariateTaylorSeries(Coef,var,cen),"failed") --R retractIfCan : % -> Union(UnivariateLaurentSeries(Coef,var,cen),"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 @@ -138203,7 +138652,8 @@ UnivariatePuiseuxSeries(Coef,var,cen): Exports == Implementation where --S 1 of 1 )show UnivariatePuiseuxSeriesConstructor ---R UnivariatePuiseuxSeriesConstructor(Coef: Ring,ULS: UnivariateLaurentSeriesCategory Coef) is a domain constructor +--R +--R UnivariatePuiseuxSeriesConstructor(Coef: Ring,ULS: UnivariateLaurentSeriesCategory(Coef)) is a domain constructor --R Abbreviation for UnivariatePuiseuxSeriesConstructor is UPXSCONS --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for UPXSCONS @@ -138218,122 +138668,122 @@ UnivariatePuiseuxSeries(Coef,var,cen): Exports == Implementation where --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 *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--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 *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) --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 *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (Fraction Integer,Coef) -> Coef and Coef has PDRING SYMBOL +--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 *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (Fraction(Integer),Coef) -> Coef and Coef has PDRING(SYMBOL) --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 integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List Symbol and Coef has ALGEBRA FRAC INT or Coef has ACFS INT and Coef has ALGEBRA FRAC INT and Coef has PRIMCAT and Coef has TRANFUN ---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 integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List(Symbol) and Coef has ALGEBRA(FRAC(INT)) or Coef has ACFS(INT) and Coef has ALGEBRA(FRAC(INT)) and Coef has PRIMCAT and Coef has TRANFUN +--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 @@ -138832,7 +139282,8 @@ UnivariatePuiseuxSeriesConstructor(Coef,ULS):_ --S 1 of 1 )show UnivariatePuiseuxSeriesWithExponentialSingularity ---R UnivariatePuiseuxSeriesWithExponentialSingularity(R: Join(OrderedSet,RetractableTo Integer,LinearlyExplicitRingOver Integer,GcdDomain),FE: Join(AlgebraicallyClosedField,TranscendentalFunctionCategory,FunctionSpace R),var: Symbol,cen: FE) is a domain constructor +--R +--R UnivariatePuiseuxSeriesWithExponentialSingularity(R: Join(OrderedSet,RetractableTo(Integer),LinearlyExplicitRingOver(Integer),GcdDomain),FE: Join(AlgebraicallyClosedField,TranscendentalFunctionCategory,FunctionSpace(R)),var: Symbol,cen: FE) is a domain constructor --R Abbreviation for UnivariatePuiseuxSeriesWithExponentialSingularity is UPXSSING --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for UPXSSING @@ -138852,8 +139303,8 @@ UnivariatePuiseuxSeriesConstructor(Coef,ULS):_ --R reductum : % -> % sample : () -> % --R unit? : % -> Boolean unitCanonical : % -> % --R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (%,Fraction Integer) -> % if UnivariatePuiseuxSeries(FE,var,cen) has ALGEBRA FRAC INT ---R ?*? : (Fraction Integer,%) -> % if UnivariatePuiseuxSeries(FE,var,cen) has ALGEBRA FRAC INT +--R ?*? : (%,Fraction(Integer)) -> % if UnivariatePuiseuxSeries(FE,var,cen) has ALGEBRA(FRAC(INT)) +--R ?*? : (Fraction(Integer),%) -> % if UnivariatePuiseuxSeries(FE,var,cen) has ALGEBRA(FRAC(INT)) --R ?*? : (UnivariatePuiseuxSeries(FE,var,cen),%) -> % --R ?*? : (%,UnivariatePuiseuxSeries(FE,var,cen)) -> % --R ?*? : (NonNegativeInteger,%) -> % @@ -138864,17 +139315,17 @@ UnivariatePuiseuxSeriesConstructor(Coef,ULS):_ --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if UnivariatePuiseuxSeries(FE,var,cen) has CHARNZ --R coefficient : (%,ExponentialOfUnivariatePuiseuxSeries(FE,var,cen)) -> UnivariatePuiseuxSeries(FE,var,cen) ---R coefficients : % -> List UnivariatePuiseuxSeries(FE,var,cen) ---R coerce : Fraction Integer -> % if UnivariatePuiseuxSeries(FE,var,cen) has ALGEBRA FRAC INT or UnivariatePuiseuxSeries(FE,var,cen) has RETRACT FRAC INT +--R coefficients : % -> List(UnivariatePuiseuxSeries(FE,var,cen)) +--R coerce : Fraction(Integer) -> % if UnivariatePuiseuxSeries(FE,var,cen) has ALGEBRA(FRAC(INT)) or UnivariatePuiseuxSeries(FE,var,cen) has RETRACT(FRAC(INT)) --R coerce : UnivariatePuiseuxSeries(FE,var,cen) -> % --R content : % -> UnivariatePuiseuxSeries(FE,var,cen) if UnivariatePuiseuxSeries(FE,var,cen) has GCDDOM --R degree : % -> ExponentialOfUnivariatePuiseuxSeries(FE,var,cen) ---R dominantTerm : % -> Union(Record(%term: Record(%coef: UnivariatePuiseuxSeries(FE,var,cen),%expon: ExponentialOfUnivariatePuiseuxSeries(FE,var,cen),%expTerms: List Record(k: Fraction Integer,c: FE)),%type: String),"failed") +--R dominantTerm : % -> Union(Record(%term: Record(%coef: UnivariatePuiseuxSeries(FE,var,cen),%expon: ExponentialOfUnivariatePuiseuxSeries(FE,var,cen),%expTerms: List(Record(k: Fraction(Integer),c: FE))),%type: String),"failed") --R exquo : (%,%) -> Union(%,"failed") --R exquo : (%,UnivariatePuiseuxSeries(FE,var,cen)) -> Union(%,"failed") if UnivariatePuiseuxSeries(FE,var,cen) has INTDOM --R ground : % -> UnivariatePuiseuxSeries(FE,var,cen) --R leadingCoefficient : % -> UnivariatePuiseuxSeries(FE,var,cen) ---R limitPlus : % -> Union(OrderedCompletion FE,"failed") +--R limitPlus : % -> Union(OrderedCompletion(FE),"failed") --R map : ((UnivariatePuiseuxSeries(FE,var,cen) -> UnivariatePuiseuxSeries(FE,var,cen)),%) -> % --R mapExponents : ((ExponentialOfUnivariatePuiseuxSeries(FE,var,cen) -> ExponentialOfUnivariatePuiseuxSeries(FE,var,cen)),%) -> % --R minimumDegree : % -> ExponentialOfUnivariatePuiseuxSeries(FE,var,cen) @@ -138883,11 +139334,11 @@ UnivariatePuiseuxSeriesConstructor(Coef,ULS):_ --R pomopo! : (%,UnivariatePuiseuxSeries(FE,var,cen),ExponentialOfUnivariatePuiseuxSeries(FE,var,cen),%) -> % --R primitivePart : % -> % if UnivariatePuiseuxSeries(FE,var,cen) has GCDDOM --R retract : % -> UnivariatePuiseuxSeries(FE,var,cen) ---R retract : % -> Fraction Integer if UnivariatePuiseuxSeries(FE,var,cen) has RETRACT FRAC INT ---R retract : % -> Integer if UnivariatePuiseuxSeries(FE,var,cen) has RETRACT INT +--R retract : % -> Fraction(Integer) if UnivariatePuiseuxSeries(FE,var,cen) has RETRACT(FRAC(INT)) +--R retract : % -> Integer if UnivariatePuiseuxSeries(FE,var,cen) has RETRACT(INT) --R retractIfCan : % -> Union(UnivariatePuiseuxSeries(FE,var,cen),"failed") ---R retractIfCan : % -> Union(Fraction Integer,"failed") if UnivariatePuiseuxSeries(FE,var,cen) has RETRACT FRAC INT ---R retractIfCan : % -> Union(Integer,"failed") if UnivariatePuiseuxSeries(FE,var,cen) has RETRACT INT +--R retractIfCan : % -> Union(Fraction(Integer),"failed") if UnivariatePuiseuxSeries(FE,var,cen) has RETRACT(FRAC(INT)) +--R retractIfCan : % -> Union(Integer,"failed") if UnivariatePuiseuxSeries(FE,var,cen) has RETRACT(INT) --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -139268,7 +139719,7 @@ UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen):_ F:=EXPR(FRAC(INT)) --R --R ---R (1) Expression Fraction Integer +--R (1) Expression(Fraction(Integer)) --E 1 --S 2 of 33 @@ -139283,10 +139734,11 @@ D0:=OREUP('d,F,1,Dx) --R --R --R (3) ---I UnivariateSkewPolynomial(d,Expression Fraction Integer,R -> R,theMap LAMBDA-C ---I LOSURE(NIL,NIL,NIL,G9057 envArg,SPADCALL(G9057,coerceOrCroak(CONS(QUOTE List ---I Variable x,wrap LIST QUOTE x),QUOTE List Symbol,QUOTE *1;anonymousFunction;2; ---I frame0;internal),ELT(*1;anonymousFunction;2;frame0;internal;MV,0)))) +--I UnivariateSkewPolynomial(d,Expression(Fraction(Integer)),R -> R,theMap(LAMBDA +--I -CLOSURE(NIL,NIL,NIL,G1393(envArg),SPADCALL(G1393,coerceOrCroak(CONS(QUOTE(Li +--I st(Variable(x))),wrap(LIST(QUOTE(x)))),QUOTE(List(Symbol)),QUOTE(*1;anonymous +--I Function;0;initial;internal)),ELT(*1;anonymousFunction;0;initial;internal;MV, + 0))))) --E 3 --S 4 of 33 @@ -139377,7 +139829,7 @@ W:=OREUP('x,R,1,D) --R --R (2) --R UnivariateSkewPolynomial(x,UnivariatePolynomial(t,Integer),R -> R,theMap(DIFR ---I ING-;D;2S;1,411)) +--I ING-;D;2S;1,0)) --E 12 --S 13 of 33 @@ -139547,12 +139999,12 @@ S:=OREUP('x,R,1,delta) --R --R --R (4) ---I UnivariateSkewPolynomial(x,SquareMatrix(2,Integer),R -> R,theMap LAMBDA-CLOSU ---I RE(NIL,NIL,NIL,G9459 envArg,SPADCALL(SPADCALL(getValueFromEnvironment(QUOTE y ---I ,QUOTE SquareMatrix(2,Integer)),G9459,ELT(*1;anonymousFunction;13;frame0;inte ---I rnal;MV,0)),SPADCALL(G9459,getValueFromEnvironment(QUOTE y,QUOTE SquareMatrix ---I (2,Integer)),ELT(*1;anonymousFunction;13;frame0;internal;MV,0)),ELT(*1;anonym ---I ousFunction;13;frame0;internal;MV,1)))) +--I UnivariateSkewPolynomial(x,SquareMatrix(2,Integer),R -> R,theMap(LAMBDA-CLOSU +--I RE(NIL,NIL,NIL,G1461(envArg),SPADCALL(SPADCALL(getValueFromEnvironment(QUOTE( +--I y),QUOTE(SquareMatrix(2,Integer))),G1461,ELT(*1;anonymousFunction;3;initial;i +--I nternal;MV,0)),SPADCALL(G1461,getValueFromEnvironment(QUOTE(y),QUOTE(SquareMa +--I trix(2,Integer))),ELT(*1;anonymousFunction;3;initial;internal;MV,0)),ELT(*1;a +--I nonymousFunction;3;initial;internal;MV,1))))) --E 29 --S 30 of 33 @@ -139583,7 +140035,7 @@ x^2*a --S 33 of 33 )show UnivariateSkewPolynomial --R ---R UnivariateSkewPolynomial(x: Symbol,R: Ring,sigma: Automorphism R,delta: (R -> R)) is a domain constructor +--R UnivariateSkewPolynomial(x: Symbol,R: Ring,sigma: Automorphism(R),delta: (R -> R)) is a domain constructor --R Abbreviation for UnivariateSkewPolynomial is OREUP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for OREUP @@ -139596,7 +140048,7 @@ x^2*a --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % apply : (%,R,R) -> R ---R coefficients : % -> List R coerce : Variable x -> % +--R coefficients : % -> List(R) coerce : Variable(x) -> % --R coerce : R -> % coerce : Integer -> % --R coerce : % -> OutputForm degree : % -> NonNegativeInteger --R hash : % -> SingleInteger latex : % -> String @@ -139609,7 +140061,7 @@ x^2*a --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 @@ -139624,11 +140076,11 @@ x^2*a --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 @@ -140030,6 +140482,7 @@ UnivariateSkewPolynomial(x:Symbol,R:Ring,sigma:Automorphism R,delta: R -> R): --S 1 of 1 )show UnivariateTaylorSeries +--R --R UnivariateTaylorSeries(Coef: Ring,var: Symbol,cen: Coef) is a domain constructor --R Abbreviation for UnivariateTaylorSeries is UTS --R This constructor is not exposed in this frame. @@ -140043,7 +140496,7 @@ UnivariateSkewPolynomial(x:Symbol,R:Ring,sigma:Automorphism R,delta: R -> R): --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> Coef ---R coefficients : % -> Stream Coef coerce : Variable var -> % +--R coefficients : % -> Stream(Coef) coerce : Variable(var) -> % --R coerce : Integer -> % coerce : % -> OutputForm --R complete : % -> % degree : % -> NonNegativeInteger --R evenlambert : % -> % hash : % -> SingleInteger @@ -140055,97 +140508,97 @@ UnivariateSkewPolynomial(x:Symbol,R:Ring,sigma:Automorphism R,delta: R -> R): --R pole? : % -> Boolean quoByVar : % -> % --R recip : % -> Union(%,"failed") reductum : % -> % --R revert : % -> % 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 *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL +--R D : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) --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 : UnivariatePolynomial(var,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 differentiate : (%,Variable var) -> % +--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 : (%,Variable(var)) -> % --R differentiate : % -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef ---R differentiate : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) --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 generalLambert : (%,Integer,Integer) -> % ---R integrate : (%,Variable var) -> % if Coef has ALGEBRA FRAC INT ---R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List Symbol and Coef has ALGEBRA FRAC INT or Coef has ACFS INT and Coef has ALGEBRA FRAC INT and Coef has PRIMCAT and Coef has TRANFUN ---R integrate : % -> % if Coef has ALGEBRA FRAC INT +--R integrate : (%,Variable(var)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List(Symbol) and Coef has ALGEBRA(FRAC(INT)) or Coef has ACFS(INT) and Coef has ALGEBRA(FRAC(INT)) and Coef has PRIMCAT and Coef has TRANFUN +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) --R invmultisect : (Integer,Integer,%) -> % ---R log : % -> % if Coef has ALGEBRA FRAC INT ---R monomial : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--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 multisect : (Integer,Integer,%) -> % ---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 univariatePolynomial : (%,NonNegativeInteger) -> UnivariatePolynomial(var,Coef) ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -140548,6 +141001,7 @@ UnivariateTaylorSeries(Coef,var,cen): Exports == Implementation where --S 1 of 1 )show UnivariateTaylorSeriesCZero +--R --R UnivariateTaylorSeriesCZero(Coef: Ring,var: Symbol) is a domain constructor --R Abbreviation for UnivariateTaylorSeriesCZero is UTSZ --R This constructor is exposed in this frame. @@ -140561,7 +141015,7 @@ UnivariateTaylorSeries(Coef,var,cen): Exports == Implementation where --R -? : % -> % ?=? : (%,%) -> Boolean --R 1 : () -> % 0 : () -> % --R ?^? : (%,PositiveInteger) -> % center : % -> Coef ---R coefficients : % -> Stream Coef coerce : Variable var -> % +--R coefficients : % -> Stream(Coef) coerce : Variable(var) -> % --R coerce : Integer -> % coerce : % -> OutputForm --R complete : % -> % degree : % -> NonNegativeInteger --R evenlambert : % -> % hash : % -> SingleInteger @@ -140573,97 +141027,97 @@ UnivariateTaylorSeries(Coef,var,cen): Exports == Implementation where --R pole? : % -> Boolean quoByVar : % -> % --R recip : % -> Union(%,"failed") reductum : % -> % --R revert : % -> % 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 *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R D : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL +--R D : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R D : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) --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 : UnivariatePolynomial(var,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 differentiate : (%,Variable var) -> % +--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 : (%,Variable(var)) -> % --R differentiate : % -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef --R differentiate : (%,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef ---R differentiate : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL ---R differentiate : (%,List Symbol,List NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING SYMBOL +--R differentiate : (%,Symbol) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,Symbol,NonNegativeInteger) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) +--R differentiate : (%,List(Symbol),List(NonNegativeInteger)) -> % if Coef has *: (NonNegativeInteger,Coef) -> Coef and Coef has PDRING(SYMBOL) --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 generalLambert : (%,Integer,Integer) -> % ---R integrate : (%,Variable var) -> % if Coef has ALGEBRA FRAC INT ---R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List Symbol and Coef has ALGEBRA FRAC INT or Coef has ACFS INT and Coef has ALGEBRA FRAC INT and Coef has PRIMCAT and Coef has TRANFUN ---R integrate : % -> % if Coef has ALGEBRA FRAC INT +--R integrate : (%,Variable(var)) -> % if Coef has ALGEBRA(FRAC(INT)) +--R integrate : (%,Symbol) -> % if Coef has integrate: (Coef,Symbol) -> Coef and Coef has variables: Coef -> List(Symbol) and Coef has ALGEBRA(FRAC(INT)) or Coef has ACFS(INT) and Coef has ALGEBRA(FRAC(INT)) and Coef has PRIMCAT and Coef has TRANFUN +--R integrate : % -> % if Coef has ALGEBRA(FRAC(INT)) --R invmultisect : (Integer,Integer,%) -> % ---R log : % -> % if Coef has ALGEBRA FRAC INT ---R monomial : (%,List SingletonAsOrderedSet,List NonNegativeInteger) -> % +--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 multisect : (Integer,Integer,%) -> % ---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 univariatePolynomial : (%,NonNegativeInteger) -> UnivariatePolynomial(var,Coef) ---R variables : % -> List SingletonAsOrderedSet +--R variables : % -> List(SingletonAsOrderedSet) --R --E 1 @@ -141041,7 +141495,7 @@ pints := 1.. --R --R --R (1) 1.. ---R Type: UniversalSegment PositiveInteger +--R Type: UniversalSegment(PositiveInteger) --E 1 --S 2 of 9 @@ -141049,7 +141503,7 @@ nevens := (0..) by -2 --R --R --R (2) 0.. by - 2 ---R Type: UniversalSegment NonNegativeInteger +--R Type: UniversalSegment(NonNegativeInteger) --E 2 --S 3 of 9 @@ -141057,7 +141511,7 @@ useg: UniversalSegment(Integer) := 3..10 --R --R --R (3) 3..10 ---R Type: UniversalSegment Integer +--R Type: UniversalSegment(Integer) --E 3 --S 4 of 9 @@ -141089,7 +141543,7 @@ expand pints --R --R --R (7) [1,2,3,4,5,6,7,8,9,10,...] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 7 --S 8 of 9 @@ -141097,7 +141551,7 @@ expand nevens --R --R --R (8) [0,- 2,- 4,- 6,- 8,- 10,- 12,- 14,- 16,- 18,...] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 8 --S 9 of 9 @@ -141105,7 +141559,7 @@ expand [1, 3, 10..15, 100..] --R --R --R (9) [1,3,10,11,12,13,14,15,100,101,...] ---R Type: Stream Integer +--R Type: Stream(Integer) --E 9 )spool )lisp (bye) @@ -141345,19 +141799,20 @@ UniversalSegment(S: Type): SegmentCategory(S) with --S 1 of 1 )show U32Vector +--R --R U32Vector is a domain constructor --R Abbreviation for U32Vector is U32VEC --R This constructor is exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for U32VEC --R --R------------------------------- Operations -------------------------------- ---R concat : List % -> % concat : (%,%) -> % +--R concat : List(%) -> % concat : (%,%) -> % --R concat : (Integer,%) -> % concat : (%,Integer) -> % ---R construct : List Integer -> % copy : % -> % +--R construct : List(Integer) -> % copy : % -> % --R delete : (%,Integer) -> % ?.? : (%,Integer) -> Integer --R empty : () -> % empty? : % -> Boolean ---R entries : % -> List Integer eq? : (%,%) -> Boolean ---R index? : (Integer,%) -> Boolean indices : % -> List Integer +--R entries : % -> List(Integer) eq? : (%,%) -> Boolean +--R index? : (Integer,%) -> Boolean indices : % -> List(Integer) --R insert : (%,%,Integer) -> % qelt : (%,Integer) -> Integer --R reverse : % -> % sample : () -> % --R #? : % -> NonNegativeInteger if $ has finiteAggregate @@ -141368,18 +141823,18 @@ UniversalSegment(S: Type): SegmentCategory(S) with --R ?>=? : (%,%) -> Boolean if Integer has ORDSET --R any? : ((Integer -> Boolean),%) -> Boolean if $ has finiteAggregate --R coerce : % -> OutputForm if Integer has SETCAT ---R convert : % -> InputForm if Integer has KONVERT INFORM +--R convert : % -> InputForm if Integer has KONVERT(INFORM) --R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable --R count : (Integer,%) -> NonNegativeInteger if $ has finiteAggregate and Integer has SETCAT --R count : ((Integer -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate ---R delete : (%,UniversalSegment Integer) -> % ---R ?.? : (%,UniversalSegment Integer) -> % +--R delete : (%,UniversalSegment(Integer)) -> % +--R ?.? : (%,UniversalSegment(Integer)) -> % --R elt : (%,Integer,Integer) -> Integer --R entry? : (Integer,%) -> Boolean if $ has finiteAggregate and Integer has SETCAT ---R eval : (%,List Integer,List Integer) -> % if Integer has EVALAB INT and Integer has SETCAT ---R eval : (%,Integer,Integer) -> % if Integer has EVALAB INT and Integer has SETCAT ---R eval : (%,Equation Integer) -> % if Integer has EVALAB INT and Integer has SETCAT ---R eval : (%,List Equation Integer) -> % if Integer has EVALAB INT and Integer has SETCAT +--R eval : (%,List(Integer),List(Integer)) -> % if Integer has EVALAB(INT) and Integer has SETCAT +--R eval : (%,Integer,Integer) -> % if Integer has EVALAB(INT) and Integer has SETCAT +--R eval : (%,Equation(Integer)) -> % if Integer has EVALAB(INT) and Integer has SETCAT +--R eval : (%,List(Equation(Integer))) -> % if Integer has EVALAB(INT) and Integer has SETCAT --R every? : ((Integer -> Boolean),%) -> Boolean if $ has finiteAggregate --R fill! : (%,Integer) -> % if $ has shallowlyMutable --R find : ((Integer -> Boolean),%) -> Union(Integer,"failed") @@ -141394,14 +141849,14 @@ UniversalSegment(S: Type): SegmentCategory(S) with --R max : (%,%) -> % if Integer has ORDSET --R maxIndex : % -> Integer if Integer has ORDSET --R member? : (Integer,%) -> Boolean if $ has finiteAggregate and Integer has SETCAT ---R members : % -> List Integer if $ has finiteAggregate +--R members : % -> List(Integer) if $ has finiteAggregate --R merge : (%,%) -> % if Integer has ORDSET --R merge : (((Integer,Integer) -> Boolean),%,%) -> % --R min : (%,%) -> % if Integer has ORDSET --R minIndex : % -> Integer if Integer has ORDSET --R more? : (%,NonNegativeInteger) -> Boolean --R new : (NonNegativeInteger,Integer) -> % ---R parts : % -> List Integer if $ has finiteAggregate +--R parts : % -> List(Integer) if $ has finiteAggregate --R position : (Integer,%,Integer) -> Integer if Integer has SETCAT --R position : (Integer,%) -> Integer if Integer has SETCAT --R position : ((Integer -> Boolean),%) -> Integer @@ -141414,7 +141869,7 @@ UniversalSegment(S: Type): SegmentCategory(S) with --R removeDuplicates : % -> % if $ has finiteAggregate and Integer has SETCAT --R reverse! : % -> % if $ has shallowlyMutable --R select : ((Integer -> Boolean),%) -> % if $ has finiteAggregate ---R setelt : (%,UniversalSegment Integer,Integer) -> Integer if $ has shallowlyMutable +--R setelt : (%,UniversalSegment(Integer),Integer) -> Integer if $ has shallowlyMutable --R setelt : (%,Integer,Integer) -> Integer if $ has shallowlyMutable --R size? : (%,NonNegativeInteger) -> Boolean --R sort : % -> % if Integer has ORDSET @@ -141558,7 +142013,8 @@ U32Vector() : OneDimensionalArrayAggregate Integer == add --S 1 of 1 )show Variable ---R Variable sym: Symbol is a domain constructor +--R +--R Variable(sym: Symbol) is a domain constructor --R Abbreviation for Variable is VARIABLE --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for VARIABLE @@ -141637,7 +142093,7 @@ u : VECTOR INT := new(5,12) --R --R --R (1) [12,12,12,12,12] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 1 --S 2 of 11 @@ -141645,7 +142101,7 @@ v : VECTOR INT := vector([1,2,3,4,5]) --R --R --R (2) [1,2,3,4,5] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 2 --S 3 of 11 @@ -141677,7 +142133,7 @@ v --R --R --R (6) [1,2,99,4,5] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 6 --S 7 of 11 @@ -141685,7 +142141,7 @@ v --R --R --R (7) [5,10,495,20,25] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 7 --S 8 of 11 @@ -141693,7 +142149,7 @@ v * 7 --R --R --R (8) [7,14,693,28,35] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 8 --S 9 of 11 @@ -141701,7 +142157,7 @@ w : VECTOR INT := vector([2,3,4,5,6]) --R --R --R (9) [2,3,4,5,6] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 9 --S 10 of 11 @@ -141709,7 +142165,7 @@ v + w --R --R --R (10) [3,5,103,9,11] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 10 --S 11 of 11 @@ -141717,7 +142173,7 @@ v - w --R --R --R (11) [- 1,- 1,95,- 1,- 1] ---R Type: Vector Integer +--R Type: Vector(Integer) --E 11 )spool )lisp (bye) @@ -142096,7 +142552,8 @@ Void: with --S 1 of 1 )show WeightedPolynomials ---R WeightedPolynomials(R: Ring,VarSet: OrderedSet,E: OrderedAbelianMonoidSup,P: PolynomialCategory(R,E,VarSet),vl: List VarSet,wl: List NonNegativeInteger,wtlevel: NonNegativeInteger) is a domain constructor +--R +--R WeightedPolynomials(R: Ring,VarSet: OrderedSet,E: OrderedAbelianMonoidSup,P: PolynomialCategory(R,E,VarSet),vl: List(VarSet),wl: List(NonNegativeInteger),wtlevel: NonNegativeInteger) is a domain constructor --R Abbreviation for WeightedPolynomials is WP --R This constructor is not exposed in this frame. --R Issue )edit bookvol10.3.pamphlet to see algebra source code for WP @@ -142303,14 +142760,14 @@ ls : List Symbol := [x,y,z,t] --R --R --R (2) [x,y,z,t] ---R Type: List Symbol +--R Type: List(Symbol) --E 2 --S 3 of 16 V := OVAR(ls) --R --R ---R (3) OrderedVariableList [x,y,z,t] +--R (3) OrderedVariableList([x,y,z,t]) --R Type: Domain --E 3 @@ -142318,7 +142775,7 @@ V := OVAR(ls) E := IndexedExponents V --R --R ---R (4) IndexedExponents OrderedVariableList [x,y,z,t] +--R (4) IndexedExponents(OrderedVariableList([x,y,z,t])) --R Type: Domain --E 4 @@ -142326,7 +142783,8 @@ E := IndexedExponents V P := NSMP(R, V) --R --R ---R (5) NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--R (5) +--R NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --R Type: Domain --E 5 @@ -142335,7 +142793,7 @@ x: P := 'x --R --R --R (6) x ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 6 --S 7 of 16 @@ -142343,7 +142801,7 @@ y: P := 'y --R --R --R (7) y ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 7 --S 8 of 16 @@ -142351,7 +142809,7 @@ z: P := 'z --R --R --R (8) z ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 8 --S 9 of 16 @@ -142359,7 +142817,7 @@ t: P := 't --R --R --R (9) t ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 9 --S 10 of 16 @@ -142367,9 +142825,9 @@ T := WUTSET(R,E,V,P) --R --R --R (10) ---R WuWenTsunTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t] ---R ,OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,Ordere ---R dVariableList [x,y,z,t])) +--R WuWenTsunTriangularSet(Integer,IndexedExponents(OrderedVariableList([x,y,z,t] +--R )),OrderedVariableList([x,y,z,t]),NewSparseMultivariatePolynomial(Integer,Ord +--R eredVariableList([x,y,z,t]))) --R Type: Domain --E 10 @@ -142379,7 +142837,7 @@ p1 := x ** 31 - x ** 6 - x - y --R --R 31 6 --R (11) x - x - x - y ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 11 --S 12 of 16 @@ -142388,7 +142846,7 @@ p2 := x ** 8 - z --R --R 8 --R (12) x - z ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 12 --S 13 of 16 @@ -142397,7 +142855,7 @@ p3 := x ** 10 - t --R --R 10 --R (13) x - t ---R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t])) --E 13 --S 14 of 16 @@ -142406,7 +142864,7 @@ lp := [p1, p2, p3] --R --R 31 6 8 10 --R (14) [x - x - x - y,x - z,x - t] ---RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--RType: List(NewSparseMultivariatePolynomial(Integer,OrderedVariableList([x,y,z,t]))) --E 14 --S 15 of 16 @@ -142416,7 +142874,7 @@ characteristicSet(lp)$T --R (15) --R 5 4 4 2 2 3 4 7 4 6 6 3 3 3 3 --R {z - t ,t z y + 2t z y + (- t + 2t - t)z + t z,(t - 1)z x - z y - t } ---RType: Union(WuWenTsunTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])),...) +--IType: Union(WuWenTsunTriangularSet(Integer,IndexedExponents(... --E 15 --S 16 of 16 @@ -142428,7 +142886,7 @@ zeroSetSplit(lp)$T --R [{t,z,y,x}, {t - 1,z - t ,z y + t ,z x - t}, --R 5 4 4 2 2 3 4 7 4 6 6 3 3 3 3 --R {z - t ,t z y + 2t z y + (- t + 2t - t)z + t z,(t - 1)z x - z y - t }] ---RType: List WuWenTsunTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--IType: List(WuWenTsunTriangularSet(Integer,IndexedExponents(... --E 16 )spool )lisp (bye) @@ -142956,6 +143414,7 @@ equivalent for the --S 1 of 1 )show XDistributedPolynomial +--R --R XDistributedPolynomial(vl: OrderedSet,R: Ring) is a domain constructor --R Abbreviation for XDistributedPolynomial is XDPOLY --R This constructor is not exposed in this frame. @@ -142969,7 +143428,7 @@ equivalent for the --R ?-? : (%,%) -> % -? : % -> % --R ?=? : (%,%) -> Boolean 1 : () -> % --R 0 : () -> % ?^? : (%,PositiveInteger) -> % ---R coef : (%,%) -> R coefficients : % -> List R +--R coef : (%,%) -> R coefficients : % -> List(R) --R coerce : Integer -> % coerce : R -> % --R coerce : vl -> % coerce : % -> OutputForm --R constant : % -> R constant? : % -> Boolean @@ -142977,33 +143436,33 @@ equivalent for the --R latex : % -> String leadingCoefficient : % -> R --R lquo : (%,vl) -> % lquo : (%,%) -> % --R map : ((R -> R),%) -> % mirror : % -> % ---R monomial? : % -> Boolean monomials : % -> List % +--R monomial? : % -> Boolean monomials : % -> List(%) --R one? : % -> Boolean quasiRegular : % -> % --R quasiRegular? : % -> Boolean recip : % -> Union(%,"failed") --R reductum : % -> % rquo : (%,vl) -> % --R rquo : (%,%) -> % sample : () -> % ---R varList : % -> List vl zero? : % -> Boolean +--R varList : % -> List(vl) zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean ---R ?*? : (R,OrderedFreeMonoid vl) -> % +--R ?*? : (R,OrderedFreeMonoid(vl)) -> % --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R coef : (%,OrderedFreeMonoid vl) -> R ---R coefficient : (%,OrderedFreeMonoid vl) -> R ---R coerce : OrderedFreeMonoid vl -> % ---R leadingMonomial : % -> OrderedFreeMonoid vl ---R leadingTerm : % -> Record(k: OrderedFreeMonoid vl,c: R) ---R listOfTerms : % -> List Record(k: OrderedFreeMonoid vl,c: R) ---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 coef : (%,OrderedFreeMonoid(vl)) -> R +--R coefficient : (%,OrderedFreeMonoid(vl)) -> R +--R coerce : OrderedFreeMonoid(vl) -> % +--R leadingMonomial : % -> OrderedFreeMonoid(vl) +--R leadingTerm : % -> Record(k: OrderedFreeMonoid(vl),c: R) +--R listOfTerms : % -> List(Record(k: OrderedFreeMonoid(vl),c: R)) +--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 numberOfMonomials : % -> NonNegativeInteger ---R retract : % -> OrderedFreeMonoid vl ---R retractIfCan : % -> Union(OrderedFreeMonoid vl,"failed") ---R rquo : (%,OrderedFreeMonoid vl) -> % +--R retract : % -> OrderedFreeMonoid(vl) +--R retractIfCan : % -> Union(OrderedFreeMonoid(vl),"failed") +--R rquo : (%,OrderedFreeMonoid(vl)) -> % --R sh : (%,%) -> % if R has COMRING --R sh : (%,NonNegativeInteger) -> % if R has COMRING --R subtractIfCan : (%,%) -> Union(%,"failed") @@ -143221,7 +143680,7 @@ b:Symbol := 'b RN := Fraction(Integer) --R --R ---R (3) Fraction Integer +--R (3) Fraction(Integer) --R Type: Domain --E 3 @@ -143229,7 +143688,7 @@ RN := Fraction(Integer) word := OrderedFreeMonoid Symbol --R --R ---R (4) OrderedFreeMonoid Symbol +--R (4) OrderedFreeMonoid(Symbol) --R Type: Domain --E 4 @@ -143237,7 +143696,7 @@ word := OrderedFreeMonoid Symbol lword := LyndonWord(Symbol) --R --R ---R (5) LyndonWord Symbol +--R (5) LyndonWord(Symbol) --R Type: Domain --E 5 @@ -143245,7 +143704,7 @@ lword := LyndonWord(Symbol) base := PoincareBirkhoffWittLyndonBasis Symbol --R --R ---R (6) PoincareBirkhoffWittLyndonBasis Symbol +--R (6) PoincareBirkhoffWittLyndonBasis(Symbol) --R Type: Domain --E 6 @@ -143253,7 +143712,7 @@ base := PoincareBirkhoffWittLyndonBasis Symbol dpoly := XDistributedPolynomial(Symbol, RN) --R --R ---R (7) XDistributedPolynomial(Symbol,Fraction Integer) +--R (7) XDistributedPolynomial(Symbol,Fraction(Integer)) --R Type: Domain --E 7 @@ -143261,7 +143720,7 @@ dpoly := XDistributedPolynomial(Symbol, RN) rpoly := XRecursivePolynomial(Symbol, RN) --R --R ---R (8) XRecursivePolynomial(Symbol,Fraction Integer) +--R (8) XRecursivePolynomial(Symbol,Fraction(Integer)) --R Type: Domain --E 8 @@ -143269,7 +143728,7 @@ rpoly := XRecursivePolynomial(Symbol, RN) lpoly := LiePolynomial(Symbol, RN) --R --R ---R (9) LiePolynomial(Symbol,Fraction Integer) +--R (9) LiePolynomial(Symbol,Fraction(Integer)) --R Type: Domain --E 9 @@ -143277,7 +143736,7 @@ lpoly := LiePolynomial(Symbol, RN) poly := XPBWPolynomial(Symbol, RN) --R --R ---R (10) XPBWPolynomial(Symbol,Fraction Integer) +--R (10) XPBWPolynomial(Symbol,Fraction(Integer)) --R Type: Domain --E 10 @@ -143292,7 +143751,7 @@ liste : List lword := LyndonWordsList([a,b], 6) --R [a b a b], [a b ], [a b a b ], [a b ], [a b], [a b ], [a b a b], [a b ], --R 2 2 2 2 2 4 3 5 --R [a b a b ], [a b a b], [a b ], [a b a b ], [a b ]] ---R Type: List LyndonWord Symbol +--R Type: List(LyndonWord(Symbol)) --E 11 --S 12 of 39 @@ -143300,7 +143759,7 @@ liste : List lword := LyndonWordsList([a,b], 6) --R --R --R (12) 0 ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 12 --S 13 of 39 @@ -143308,7 +143767,7 @@ liste : List lword := LyndonWordsList([a,b], 6) --R --R --R (13) 1 ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 13 --S 14 of 39 @@ -143316,7 +143775,7 @@ p : poly := a --R --R --R (14) [a] ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 14 --S 15 of 39 @@ -143324,7 +143783,7 @@ q : poly := b --R --R --R (15) [b] ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 15 --S 16 of 39 @@ -143332,7 +143791,7 @@ pq: poly := p*q --R --R --R (16) [a b] + [b][a] ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 16 --S 17 of 39 @@ -143340,7 +143799,7 @@ pq :: dpoly --R --R --R (17) a b ---R Type: XDistributedPolynomial(Symbol,Fraction Integer) +--R Type: XDistributedPolynomial(Symbol,Fraction(Integer)) --E 17 --S 18 of 39 @@ -143348,7 +143807,7 @@ mirror pq --R --R --R (18) [b][a] ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 18 --S 19 of 39 @@ -143356,7 +143815,7 @@ listOfTerms pq --R --R --R (19) [[k= [b][a],c= 1],[k= [a b],c= 1]] ---RType: List Record(k: PoincareBirkhoffWittLyndonBasis Symbol,c: Fraction Integer) +--RType: List(Record(k: PoincareBirkhoffWittLyndonBasis(Symbol),c: Fraction(Integer))) --E 19 --S 20 of 39 @@ -143364,7 +143823,7 @@ reductum pq --R --R --R (20) [a b] ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 20 --S 21 of 39 @@ -143372,7 +143831,7 @@ leadingMonomial pq --R --R --R (21) [b][a] ---R Type: PoincareBirkhoffWittLyndonBasis Symbol +--R Type: PoincareBirkhoffWittLyndonBasis(Symbol) --E 21 --S 22 of 39 @@ -143380,7 +143839,7 @@ coefficients pq --R --R --R (22) [1,1] ---R Type: List Fraction Integer +--R Type: List(Fraction(Integer)) --E 22 --S 23 of 39 @@ -143388,7 +143847,7 @@ leadingTerm pq --R --R --R (23) [k= [b][a],c= 1] ---R Type: Record(k: PoincareBirkhoffWittLyndonBasis Symbol,c: Fraction Integer) +--RType: Record(k: PoincareBirkhoffWittLyndonBasis(Symbol),c: Fraction(Integer)) --E 23 --S 24 of 39 @@ -143411,7 +143870,7 @@ pq4:=exp(pq,4) --R 3 1 --R - [b][a b][a] + - [b][b][a][a] --R 2 2 ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 25 --S 26 of 39 @@ -143419,7 +143878,7 @@ log(pq4,4) - pq --R --R --R (26) 0 ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 26 --S 27 of 39 @@ -143428,7 +143887,7 @@ lp1 :lpoly := LiePoly liste.10 --R --R 3 2 --R (27) [a b ] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 27 --S 28 of 39 @@ -143437,7 +143896,7 @@ lp2 :lpoly := LiePoly liste.11 --R --R 2 --R (28) [a b a b] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 28 --S 29 of 39 @@ -143446,7 +143905,7 @@ lp :lpoly := [lp1, lp2] --R --R 3 2 2 --R (29) [a b a b a b] ---R Type: LiePolynomial(Symbol,Fraction Integer) +--R Type: LiePolynomial(Symbol,Fraction(Integer)) --E 29 --S 30 of 39 @@ -143455,7 +143914,7 @@ lpd1: dpoly := lp1 --R --R 3 2 2 2 2 2 2 2 2 3 --R (30) a b - 2a b a b - a b a + 4a b a b a - a b a - 2b a b a + b a ---R Type: XDistributedPolynomial(Symbol,Fraction Integer) +--R Type: XDistributedPolynomial(Symbol,Fraction(Integer)) --E 30 --S 31 of 39 @@ -143468,7 +143927,7 @@ lpd2: dpoly := lp2 --R + --R 2 --R b a b a ---R Type: XDistributedPolynomial(Symbol,Fraction Integer) +--R Type: XDistributedPolynomial(Symbol,Fraction(Integer)) --E 31 --S 32 of 39 @@ -143529,7 +143988,7 @@ lpd : dpoly := lpd1 * lpd2 - lpd2 * lpd1 --R + --R 2 3 2 --R b a b a b a ---R Type: XDistributedPolynomial(Symbol,Fraction Integer) +--R Type: XDistributedPolynomial(Symbol,Fraction(Integer)) --E 32 --S 33 of 39 @@ -143537,7 +143996,7 @@ lp :: dpoly - lpd --R --R --R (33) 0 ---R Type: XDistributedPolynomial(Symbol,Fraction Integer) +--R Type: XDistributedPolynomial(Symbol,Fraction(Integer)) --E 33 --S 34 of 39 @@ -143546,7 +144005,7 @@ p := 3 * lp --R --R 3 2 2 --R (34) 3[a b a b a b] ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 34 --S 35 of 39 @@ -143555,7 +144014,7 @@ q := lp1 --R --R 3 2 --R (35) [a b ] ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 35 --S 36 of 39 @@ -143564,7 +144023,7 @@ pq:= p * q --R --R 3 2 2 3 2 --R (36) 3[a b a b a b][a b ] ---R Type: XPBWPolynomial(Symbol,Fraction Integer) +--R Type: XPBWPolynomial(Symbol,Fraction(Integer)) --E 36 --S 37 of 39 @@ -143663,7 +144122,7 @@ pr:rpoly := p :: rpoly --R a(a b(a b 3 + b a(- 3)) + b(a(a b(- 9) + b a 12) + b a a(- 3))) --R + --R b a(a(a b 6 + b a(- 9)) + b a a 3) ---R Type: XRecursivePolynomial(Symbol,Fraction Integer) +--R Type: XRecursivePolynomial(Symbol,Fraction(Integer)) --E 37 --S 38 of 39 @@ -143674,7 +144133,7 @@ qr:rpoly := q :: rpoly --R a(a(a b b 1 + b(a b(- 2) + b a(- 1))) + b(a b a 4 + b a a(- 1))) --R + --R b(a b a a(- 2) + b a a a 1) ---R Type: XRecursivePolynomial(Symbol,Fraction Integer) +--R Type: XRecursivePolynomial(Symbol,Fraction(Integer)) --E 38 --S 39 of 39 @@ -143682,7 +144141,7 @@ pq :: rpoly - pr*qr --R --R --R (39) 0 ---R Type: XRecursivePolynomial(Symbol,Fraction Integer) +--R Type: XRecursivePolynomial(Symbol,Fraction(Integer)) --E 39 )spool )lisp (bye) @@ -144343,7 +144802,7 @@ XPBWPolynomial(VarSet:OrderedSet,R:CommutativeRing): XDPcat == XDPdef where poly := XPolynomial(Integer) --R --R ---R (1) XPolynomial Integer +--R (1) XPolynomial(Integer) --R Type: Domain --E 1 @@ -144352,7 +144811,7 @@ pr: poly := 2*x + 3*y-5 --R --R --R (2) - 5 + x 2 + y 3 ---R Type: XPolynomial Integer +--R Type: XPolynomial(Integer) --E 2 --S 3 of 14 @@ -144360,7 +144819,7 @@ pr2: poly := pr*pr --R --R --R (3) 25 + x(- 20 + x 4 + y 6) + y(- 30 + x 6 + y 9) ---R Type: XPolynomial Integer +--R Type: XPolynomial(Integer) --E 3 --S 4 of 14 @@ -144396,7 +144855,7 @@ qr := pr**3 --R - 125 + x(150 + x(- 60 + x 8 + y 12) + y(- 90 + x 12 + y 18)) --R + --R y(225 + x(- 90 + x 12 + y 18) + y(- 135 + x 18 + y 27)) ---R Type: XPolynomial Integer +--R Type: XPolynomial(Integer) --E 7 --S 8 of 14 @@ -144426,14 +144885,14 @@ trunc(qr,2) --R --R --R (10) - 125 + x(150 + x(- 60) + y(- 90)) + y(225 + x(- 90) + y(- 135)) ---R Type: XPolynomial Integer +--R Type: XPolynomial(Integer) --E 10 --S 11 of 14 Word := OrderedFreeMonoid Symbol --R --R ---R (11) OrderedFreeMonoid Symbol +--R (11) OrderedFreeMonoid(Symbol) --R Type: Domain --E 11 @@ -144443,7 +144902,7 @@ w: Word := x*y**2 --R --R 2 --R (12) x y ---R Type: OrderedFreeMonoid Symbol +--R Type: OrderedFreeMonoid(Symbol) --E 12 --S 13 of 14 @@ -144451,7 +144910,7 @@ rquo(qr,w) --R --R --R (13) 18 ---R Type: XPolynomial Integer +--R Type: XPolynomial(Integer) --E 13 --S 14 of 14 @@ -144459,7 +144918,7 @@ sh(pr,w::poly) --R --R --R (14) x(x y y 4 + y(x y 2 + y(- 5 + x 2 + y 9))) + y x y y 3 ---R Type: XPolynomial Integer +--R Type: XPolynomial(Integer) --E 14 )spool )lisp (bye) @@ -144675,7 +145134,7 @@ XPolynomial(R:Ring) == XRecursivePolynomial(Symbol, R) Word := OrderedFreeMonoid(Symbol) --R --R ---R (1) OrderedFreeMonoid Symbol +--R (1) OrderedFreeMonoid(Symbol) --R Type: Domain --E 1 @@ -144683,7 +145142,7 @@ Word := OrderedFreeMonoid(Symbol) poly:= XPR(Integer,Word) --R --R ---R (2) XPolynomialRing(Integer,OrderedFreeMonoid Symbol) +--R (2) XPolynomialRing(Integer,OrderedFreeMonoid(Symbol)) --R Type: Domain --E 2 @@ -144692,7 +145151,7 @@ p:poly := 2 * x - 3 * y + 1 --R --R --R (3) 1 + 2x - 3y ---R Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) +--R Type: XPolynomialRing(Integer,OrderedFreeMonoid(Symbol)) --E 3 --S 4 of 15 @@ -144700,7 +145159,7 @@ q:poly := 2 * x + 1 --R --R --R (4) 1 + 2x ---R Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) +--R Type: XPolynomialRing(Integer,OrderedFreeMonoid(Symbol)) --E 4 --S 5 of 15 @@ -144708,7 +145167,7 @@ p + q --R --R --R (5) 2 + 4x - 3y ---R Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) +--R Type: XPolynomialRing(Integer,OrderedFreeMonoid(Symbol)) --E 5 --S 6 of 15 @@ -144717,7 +145176,7 @@ p * q --R --R 2 --R (6) 1 + 4x - 3y + 4x - 6y x ---R Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) +--R Type: XPolynomialRing(Integer,OrderedFreeMonoid(Symbol)) --E 6 --S 7 of 15 @@ -144725,14 +145184,14 @@ p * q --R --R --R (7) - 6x y + 6y x ---R Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) +--R Type: XPolynomialRing(Integer,OrderedFreeMonoid(Symbol)) --E 7 --S 8 of 15 M := SquareMatrix(2,Fraction Integer) --R --R ---R (8) SquareMatrix(2,Fraction Integer) +--R (8) SquareMatrix(2,Fraction(Integer)) --R Type: Domain --E 8 @@ -144741,7 +145200,7 @@ poly1:= XPR(M,Word) --R --R --R (9) ---R XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) +--R XPolynomialRing(SquareMatrix(2,Fraction(Integer)),OrderedFreeMonoid(Symbol)) --R Type: Domain --E 9 @@ -144752,7 +145211,7 @@ m1:M := matrix [ [i*j**2 for i in 1..2] for j in 1..2] --R +1 2+ --R (10) | | --R +4 8+ ---R Type: SquareMatrix(2,Fraction Integer) +--R Type: SquareMatrix(2,Fraction(Integer)) --E 10 --S 11 of 15 @@ -144766,7 +145225,7 @@ m2:M := m1 - 5/4 --R | 27| --R | 4 --| --R + 4+ ---R Type: SquareMatrix(2,Fraction Integer) +--R Type: SquareMatrix(2,Fraction(Integer)) --E 11 --S 12 of 15 @@ -144780,7 +145239,7 @@ m3: M := m2**2 --R | 857| --R |26 ---| --R + 16+ ---R Type: SquareMatrix(2,Fraction Integer) +--R Type: SquareMatrix(2,Fraction(Integer)) --E 12 --S 13 of 15 @@ -144794,7 +145253,7 @@ pm:poly1 := m1*x + m2*y + m3*z - 2/3 --R | 2| +4 8+ | 27| | 857| --R | 0 - -| | 4 --| |26 ---| --R + 3+ + 4+ + 16+ ---RType: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) +--RType: XPolynomialRing(SquareMatrix(2,Fraction(Integer)),OrderedFreeMonoid(Symbol)) --E 13 --S 14 of 15 @@ -144808,7 +145267,7 @@ qm:poly1 := pm - m1*x --R | 2| | 27| | 857| --R | 0 - -| | 4 --| |26 ---| --R + 3+ + 4+ + 16+ ---RType: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) +--RType: XPolynomialRing(SquareMatrix(2,Fraction(Integer)),OrderedFreeMonoid(Symbol)) --E 14 --S 15 of 15 @@ -144855,7 +145314,7 @@ qm**3 --R |795341 25447787| |12326223 788893897| --R |------ --------| |-------- ---------| --R + 64 1024 + + 128 4096 + ---RType: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) +--RType: XPolynomialRing(SquareMatrix(2,Fraction(Integer)),OrderedFreeMonoid(Symbol)) --E 15 )spool )lisp (bye) @@ -145275,6 +145734,7 @@ XPolynomialRing(R:Ring,E:OrderedMonoid): T == C where --S 1 of 1 )show XRecursivePolynomial +--R --R XRecursivePolynomial(VarSet: OrderedSet,R: Ring) is a domain constructor --R Abbreviation for XRecursivePolynomial is XRPOLY --R This constructor is not exposed in this frame. @@ -145299,24 +145759,24 @@ XPolynomialRing(R:Ring,E:OrderedMonoid): T == C where --R quasiRegular : % -> % quasiRegular? : % -> Boolean --R recip : % -> Union(%,"failed") rquo : (%,%) -> % --R rquo : (%,VarSet) -> % sample : () -> % ---R varList : % -> List VarSet zero? : % -> Boolean +--R varList : % -> List(VarSet) zero? : % -> Boolean --R ?~=? : (%,%) -> Boolean --R ?*? : (NonNegativeInteger,%) -> % --R ?**? : (%,NonNegativeInteger) -> % ---R RemainderList : % -> List Record(k: VarSet,c: %) +--R RemainderList : % -> List(Record(k: VarSet,c: %)) --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger ---R coef : (%,OrderedFreeMonoid VarSet) -> R ---R coerce : OrderedFreeMonoid VarSet -> % +--R coef : (%,OrderedFreeMonoid(VarSet)) -> R +--R coerce : OrderedFreeMonoid(VarSet) -> % --R expand : % -> XDistributedPolynomial(VarSet,R) ---R lquo : (%,OrderedFreeMonoid VarSet) -> % ---R maxdeg : % -> OrderedFreeMonoid VarSet ---R mindeg : % -> OrderedFreeMonoid VarSet ---R mindegTerm : % -> Record(k: OrderedFreeMonoid VarSet,c: R) ---R monom : (OrderedFreeMonoid VarSet,R) -> % ---R retract : % -> OrderedFreeMonoid VarSet ---R retractIfCan : % -> Union(OrderedFreeMonoid VarSet,"failed") ---R rquo : (%,OrderedFreeMonoid VarSet) -> % +--R lquo : (%,OrderedFreeMonoid(VarSet)) -> % +--R maxdeg : % -> OrderedFreeMonoid(VarSet) +--R mindeg : % -> OrderedFreeMonoid(VarSet) +--R mindegTerm : % -> Record(k: OrderedFreeMonoid(VarSet),c: R) +--R monom : (OrderedFreeMonoid(VarSet),R) -> % +--R retract : % -> OrderedFreeMonoid(VarSet) +--R retractIfCan : % -> Union(OrderedFreeMonoid(VarSet),"failed") +--R rquo : (%,OrderedFreeMonoid(VarSet)) -> % --R sh : (%,NonNegativeInteger) -> % if R has COMRING --R sh : (%,%) -> % if R has COMRING --R subtractIfCan : (%,%) -> Union(%,"failed") diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index 73b964c..aced0c8 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -245,15 +245,16 @@ in the bootstrap set. Thus, --S 1 of 1 )show AffineAlgebraicSetComputeWithGroebnerBasis ---R AffineAlgebraicSetComputeWithGroebnerBasis(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K) is a package constructor +--R +--R AffineAlgebraicSetComputeWithGroebnerBasis(K: Field,symb: List(Symbol),PolyRing: PolynomialCategory(K,E,OrderedVariableList(symb)),E: DirectProductCategory(#(symb),NonNegativeInteger),ProjPt: ProjectiveSpaceCategory(K)) is a package constructor --R Abbreviation for AffineAlgebraicSetComputeWithGroebnerBasis is AFALGGRO --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for AFALGGRO --R --R------------------------------- Operations -------------------------------- ---R affineAlgSet : List PolyRing -> Union(List ProjPt,"failed",Infinite,Integer) ---R affineRationalPoints : (PolyRing,PositiveInteger) -> List ProjPt ---R affineSingularPoints : PolyRing -> Union(List ProjPt,"failed",Infinite,Integer) +--R affineAlgSet : List(PolyRing) -> Union(List(ProjPt),"failed",Infinite,Integer) +--R affineRationalPoints : (PolyRing,PositiveInteger) -> List(ProjPt) +--R affineSingularPoints : PolyRing -> Union(List(ProjPt),"failed",Infinite,Integer) --R --E 1 @@ -470,19 +471,20 @@ AffineAlgebraicSetComputeWithGroebnerBasis(K,symb,PolyRing,E,ProjPt):Exports_ --S 1 of 1 )show AffineAlgebraicSetComputeWithResultant ---R AffineAlgebraicSetComputeWithResultant(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K) is a package constructor +--R +--R AffineAlgebraicSetComputeWithResultant(K: Field,symb: List(Symbol),PolyRing: PolynomialCategory(K,E,OrderedVariableList(symb)),E: DirectProductCategory(#(symb),NonNegativeInteger),ProjPt: ProjectiveSpaceCategory(K)) is a package constructor --R Abbreviation for AffineAlgebraicSetComputeWithResultant is AFALGRES --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for AFALGRES --R --R------------------------------- Operations -------------------------------- ---R affineAlgSet : List PolyRing -> Union(List ProjPt,"failed",Infinite,Integer) ---R affineAlgSetLocal : List SparseUnivariatePolynomial SparseUnivariatePolynomial K -> Union(List ProjPt,"failed",Infinite,Integer) ---R affineRationalPoints : (PolyRing,PositiveInteger) -> Union(List ProjPt,"failed",Infinite,Integer) ---R affineSingularPoints : PolyRing -> Union(List ProjPt,"failed",Infinite,Integer) ---R affineSingularPoints : SparseUnivariatePolynomial SparseUnivariatePolynomial K -> Union(List ProjPt,"failed",Infinite,Integer) ---R allPairsAmong : List SparseUnivariatePolynomial SparseUnivariatePolynomial K -> List List SparseUnivariatePolynomial SparseUnivariatePolynomial K ---R polyRing2UPUP : PolyRing -> SparseUnivariatePolynomial SparseUnivariatePolynomial K +--R affineAlgSet : List(PolyRing) -> Union(List(ProjPt),"failed",Infinite,Integer) +--R affineAlgSetLocal : List(SparseUnivariatePolynomial(SparseUnivariatePolynomial(K))) -> Union(List(ProjPt),"failed",Infinite,Integer) +--R affineRationalPoints : (PolyRing,PositiveInteger) -> Union(List(ProjPt),"failed",Infinite,Integer) +--R affineSingularPoints : PolyRing -> Union(List(ProjPt),"failed",Infinite,Integer) +--R affineSingularPoints : SparseUnivariatePolynomial(SparseUnivariatePolynomial(K)) -> Union(List(ProjPt),"failed",Infinite,Integer) +--R allPairsAmong : List(SparseUnivariatePolynomial(SparseUnivariatePolynomial(K))) -> List(List(SparseUnivariatePolynomial(SparseUnivariatePolynomial(K)))) +--R polyRing2UPUP : PolyRing -> SparseUnivariatePolynomial(SparseUnivariatePolynomial(K)) --R --E 1 @@ -4073,7 +4075,7 @@ getDomains 'Collection --R RegularChain, RegularTriangularSet, Result, RoutinesTable, Set, --R SparseTable, SquareFreeRegularTriangularSet, Stream, String, StringTable, --R Table, Vector, WuWenTsunTriangularSet} ---R Type: Set Symbol +--R Type: Set(Symbol) --E 1 --S 2 of 5 @@ -4083,7 +4085,7 @@ difference(getDomains 'IndexedAggregate,getDomains 'Collection) --R {DirectProduct, DirectProductMatrixModule, DirectProductModule, --R HomogeneousDirectProduct, OrderedDirectProduct, --R SplitHomogeneousDirectProduct} ---R Type: Set Symbol +--R Type: Set(Symbol) --E 2 --S 3 of 5 @@ -4093,19 +4095,20 @@ credits() --RMichael Albaugh Cyril Alberga Roy Adler --RChristian Aistleitner Richard Anderson George Andrews --RS.J. Atkins ---RHenry Baker Stephen Balzac Yurij Baransky ---RDavid R. Barton Gerald Baumgartner Gilbert Baumslag ---RMichael Becker Nelson H. F. Beebe Jay Belanger ---RDavid Bindel Fred Blair Vladimir Bondarenko ---RMark Botch Alexandre Bouyer Peter A. Broadbery ---RMartin Brock Manuel Bronstein Stephen Buchwald ---RFlorian Bundschuh Luanne Burns William Burge +--RHenry Baker Martin Baker Stephen Balzac +--RYurij Baransky David R. Barton Gerald Baumgartner +--RGilbert Baumslag Michael Becker Nelson H. F. Beebe +--RJay Belanger David Bindel Fred Blair +--RVladimir Bondarenko Mark Botch Alexandre Bouyer +--RPeter A. Broadbery Martin Brock Manuel Bronstein +--RStephen Buchwald Florian Bundschuh Luanne Burns +--RWilliam Burge --RQuentin Carpent Robert Caviness Bruce Char --ROndrej Certik Cheekai Chin David V. Chudnovsky ---RGregory V. Chudnovsky Josh Cohen Christophe Conil ---RDon Coppersmith George Corliss Robert Corless ---RGary Cornell Meino Cramer Claire Di Crescenzo ---RDavid Cyganski +--RGregory V. Chudnovsky James Cloos Josh Cohen +--RChristophe Conil Don Coppersmith George Corliss +--RRobert Corless Gary Cornell Meino Cramer +--RClaire Di Crescenzo David Cyganski --RNathaniel Daly Timothy Daly Sr. Timothy Daly Jr. --RJames H. Davenport Didier Deshommes Michael Dewar --RJean Della Dora Gabriel Dos Reis Claire DiCrescendo @@ -4130,45 +4133,42 @@ credits() --RRoger House Gernot Hueber --RPietro Iglio --RAlejandro Jakubi Richard Jenks ---RKai Kaminski Grant Keady Tony Kennedy ---RTed Kosan Paul Kosinski Klaus Kusche ---RBernhard Kutzler +--RKai Kaminski Grant Keady Wilfrid Kendall +--RTony Kennedy Ted Kosan Paul Kosinski +--RKlaus Kusche Bernhard Kutzler --RTim Lahey Larry Lambe Kaj Laurson ---RGeorge L. Legendre Franz Lehner Frederic Lehobey ---RMichel Levaud Howard Levy Liu Xiaojun ---RRudiger Loos Michael Lucks Richard Luczak +--RFranz Lehner Frederic Lehobey Michel Levaud +--RHoward Levy Liu Xiaojun Rudiger Loos +--RMichael Lucks Richard Luczak --RCamm Maguire Francois Maltey Alasdair McAndrew --RBob McElrath Michael McGettrick Ian Meikle --RDavid Mentre Victor S. Miller Gerard Milmeister --RMohammed Mobarak H. Michael Moeller Michael Monagan --RMarc Moreno-Maza Scott Morrison Joel Moses --RMark Murray ---RWilliam Naylor C. Andrew Neff John Nelder ---RGodfrey Nolan Arthur Norman Jinzhong Niu +--RWilliam Naylor Patrice Naudin C. Andrew Neff +--RJohn Nelder Godfrey Nolan Arthur Norman +--RJinzhong Niu --RMichael O'Connor Summat Oemrawsingh Kostas Oikonomou --RHumberto Ortiz-Zuazaga ---RJulian A. Padget Bill Page Susan Pelzel ---RMichel Petitot Didier Pinchon Ayal Pinkus ---RJose Alfredo Portes +--RJulian A. Padget Bill Page David Parnas +--RSusan Pelzel Michel Petitot Didier Pinchon +--RAyal Pinkus Jose Alfredo Portes --RClaude Quitte --RArthur C. Ralfs Norman Ramsey Anatoly Raportirenko --RAlbert D. Rich Michael Richardson Guilherme Reis --RRenaud Rioboo Jean Rivlin Nicolas Robidoux --RSimon Robinson Raymond Rogers Michael Rothstein --RMartin Rubey ---RArthur C. Ralfs Norman Ramsey Anatoly Raportirenko ---RMichael Richardson Renaud Rioboo Jean Rivlin ---RNicolas Robidoux Simon Robinson Raymond Rogers ---RMichael Rothstein Martin Rubey --RPhilip Santas Alfred Scheerhorn William Schelter --RGerhard Schneider Martin Schoenert Marshall Schor --RFrithjof Schulze Fritz Schwarz Steven Segletes --RNick Simicich William Sit Elena Smirnova --RJonathan Steinbach Fabio Stumbo Christine Sundaresan --RRobert Sutor Moss E. Sweedler Eugene Surowitz ---RMax Tegmark James Thatcher Balbir Thomas ---RMike Thomas Dylan Thurston Steve Toleque ---RBarry Trager Themos T. Tsikas +--RMax Tegmark T. Doug Telford James Thatcher +--RBalbir Thomas Mike Thomas Dylan Thurston +--RSteve Toleque Barry Trager Themos T. Tsikas --RGregory Vanuxem --RBernhard Wall Stephen Watt Jaap Weel --RJuergen Weiss M. Weller Mark Wegman @@ -4194,13 +4194,14 @@ summary() --S 5 of 5 )show API +--R --R ApplicationProgramInterface is a package constructor --R Abbreviation for ApplicationProgramInterface is API --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for API --R --R------------------------------- Operations -------------------------------- ---R credits : () -> Void getDomains : Symbol -> Set Symbol +--R credits : () -> Void getDomains : Symbol -> Set(Symbol) --R summary : () -> Void --R --E 5 @@ -5565,7 +5566,7 @@ BasicOperatorFunctions1(A:SetCategory): Exports == Implementation where n:=linearBezier([2.0,2.0],[4.0,4.0]) --R --I (1) theMap(BEZIER;linearBezier;2LM;1!0,707) ---R Type: (Float -> List Float) +--R Type: (Float -> List(Float)) --E 1 --S 2 of 9 @@ -5574,14 +5575,14 @@ n:=linearBezier([2.0,2.0],[4.0,4.0]) --R (2) --R [[2.0,2.0], [2.2,2.2], [2.4,2.4], [2.6,2.6], [2.8,2.8], [3.0,3.0], --R [3.2,3.2], [3.4,3.4], [3.6,3.6], [3.8,3.8], [4.0,4.0]] ---R Type: List List Float +--R Type: List(List(Float)) --E 2 --S 3 of 9 n:=quadraticBezier([2.0,2.0],[4.0,4.0],[6.0,2.0]) --R --I (3) theMap(BEZIER;quadraticBezier;3LM;2!0,291) ---R Type: (Float -> List Float) +--R Type: (Float -> List(Float)) --E 3 --S 4 of 9 @@ -5590,14 +5591,14 @@ n:=quadraticBezier([2.0,2.0],[4.0,4.0],[6.0,2.0]) --R (4) --R [[2.0,2.0], [2.4,2.36], [2.8,2.64], [3.2,2.84], [3.6,2.96], [4.0,3.0], --R [4.4,2.96], [4.8,2.84], [5.2,2.64], [5.6,2.36], [6.0,2.0]] ---R Type: List List Float +--R Type: List(List(Float)) --E 4 --S 5 of 9 n:=cubicBezier([2.0,2.0],[2.0,4.0],[6.0,4.0],[6.0,2.0]) --R --I (5) theMap(BEZIER;cubicBezier;4LM;3!0,915) ---R Type: (Float -> List Float) +--R Type: (Float -> List(Float)) --E 5 --S 6 of 9 @@ -5607,19 +5608,675 @@ n:=cubicBezier([2.0,2.0],[2.0,4.0],[6.0,4.0],[6.0,2.0]) --R [[2.0,2.0], [2.112,2.54], [2.416,2.96], [2.864,3.26], [3.408,3.44], --R [4.0,3.5], [4.592,3.44], [5.136,3.26], [5.584,2.96], [5.888,2.54], --R [6.0,2.0]] ---R Type: List List Float +--R Type: List(List(Float)) --E 6 --S 7 of 9 line:=[[i::Float,4.0] for i in -4..4 by 1] +--R +--R +--R (7) +--R [[- 4.0,4.0], [- 3.0,4.0], [- 2.0,4.0], [- 1.0,4.0], [0.0,4.0], [1.0,4.0], +--R [2.0,4.0], [3.0,4.0], [4.0,4.0]] +--R Type: List(List(Float)) --E 7 --S 8 of 9 functions:=[quadraticBezier([2.0,2.0],m,[6.0,2.0]) for m in line] +--R +--R +--R (8) +--R [theMap(BEZIER;quadraticBezier;3LM;2!0,0), +--R theMap(BEZIER;quadraticBezier;3LM;2!0,0), +--R theMap(BEZIER;quadraticBezier;3LM;2!0,0), +--R theMap(BEZIER;quadraticBezier;3LM;2!0,0), +--R theMap(BEZIER;quadraticBezier;3LM;2!0,0), +--R theMap(BEZIER;quadraticBezier;3LM;2!0,0), +--R theMap(BEZIER;quadraticBezier;3LM;2!0,0), +--R theMap(BEZIER;quadraticBezier;3LM;2!0,0), +--R theMap(BEZIER;quadraticBezier;3LM;2!0,0)] +--R Type: List((Float -> List(Float))) --E 8 --S 9 of 9 -graphs:=[[point(((functions.i)(j/100.0))::LIST(DFLOAT)) for j in 0..100] for i in 1..9] +graphs:=[[point(((functions.i)(j/100.0))::LIST(DFLOAT)) _ + for j in 0..100] for i in 1..9] +--R +--R +--R (9) +--R [ +--R [[2.,2.], [1.8815999999999999,2.0396000000000001], +--R [1.7664,2.0783999999999998], [1.6544000000000003,2.1164000000000005], +--R [1.5456000000000003,2.1536], [1.4399999999999999,2.1899999999999999], +--R [1.3375999999999999,2.2256], [1.2383999999999999,2.2604000000000006], +--R [1.1424000000000003,2.2944], [1.0496000000000003,2.3275999999999999], +--R [0.95999999999999996,2.3599999999999999], +--R [0.87360000000000015,2.3915999999999999], +--R [0.79039999999999999,2.4224000000000006], +--R [0.71040000000000014,2.4523999999999999], +--R [0.63360000000000016,2.4815999999999998], +--R [0.56000000000000005,2.5099999999999998], +--R [0.48959999999999998,2.5375999999999999], [0.4224,2.5644], +--R [0.3584,2.5903999999999998], [0.29759999999999998,2.6156000000000006], +--R [0.23999999999999999,2.6400000000000006], +--R [0.18559999999999999,2.6636000000000006], +--R [0.13439999999999999,2.6863999999999999], +--R [8.6400000000000005E-2,2.7084000000000001], +--R [4.1599999999999998E-2,2.7296000000000005], [0.,2.75], +--R [- 3.8400000000000004E-2,2.7696000000000005], +--R [- 7.3599999999999999E-2,2.7884000000000002], [- 0.1056,2.8064], +--R [- 0.13440000000000002,2.8235999999999999], [- 0.16,2.8399999999999999], +--R [- 0.18240000000000001,2.8555999999999999], +--R [- 0.2016,2.8704000000000001], +--R [- 0.21760000000000002,2.8843999999999999], +--R [- 0.23039999999999999,2.8976000000000006], +--R [- 0.23999999999999999,2.9100000000000001], +--R [- 0.24640000000000001,2.9216000000000006], +--R [- 0.24959999999999999,2.9323999999999999], +--R [- 0.24959999999999999,2.9424000000000001], +--R [- 0.24640000000000001,2.9516], [- 0.23999999999999999,2.96], +--R [- 0.23039999999999999,2.9676], +--R [- 0.21760000000000002,2.9744000000000002], +--R [- 0.2016,2.9803999999999999], +--R [- 0.18240000000000001,2.9855999999999998], [- 0.16,2.9900000000000002], +--R [- 0.13440000000000002,2.9935999999999998], [- 0.1056,2.9964], +--R [- 7.3599999999999999E-2,2.9984000000000002], +--R [- 3.8400000000000004E-2,2.9996], [0.,3.], +--R [4.1599999999999998E-2,2.9996], +--R [8.6400000000000005E-2,2.9984000000000002], [0.13439999999999999,2.9964], +--R [0.18559999999999999,2.9935999999999998], +--R [0.23999999999999999,2.9900000000000002], +--R [0.29759999999999998,2.9855999999999998], [0.3584,2.9803999999999999], +--R [0.4224,2.9744000000000002], [0.48959999999999998,2.9676], +--R [0.56000000000000005,2.96], [0.63360000000000016,2.9516], +--R [0.71040000000000014,2.9424000000000001], +--R [0.79039999999999999,2.9323999999999999], +--R [0.87360000000000015,2.9216000000000006], +--R [0.95999999999999996,2.9100000000000001], +--R [1.0496000000000003,2.8976000000000006], +--R [1.1424000000000003,2.8843999999999999], +--R [1.2383999999999999,2.8704000000000001], +--R [1.3375999999999999,2.8555999999999999], +--R [1.4399999999999999,2.8399999999999999], +--R [1.5456000000000003,2.8235999999999999], [1.6544000000000003,2.8064], +--R [1.7664,2.7884000000000002], [1.8815999999999999,2.7696000000000005], +--R [2.,2.75], [2.1215999999999999,2.7296000000000005], +--R [2.2464,2.7084000000000001], [2.3744000000000005,2.6863999999999999], +--R [2.5055999999999998,2.6636000000000006], +--R [2.6400000000000006,2.6400000000000006], +--R [2.7776000000000005,2.6156000000000006], +--R [2.9184000000000001,2.5903999999999998], [3.0623999999999998,2.5644], +--R [3.2096,2.5375999999999999], [3.3599999999999999,2.5099999999999998], +--R [3.5135999999999998,2.4815999999999998], +--R [3.6703999999999999,2.4523999999999999], [3.8304,2.4224000000000006], +--R [3.9935999999999998,2.3915999999999999], +--R [4.1600000000000001,2.3599999999999999], +--R [4.329600000000001,2.3275999999999999], [4.5023999999999997,2.2944], +--R [4.6783999999999999,2.2604000000000006], [4.8575999999999997,2.2256], +--R [5.0400000000000009,2.1899999999999999], [5.2256,2.1536], +--R [5.4143999999999997,2.1164000000000005], +--R [5.6063999999999998,2.0783999999999998], +--R [5.8015999999999996,2.0396000000000001], [6.,2.]] +--R , +--R +--R [[2.,2.], [1.9014,2.0396000000000001], +--R [1.8056000000000001,2.0783999999999998], +--R [1.7125999999999999,2.1164000000000005], [1.6224000000000003,2.1536], +--R [1.5349999999999999,2.1899999999999999], [1.4503999999999999,2.2256], +--R [1.3686000000000003,2.2604000000000006], [1.2896000000000001,2.2944], +--R [1.2134,2.3275999999999999], [1.1399999999999999,2.3599999999999999], +--R [1.0693999999999999,2.3915999999999999], +--R [1.0016000000000003,2.4224000000000006], +--R [0.93659999999999999,2.4523999999999999], +--R [0.87439999999999996,2.4815999999999998], +--R [0.81499999999999995,2.5099999999999998], +--R [0.75839999999999996,2.5375999999999999], [0.70460000000000012,2.5644], +--R [0.65359999999999996,2.5903999999999998], +--R [0.60540000000000016,2.6156000000000006], +--R [0.56000000000000005,2.6400000000000006], +--R [0.51739999999999997,2.6636000000000006], +--R [0.47760000000000002,2.6863999999999999], +--R [0.44059999999999999,2.7084000000000001], +--R [0.40639999999999998,2.7296000000000005], [0.375,2.75], +--R [0.34639999999999999,2.7696000000000005], [0.3206,2.7884000000000002], +--R [0.29759999999999998,2.8064], [0.27739999999999998,2.8235999999999999], +--R [0.26000000000000001,2.8399999999999999], +--R [0.24540000000000001,2.8555999999999999], +--R [0.23360000000000003,2.8704000000000001], +--R [0.22459999999999999,2.8843999999999999], +--R [0.21840000000000004,2.8976000000000006], [0.215,2.9100000000000001], +--R [0.21440000000000003,2.9216000000000006], +--R [0.21659999999999999,2.9323999999999999], +--R [0.22159999999999999,2.9424000000000001], [0.22939999999999999,2.9516], +--R [0.23999999999999999,2.96], [0.25340000000000007,2.9676], +--R [0.26960000000000006,2.9744000000000002], +--R [0.28860000000000008,2.9803999999999999], +--R [0.31040000000000001,2.9855999999999998], +--R [0.33500000000000008,2.9900000000000002], [0.3624,2.9935999999999998], +--R [0.39260000000000006,2.9964], [0.42559999999999998,2.9984000000000002], +--R [0.46139999999999998,2.9996], [0.5,3.], [0.54139999999999999,2.9996], +--R [0.58560000000000012,2.9984000000000002], [0.63260000000000005,2.9964], +--R [0.68240000000000012,2.9935999999999998], +--R [0.73499999999999999,2.9900000000000002], +--R [0.79039999999999999,2.9855999999999998], +--R [0.84860000000000002,2.9803999999999999], +--R [0.90959999999999996,2.9744000000000002], [0.97340000000000004,2.9676], +--R [1.04,2.96], [1.1093999999999999,2.9516], [1.1816,2.9424000000000001], +--R [1.2565999999999999,2.9323999999999999], [1.3344,2.9216000000000006], +--R [1.415,2.9100000000000001], [1.4984,2.8976000000000006], +--R [1.5846,2.8843999999999999], [1.6736,2.8704000000000001], +--R [1.7654000000000001,2.8555999999999999], +--R [1.8600000000000003,2.8399999999999999], +--R [1.9574000000000003,2.8235999999999999], [2.0575999999999999,2.8064], +--R [2.1606000000000005,2.7884000000000002], [2.2664,2.7696000000000005], +--R [2.375,2.75], [2.4864000000000006,2.7296000000000005], +--R [2.6006,2.7084000000000001], [2.7176,2.6863999999999999], +--R [2.8374000000000006,2.6636000000000006], [2.96,2.6400000000000006], +--R [3.0853999999999999,2.6156000000000006], +--R [3.2136000000000005,2.5903999999999998], [3.3445999999999998,2.5644], +--R [3.4784000000000006,2.5375999999999999], +--R [3.6150000000000002,2.5099999999999998], [3.7544,2.4815999999999998], +--R [3.8965999999999998,2.4523999999999999], +--R [4.0415999999999999,2.4224000000000006], +--R [4.1894000000000009,2.3915999999999999], +--R [4.3399999999999999,2.3599999999999999], +--R [4.4934000000000012,2.3275999999999999], [4.6496000000000013,2.2944], +--R [4.8086000000000002,2.2604000000000006], [4.9703999999999997,2.2256], +--R [5.1349999999999998,2.1899999999999999], [5.3023999999999996,2.1536], +--R [5.4725999999999999,2.1164000000000005], [5.6456,2.0783999999999998], +--R [5.8213999999999997,2.0396000000000001], [6.,2.]] +--R , +--R +--R [[2.,2.], [1.9212000000000002,2.0396000000000001], +--R [1.8448,2.0783999999999998], [1.7707999999999999,2.1164000000000005], +--R [1.6992000000000003,2.1536], [1.6299999999999999,2.1899999999999999], +--R [1.5631999999999999,2.2256], [1.4987999999999999,2.2604000000000006], +--R [1.4368000000000003,2.2944], [1.3772,2.3275999999999999], +--R [1.3200000000000003,2.3599999999999999], +--R [1.2652000000000001,2.3915999999999999], +--R [1.2128000000000001,2.4224000000000006], +--R [1.1628000000000003,2.4523999999999999], [1.1152,2.4815999999999998], +--R [1.0700000000000003,2.5099999999999998], +--R [1.0271999999999999,2.5375999999999999], [0.98680000000000012,2.5644], +--R [0.94879999999999998,2.5903999999999998], +--R [0.91320000000000001,2.6156000000000006], +--R [0.88000000000000012,2.6400000000000006], +--R [0.84919999999999995,2.6636000000000006], +--R [0.82079999999999997,2.6863999999999999], +--R [0.79479999999999995,2.7084000000000001], [0.7712,2.7296000000000005], +--R [0.75,2.75], [0.73119999999999996,2.7696000000000005], +--R [0.71479999999999999,2.7884000000000002], [0.70079999999999998,2.8064], +--R [0.68920000000000003,2.8235999999999999], +--R [0.68000000000000016,2.8399999999999999], +--R [0.67320000000000002,2.8555999999999999], +--R [0.66879999999999995,2.8704000000000001], +--R [0.66679999999999995,2.8843999999999999], +--R [0.66720000000000002,2.8976000000000006], +--R [0.67000000000000015,2.9100000000000001], +--R [0.67520000000000002,2.9216000000000006], +--R [0.68279999999999996,2.9323999999999999], +--R [0.69279999999999997,2.9424000000000001], [0.70520000000000005,2.9516], +--R [0.71999999999999997,2.96], [0.73719999999999997,2.9676], +--R [0.75680000000000014,2.9744000000000002], +--R [0.77880000000000016,2.9803999999999999], +--R [0.80320000000000014,2.9855999999999998], +--R [0.82999999999999996,2.9900000000000002], +--R [0.85919999999999996,2.9935999999999998], [0.89080000000000004,2.9964], +--R [0.92479999999999996,2.9984000000000002], [0.96120000000000005,2.9996], +--R [1.,3.], [1.0411999999999999,2.9996], [1.0848,2.9984000000000002], +--R [1.1308000000000002,2.9964], [1.1792000000000002,2.9935999999999998], +--R [1.23,2.9900000000000002], [1.2831999999999999,2.9855999999999998], +--R [1.3388,2.9803999999999999], [1.3968000000000003,2.9744000000000002], +--R [1.4572000000000003,2.9676], [1.52,2.96], [1.5851999999999999,2.9516], +--R [1.6528,2.9424000000000001], [1.7228000000000003,2.9323999999999999], +--R [1.7951999999999999,2.9216000000000006], +--R [1.8700000000000001,2.9100000000000001], [1.9472,2.8976000000000006], +--R [2.0268000000000006,2.8843999999999999], +--R [2.1088000000000005,2.8704000000000001], [2.1932,2.8555999999999999], +--R [2.2799999999999998,2.8399999999999999], +--R [2.3692000000000002,2.8235999999999999], [2.4607999999999999,2.8064], +--R [2.5548000000000002,2.7884000000000002], +--R [2.6511999999999998,2.7696000000000005], [2.75,2.75], +--R [2.8512,2.7296000000000005], [2.9548000000000005,2.7084000000000001], +--R [3.0608,2.6863999999999999], [3.1692,2.6636000000000006], +--R [3.2799999999999998,2.6400000000000006], +--R [3.3932000000000002,2.6156000000000006], +--R [3.5087999999999999,2.5903999999999998], [3.6267999999999998,2.5644], +--R [3.7471999999999999,2.5375999999999999], +--R [3.8700000000000001,2.5099999999999998], +--R [3.9952000000000005,2.4815999999999998], +--R [4.1227999999999998,2.4523999999999999], +--R [4.2527999999999997,2.4224000000000006], +--R [4.3852000000000011,2.3915999999999999], +--R [4.5199999999999996,2.3599999999999999], +--R [4.6571999999999996,2.3275999999999999], [4.7968000000000011,2.2944], +--R [4.9387999999999996,2.2604000000000006], [5.0831999999999997,2.2256], +--R [5.2300000000000004,2.1899999999999999], [5.3792,2.1536], +--R [5.530800000000001,2.1164000000000005], +--R [5.684800000000001,2.0783999999999998], +--R [5.8411999999999997,2.0396000000000001], [6.,2.]] +--R , +--R +--R [[2.,2.], [1.9410000000000003,2.0396000000000001], +--R [1.8839999999999999,2.0783999999999998], [1.829,2.1164000000000005], +--R [1.7760000000000002,2.1536], [1.7250000000000001,2.1899999999999999], +--R [1.6759999999999999,2.2256], [1.629,2.2604000000000006], +--R [1.5840000000000001,2.2944], [1.5409999999999999,2.3275999999999999], +--R [1.5,2.3599999999999999], [1.4610000000000003,2.3915999999999999], +--R [1.4239999999999999,2.4224000000000006], +--R [1.3890000000000002,2.4523999999999999], +--R [1.3560000000000003,2.4815999999999998], [1.325,2.5099999999999998], +--R [1.2960000000000003,2.5375999999999999], [1.2689999999999999,2.5644], +--R [1.244,2.5903999999999998], [1.2210000000000001,2.6156000000000006], +--R [1.2,2.6400000000000006], [1.181,2.6636000000000006], +--R [1.1639999999999999,2.6863999999999999], [1.149,2.7084000000000001], +--R [1.1359999999999999,2.7296000000000005], [1.125,2.75], +--R [1.1160000000000001,2.7696000000000005], [1.109,2.7884000000000002], +--R [1.1040000000000001,2.8064], [1.101,2.8235999999999999], +--R [1.1000000000000001,2.8399999999999999], [1.101,2.8555999999999999], +--R [1.1040000000000001,2.8704000000000001], [1.109,2.8843999999999999], +--R [1.1160000000000001,2.8976000000000006], [1.125,2.9100000000000001], +--R [1.1359999999999999,2.9216000000000006], [1.149,2.9323999999999999], +--R [1.1639999999999999,2.9424000000000001], [1.181,2.9516], [1.2,2.96], +--R [1.2210000000000001,2.9676], [1.244,2.9744000000000002], +--R [1.2689999999999999,2.9803999999999999], +--R [1.2960000000000003,2.9855999999999998], [1.325,2.9900000000000002], +--R [1.3560000000000003,2.9935999999999998], [1.3890000000000002,2.9964], +--R [1.4239999999999999,2.9984000000000002], [1.4610000000000003,2.9996], +--R [1.5,3.], [1.5409999999999999,2.9996], +--R [1.5840000000000001,2.9984000000000002], [1.629,2.9964], +--R [1.6759999999999999,2.9935999999999998], +--R [1.7250000000000001,2.9900000000000002], +--R [1.7760000000000002,2.9855999999999998], [1.829,2.9803999999999999], +--R [1.8839999999999999,2.9744000000000002], [1.9410000000000003,2.9676], +--R [2.,2.96], [2.0609999999999999,2.9516], +--R [2.1240000000000006,2.9424000000000001], +--R [2.1890000000000001,2.9323999999999999], +--R [2.2559999999999998,2.9216000000000006], +--R [2.3250000000000002,2.9100000000000001], +--R [2.3959999999999999,2.8976000000000006], +--R [2.4689999999999999,2.8843999999999999], +--R [2.5440000000000005,2.8704000000000001], [2.621,2.8555999999999999], +--R [2.7000000000000002,2.8399999999999999], +--R [2.7810000000000006,2.8235999999999999], [2.8639999999999999,2.8064], +--R [2.9489999999999998,2.7884000000000002], +--R [3.0360000000000005,2.7696000000000005], [3.125,2.75], +--R [3.2160000000000002,2.7296000000000005], +--R [3.3090000000000002,2.7084000000000001], +--R [3.4039999999999999,2.6863999999999999], +--R [3.5009999999999999,2.6636000000000006], +--R [3.6000000000000005,2.6400000000000006], +--R [3.7010000000000005,2.6156000000000006], +--R [3.8039999999999998,2.5903999999999998], [3.9089999999999998,2.5644], +--R [4.016,2.5375999999999999], [4.125,2.5099999999999998], +--R [4.2359999999999998,2.4815999999999998], +--R [4.3490000000000002,2.4523999999999999], +--R [4.4640000000000004,2.4224000000000006], +--R [4.5810000000000013,2.3915999999999999], +--R [4.7000000000000011,2.3599999999999999], +--R [4.8209999999999997,2.3275999999999999], [4.944,2.2944], +--R [5.069,2.2604000000000006], [5.1959999999999997,2.2256], +--R [5.3250000000000011,2.1899999999999999], [5.4560000000000013,2.1536], +--R [5.5890000000000004,2.1164000000000005], +--R [5.7240000000000002,2.0783999999999998], +--R [5.8609999999999998,2.0396000000000001], [6.,2.]] +--R , +--R +--R [[2.,2.], [1.9608000000000003,2.0396000000000001], +--R [1.9232,2.0783999999999998], [1.8872,2.1164000000000005], +--R [1.8528000000000002,2.1536], [1.8200000000000003,2.1899999999999999], +--R [1.7887999999999999,2.2256], [1.7592000000000003,2.2604000000000006], +--R [1.7312000000000003,2.2944], [1.7048000000000001,2.3275999999999999], +--R [1.6799999999999999,2.3599999999999999], +--R [1.6568000000000001,2.3915999999999999], [1.6352,2.4224000000000006], +--R [1.6152,2.4523999999999999], [1.5968,2.4815999999999998], +--R [1.5800000000000001,2.5099999999999998], [1.5648,2.5375999999999999], +--R [1.5511999999999999,2.5644], [1.5391999999999999,2.5903999999999998], +--R [1.5287999999999999,2.6156000000000006], [1.52,2.6400000000000006], +--R [1.5127999999999999,2.6636000000000006], +--R [1.5072000000000001,2.6863999999999999], +--R [1.5032000000000001,2.7084000000000001], +--R [1.5007999999999999,2.7296000000000005], [1.5,2.75], +--R [1.5007999999999999,2.7696000000000005], +--R [1.5032000000000001,2.7884000000000002], [1.5072000000000001,2.8064], +--R [1.5127999999999999,2.8235999999999999], [1.52,2.8399999999999999], +--R [1.5287999999999999,2.8555999999999999], +--R [1.5391999999999999,2.8704000000000001], +--R [1.5511999999999999,2.8843999999999999], [1.5648,2.8976000000000006], +--R [1.5800000000000001,2.9100000000000001], [1.5968,2.9216000000000006], +--R [1.6152,2.9323999999999999], [1.6352,2.9424000000000001], +--R [1.6568000000000001,2.9516], [1.6799999999999999,2.96], +--R [1.7048000000000001,2.9676], [1.7312000000000003,2.9744000000000002], +--R [1.7592000000000003,2.9803999999999999], +--R [1.7887999999999999,2.9855999999999998], +--R [1.8200000000000003,2.9900000000000002], +--R [1.8528000000000002,2.9935999999999998], [1.8872,2.9964], +--R [1.9232,2.9984000000000002], [1.9608000000000003,2.9996], [2.,3.], +--R [2.0407999999999999,2.9996], [2.0832000000000006,2.9984000000000002], +--R [2.1272000000000002,2.9964], [2.1728000000000005,2.9935999999999998], +--R [2.2200000000000006,2.9900000000000002], +--R [2.2688000000000006,2.9855999999999998], +--R [2.3191999999999999,2.9803999999999999], [2.3712,2.9744000000000002], +--R [2.4247999999999998,2.9676], [2.48,2.96], [2.5367999999999999,2.9516], +--R [2.5952000000000002,2.9424000000000001], +--R [2.6551999999999998,2.9323999999999999], +--R [2.7168000000000001,2.9216000000000006], +--R [2.7799999999999998,2.9100000000000001], +--R [2.8448000000000002,2.8976000000000006], [2.9112,2.8843999999999999], +--R [2.9792000000000005,2.8704000000000001], [3.0488,2.8555999999999999], +--R [3.1200000000000001,2.8399999999999999], +--R [3.1928000000000001,2.8235999999999999], [3.2671999999999999,2.8064], +--R [3.3431999999999999,2.7884000000000002], +--R [3.4207999999999998,2.7696000000000005], [3.5,2.75], +--R [3.5808,2.7296000000000005], [3.6631999999999998,2.7084000000000001], +--R [3.7471999999999999,2.6863999999999999], +--R [3.8328000000000007,2.6636000000000006], +--R [3.9199999999999999,2.6400000000000006], +--R [4.0087999999999999,2.6156000000000006], +--R [4.0991999999999997,2.5903999999999998], [4.1912000000000003,2.5644], +--R [4.2847999999999997,2.5375999999999999], +--R [4.3799999999999999,2.5099999999999998], +--R [4.4767999999999999,2.4815999999999998], +--R [4.5751999999999997,2.4523999999999999], +--R [4.6752000000000002,2.4224000000000006], +--R [4.7767999999999997,2.3915999999999999], +--R [4.8799999999999999,2.3599999999999999], +--R [4.9847999999999999,2.3275999999999999], [5.0911999999999997,2.2944], +--R [5.1992000000000012,2.2604000000000006], [5.3087999999999997,2.2256], +--R [5.4199999999999999,2.1899999999999999], [5.5327999999999999,2.1536], +--R [5.6471999999999998,2.1164000000000005], +--R [5.7632000000000012,2.0783999999999998], +--R [5.8807999999999998,2.0396000000000001], [6.,2.]] +--R , +--R +--R [[2.,2.], [1.9805999999999999,2.0396000000000001], +--R [1.9623999999999999,2.0783999999999998], +--R [1.9454000000000002,2.1164000000000005], [1.9296,2.1536], +--R [1.915,2.1899999999999999], [1.9016,2.2256], [1.8894,2.2604000000000006], +--R [1.8784000000000001,2.2944], [1.8686000000000003,2.3275999999999999], +--R [1.8600000000000003,2.3599999999999999], +--R [1.8526000000000002,2.3915999999999999], [1.8464,2.4224000000000006], +--R [1.8413999999999999,2.4523999999999999], +--R [1.8375999999999999,2.4815999999999998], [1.835,2.5099999999999998], +--R [1.8335999999999999,2.5375999999999999], [1.8333999999999999,2.5644], +--R [1.8344,2.5903999999999998], [1.8366000000000002,2.6156000000000006], +--R [1.8400000000000003,2.6400000000000006], +--R [1.8446000000000002,2.6636000000000006], [1.8504,2.6863999999999999], +--R [1.8573999999999999,2.7084000000000001], +--R [1.8655999999999999,2.7296000000000005], [1.875,2.75], +--R [1.8855999999999999,2.7696000000000005], [1.8974,2.7884000000000002], +--R [1.9104000000000001,2.8064], [1.9246000000000003,2.8235999999999999], +--R [1.9399999999999999,2.8399999999999999], +--R [1.9565999999999999,2.8555999999999999], +--R [1.9743999999999999,2.8704000000000001], +--R [1.9934000000000003,2.8843999999999999], +--R [2.0135999999999998,2.8976000000000006], +--R [2.0350000000000001,2.9100000000000001], +--R [2.0575999999999999,2.9216000000000006], +--R [2.0813999999999999,2.9323999999999999], +--R [2.1063999999999998,2.9424000000000001], [2.1326000000000001,2.9516], +--R [2.1600000000000001,2.96], [2.1886000000000001,2.9676], +--R [2.2183999999999999,2.9744000000000002], +--R [2.2494000000000005,2.9803999999999999], +--R [2.2816000000000001,2.9855999999999998], +--R [2.3149999999999999,2.9900000000000002], +--R [2.3496000000000006,2.9935999999999998], [2.3854000000000006,2.9964], +--R [2.4224000000000006,2.9984000000000002], [2.4605999999999999,2.9996], +--R [2.5,3.], [2.5406,2.9996], [2.5823999999999998,2.9984000000000002], +--R [2.6254,2.9964], [2.6696,2.9935999999999998], +--R [2.7149999999999999,2.9900000000000002], +--R [2.7616000000000005,2.9855999999999998], +--R [2.8094000000000001,2.9803999999999999], +--R [2.8584000000000005,2.9744000000000002], [2.9085999999999999,2.9676], +--R [2.96,2.96], [3.0125999999999999,2.9516], +--R [3.0663999999999998,2.9424000000000001], [3.1214,2.9323999999999999], +--R [3.1776,2.9216000000000006], [3.2349999999999999,2.9100000000000001], +--R [3.2936000000000005,2.8976000000000006], +--R [3.3534000000000006,2.8843999999999999], +--R [3.4144000000000005,2.8704000000000001], +--R [3.4765999999999999,2.8555999999999999], [3.54,2.8399999999999999], +--R [3.6046000000000005,2.8235999999999999], [3.6703999999999999,2.8064], +--R [3.7374000000000001,2.7884000000000002], +--R [3.8056000000000001,2.7696000000000005], [3.875,2.75], +--R [3.9456000000000007,2.7296000000000005], +--R [4.0174000000000003,2.7084000000000001], +--R [4.0903999999999998,2.6863999999999999], +--R [4.1646000000000001,2.6636000000000006], +--R [4.2400000000000002,2.6400000000000006], +--R [4.3166000000000011,2.6156000000000006], +--R [4.394400000000001,2.5903999999999998], [4.4733999999999998,2.5644], +--R [4.5536000000000012,2.5375999999999999], +--R [4.6349999999999998,2.5099999999999998], +--R [4.7176000000000009,2.4815999999999998], +--R [4.801400000000001,2.4523999999999999], +--R [4.8864000000000001,2.4224000000000006], +--R [4.9725999999999999,2.3915999999999999], +--R [5.0599999999999996,2.3599999999999999], +--R [5.1486000000000001,2.3275999999999999], [5.2384000000000004,2.2944], +--R [5.3293999999999997,2.2604000000000006], [5.4215999999999998,2.2256], +--R [5.5149999999999997,2.1899999999999999], [5.6096000000000004,2.1536], +--R [5.7054000000000009,2.1164000000000005], +--R [5.8023999999999996,2.0783999999999998], +--R [5.9005999999999998,2.0396000000000001], [6.,2.]] +--R , +--R +--R [[2.,2.], [2.0004,2.0396000000000001], +--R [2.0015999999999998,2.0783999999999998], +--R [2.0036000000000005,2.1164000000000005], [2.0064000000000002,2.1536], +--R [2.0099999999999998,2.1899999999999999], [2.0144000000000002,2.2256], +--R [2.0196000000000005,2.2604000000000006], [2.0255999999999998,2.2944], +--R [2.0324,2.3275999999999999], [2.04,2.3599999999999999], +--R [2.0484,2.3915999999999999], [2.0575999999999999,2.4224000000000006], +--R [2.0676000000000005,2.4523999999999999], +--R [2.0783999999999998,2.4815999999999998], +--R [2.0899999999999999,2.5099999999999998], +--R [2.1023999999999998,2.5375999999999999], [2.1156000000000006,2.5644], +--R [2.1295999999999999,2.5903999999999998], +--R [2.1444000000000001,2.6156000000000006], +--R [2.1600000000000001,2.6400000000000006], +--R [2.1764000000000001,2.6636000000000006], [2.1936,2.6863999999999999], +--R [2.2115999999999998,2.7084000000000001], +--R [2.2303999999999999,2.7296000000000005], [2.25,2.75], +--R [2.2704,2.7696000000000005], [2.2915999999999999,2.7884000000000002], +--R [2.3136000000000001,2.8064], [2.3363999999999998,2.8235999999999999], +--R [2.3599999999999999,2.8399999999999999], +--R [2.3843999999999999,2.8555999999999999], +--R [2.4096000000000002,2.8704000000000001], [2.4356,2.8843999999999999], +--R [2.4624000000000006,2.8976000000000006], +--R [2.4900000000000002,2.9100000000000001], +--R [2.5184000000000006,2.9216000000000006], +--R [2.5476000000000001,2.9323999999999999], +--R [2.5775999999999999,2.9424000000000001], [2.6084000000000005,2.9516], +--R [2.6400000000000006,2.96], [2.6724000000000006,2.9676], +--R [2.7056000000000004,2.9744000000000002], +--R [2.7395999999999998,2.9803999999999999], [2.7744,2.9855999999999998], +--R [2.8100000000000005,2.9900000000000002], [2.8464,2.9935999999999998], +--R [2.8835999999999999,2.9964], [2.9216000000000006,2.9984000000000002], +--R [2.9603999999999999,2.9996], [3.,3.], [3.0404,2.9996], +--R [3.0815999999999999,2.9984000000000002], [3.1236000000000006,2.9964], +--R [3.1663999999999999,2.9935999999999998], [3.21,2.9900000000000002], +--R [3.2544,2.9855999999999998], [3.2995999999999999,2.9803999999999999], +--R [3.3456000000000001,2.9744000000000002], [3.3923999999999999,2.9676], +--R [3.4399999999999999,2.96], [3.4883999999999999,2.9516], +--R [3.5375999999999999,2.9424000000000001], +--R [3.5876000000000001,2.9323999999999999], +--R [3.6383999999999999,2.9216000000000006], +--R [3.6899999999999999,2.9100000000000001], +--R [3.7423999999999999,2.8976000000000006], +--R [3.7955999999999999,2.8843999999999999], +--R [3.8496000000000006,2.8704000000000001], +--R [3.9043999999999999,2.8555999999999999], [3.96,2.8399999999999999], +--R [4.0164,2.8235999999999999], [4.0735999999999999,2.8064], +--R [4.1315999999999997,2.7884000000000002], +--R [4.1904000000000003,2.7696000000000005], [4.25,2.75], +--R [4.3103999999999996,2.7296000000000005], +--R [4.3715999999999999,2.7084000000000001], +--R [4.4336000000000002,2.6863999999999999], +--R [4.4964000000000013,2.6636000000000006], +--R [4.5599999999999996,2.6400000000000006], +--R [4.6243999999999996,2.6156000000000006], +--R [4.6896000000000004,2.5903999999999998], [4.7556000000000012,2.5644], +--R [4.8224,2.5375999999999999], [4.8899999999999997,2.5099999999999998], +--R [4.958400000000001,2.4815999999999998], +--R [5.0275999999999996,2.4523999999999999], +--R [5.0975999999999999,2.4224000000000006], +--R [5.1684000000000001,2.3915999999999999], +--R [5.2400000000000002,2.3599999999999999], +--R [5.3124000000000002,2.3275999999999999], [5.3856000000000002,2.2944], +--R [5.4596,2.2604000000000006], [5.5343999999999998,2.2256], +--R [5.6100000000000012,2.1899999999999999], [5.6863999999999999,2.1536], +--R [5.7636000000000003,2.1164000000000005], +--R [5.8415999999999997,2.0783999999999998], +--R [5.9203999999999999,2.0396000000000001], [6.,2.]] +--R , +--R +--R [[2.,2.], [2.0202,2.0396000000000001], +--R [2.0407999999999999,2.0783999999999998], +--R [2.0617999999999999,2.1164000000000005], [2.0832000000000006,2.1536], +--R [2.105,2.1899999999999999], [2.1272000000000002,2.2256], +--R [2.1497999999999999,2.2604000000000006], [2.1728000000000005,2.2944], +--R [2.1962000000000002,2.3275999999999999], +--R [2.2200000000000006,2.3599999999999999], +--R [2.2442000000000002,2.3915999999999999], +--R [2.2688000000000006,2.4224000000000006], +--R [2.2938000000000001,2.4523999999999999], +--R [2.3191999999999999,2.4815999999999998], +--R [2.3450000000000006,2.5099999999999998], [2.3712,2.5375999999999999], +--R [2.3978000000000002,2.5644], [2.4247999999999998,2.5903999999999998], +--R [2.4521999999999999,2.6156000000000006], [2.48,2.6400000000000006], +--R [2.5082,2.6636000000000006], [2.5367999999999999,2.6863999999999999], +--R [2.5657999999999999,2.7084000000000001], +--R [2.5952000000000002,2.7296000000000005], [2.625,2.75], +--R [2.6551999999999998,2.7696000000000005], [2.6858,2.7884000000000002], +--R [2.7168000000000001,2.8064], [2.7482000000000006,2.8235999999999999], +--R [2.7799999999999998,2.8399999999999999], +--R [2.8121999999999998,2.8555999999999999], +--R [2.8448000000000002,2.8704000000000001], +--R [2.8778000000000006,2.8843999999999999], [2.9112,2.8976000000000006], +--R [2.9449999999999998,2.9100000000000001], +--R [2.9792000000000005,2.9216000000000006], +--R [3.0137999999999998,2.9323999999999999], [3.0488,2.9424000000000001], +--R [3.0842000000000001,2.9516], [3.1200000000000001,2.96], +--R [3.1562000000000001,2.9676], [3.1928000000000001,2.9744000000000002], +--R [3.2298,2.9803999999999999], [3.2671999999999999,2.9855999999999998], +--R [3.3050000000000006,2.9900000000000002], +--R [3.3431999999999999,2.9935999999999998], [3.3818000000000001,2.9964], +--R [3.4207999999999998,2.9984000000000002], [3.4601999999999999,2.9996], +--R [3.5,3.], [3.5402000000000005,2.9996], [3.5808,2.9984000000000002], +--R [3.6217999999999999,2.9964], [3.6631999999999998,2.9935999999999998], +--R [3.7050000000000001,2.9900000000000002], +--R [3.7471999999999999,2.9855999999999998], +--R [3.7898000000000005,2.9803999999999999], +--R [3.8328000000000007,2.9744000000000002], [3.8761999999999999,2.9676], +--R [3.9199999999999999,2.96], [3.9641999999999999,2.9516], +--R [4.0087999999999999,2.9424000000000001], +--R [4.0537999999999998,2.9323999999999999], +--R [4.0991999999999997,2.9216000000000006], +--R [4.1449999999999996,2.9100000000000001], +--R [4.1912000000000003,2.8976000000000006], [4.2378,2.8843999999999999], +--R [4.2847999999999997,2.8704000000000001], +--R [4.3322000000000003,2.8555999999999999], +--R [4.3799999999999999,2.8399999999999999], +--R [4.4282000000000004,2.8235999999999999], [4.4767999999999999,2.8064], +--R [4.5258000000000003,2.7884000000000002], +--R [4.5751999999999997,2.7696000000000005], [4.625,2.75], +--R [4.6752000000000002,2.7296000000000005], +--R [4.7257999999999996,2.7084000000000001], +--R [4.7767999999999997,2.6863999999999999], +--R [4.8281999999999998,2.6636000000000006], +--R [4.8799999999999999,2.6400000000000006], +--R [4.9321999999999999,2.6156000000000006], +--R [4.9847999999999999,2.5903999999999998], [5.0377999999999998,2.5644], +--R [5.0911999999999997,2.5375999999999999], +--R [5.1449999999999996,2.5099999999999998], +--R [5.1992000000000012,2.4815999999999998], [5.2538,2.4523999999999999], +--R [5.3087999999999997,2.4224000000000006], +--R [5.3642000000000003,2.3915999999999999], +--R [5.4199999999999999,2.3599999999999999], +--R [5.4762000000000004,2.3275999999999999], [5.5327999999999999,2.2944], +--R [5.5898000000000003,2.2604000000000006], [5.6471999999999998,2.2256], +--R [5.7050000000000001,2.1899999999999999], [5.7632000000000012,2.1536], +--R [5.8217999999999996,2.1164000000000005], +--R [5.8807999999999998,2.0783999999999998], +--R [5.9401999999999999,2.0396000000000001], [6.,2.]] +--R , +--R +--R [[2.,2.], [2.04,2.0396000000000001], +--R [2.0800000000000001,2.0783999999999998], +--R [2.1200000000000001,2.1164000000000005], [2.1600000000000001,2.1536], +--R [2.2000000000000002,2.1899999999999999], [2.2400000000000002,2.2256], +--R [2.2799999999999998,2.2604000000000006], [2.3199999999999998,2.2944], +--R [2.3599999999999999,2.3275999999999999], +--R [2.3999999999999999,2.3599999999999999], +--R [2.4399999999999999,2.3915999999999999], [2.48,2.4224000000000006], +--R [2.5200000000000005,2.4523999999999999], +--R [2.5600000000000005,2.4815999999999998], +--R [2.6000000000000005,2.5099999999999998], +--R [2.6400000000000006,2.5375999999999999], [2.6800000000000006,2.5644], +--R [2.7200000000000006,2.5903999999999998], +--R [2.7599999999999998,2.6156000000000006], +--R [2.7999999999999998,2.6400000000000006], +--R [2.8399999999999999,2.6636000000000006], +--R [2.8799999999999999,2.6863999999999999], +--R [2.9199999999999999,2.7084000000000001], [2.96,2.7296000000000005], +--R [3.,2.75], [3.04,2.7696000000000005], +--R [3.0800000000000001,2.7884000000000002], [3.1200000000000001,2.8064], +--R [3.1600000000000001,2.8235999999999999], +--R [3.2000000000000002,2.8399999999999999], +--R [3.2400000000000002,2.8555999999999999], +--R [3.2799999999999998,2.8704000000000001], +--R [3.3199999999999998,2.8843999999999999], +--R [3.3599999999999999,2.8976000000000006], +--R [3.3999999999999999,2.9100000000000001], +--R [3.4399999999999999,2.9216000000000006], [3.48,2.9323999999999999], +--R [3.5200000000000005,2.9424000000000001], [3.5600000000000005,2.9516], +--R [3.6000000000000005,2.96], [3.6400000000000006,2.9676], +--R [3.6800000000000006,2.9744000000000002], +--R [3.7200000000000006,2.9803999999999999], +--R [3.7599999999999998,2.9855999999999998], +--R [3.7999999999999998,2.9900000000000002], +--R [3.8399999999999999,2.9935999999999998], [3.8799999999999999,2.9964], +--R [3.9199999999999999,2.9984000000000002], [3.96,2.9996], [4.,3.], +--R [4.0400000000000009,2.9996], [4.0800000000000001,2.9984000000000002], +--R [4.120000000000001,2.9964], [4.1600000000000001,2.9935999999999998], +--R [4.2000000000000011,2.9900000000000002], +--R [4.2400000000000002,2.9855999999999998], +--R [4.2800000000000011,2.9803999999999999], +--R [4.3200000000000003,2.9744000000000002], [4.3600000000000012,2.9676], +--R [4.4000000000000004,2.96], [4.4400000000000013,2.9516], +--R [4.4800000000000004,2.9424000000000001], +--R [4.5199999999999996,2.9323999999999999], +--R [4.5599999999999996,2.9216000000000006], +--R [4.5999999999999996,2.9100000000000001], +--R [4.6399999999999997,2.8976000000000006], +--R [4.6799999999999997,2.8843999999999999], +--R [4.7199999999999998,2.8704000000000001], +--R [4.7599999999999998,2.8555999999999999], +--R [4.7999999999999998,2.8399999999999999], +--R [4.8399999999999999,2.8235999999999999], [4.8799999999999999,2.8064], +--R [4.9199999999999999,2.7884000000000002], [4.96,2.7696000000000005], +--R [5.,2.75], [5.0400000000000009,2.7296000000000005], +--R [5.0800000000000001,2.7084000000000001], +--R [5.120000000000001,2.6863999999999999], +--R [5.1600000000000001,2.6636000000000006], +--R [5.2000000000000011,2.6400000000000006], +--R [5.2400000000000002,2.6156000000000006], +--R [5.2800000000000011,2.5903999999999998], [5.3200000000000003,2.5644], +--R [5.3600000000000012,2.5375999999999999], +--R [5.4000000000000004,2.5099999999999998], +--R [5.4400000000000013,2.4815999999999998], +--R [5.4800000000000004,2.4523999999999999], +--R [5.5199999999999996,2.4224000000000006], +--R [5.5599999999999996,2.3915999999999999], +--R [5.5999999999999996,2.3599999999999999], +--R [5.6399999999999997,2.3275999999999999], [5.6799999999999997,2.2944], +--R [5.7199999999999998,2.2604000000000006], [5.7599999999999998,2.2256], +--R [5.7999999999999998,2.1899999999999999], [5.8399999999999999,2.1536], +--R [5.8799999999999999,2.1164000000000005], +--R [5.9199999999999999,2.0783999999999998], [5.96,2.0396000000000001], +--R [6.,2.]] +--R ] +--R Type: List(List(Point(DoubleFloat))) --E 9 -- We do not do these during testing since graphics is not available @@ -5985,7 +6642,8 @@ BezoutMatrix(R,UP,M,Row,Col): Exports == Implementation where --S 1 of 1 )show BlowUpPackage ---R BlowUpPackage(K: Field,symb: List Symbol,PolyRing: FiniteAbelianMonoidRing(K,E),E: DirectProductCategory(# symb,NonNegativeInteger),BLMET: BlowUpMethodCategory) is a package constructor +--R +--R BlowUpPackage(K: Field,symb: List(Symbol),PolyRing: FiniteAbelianMonoidRing(K,E),E: DirectProductCategory(#(symb),NonNegativeInteger),BLMET: BlowUpMethodCategory) is a package constructor --R Abbreviation for BlowUpPackage is BLUPPACK --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for BLUPPACK @@ -5993,10 +6651,10 @@ BezoutMatrix(R,UP,M,Row,Col): Exports == Implementation where --R------------------------------- Operations -------------------------------- --R applyTransform : (PolyRing,BLMET) -> PolyRing --R biringToPolyRing : (DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),BLMET) -> PolyRing ---R newtonPolySlope : DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K) -> List List NonNegativeInteger +--R newtonPolySlope : DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K) -> List(List(NonNegativeInteger)) --R polyRingToBlUpRing : (PolyRing,BLMET) -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K) --R quadTransform : (DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),NonNegativeInteger,BLMET) -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K) ---R stepBlowUp : (DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),AffinePlane K,BLMET,K) -> Record(mult: NonNegativeInteger,subMult: NonNegativeInteger,blUpRec: List Record(recTransStr: DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),recPoint: AffinePlane K,recChart: BLMET,definingExtension: K)) +--R stepBlowUp : (DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),AffinePlane(K),BLMET,K) -> Record(mult: NonNegativeInteger,subMult: NonNegativeInteger,blUpRec: List(Record(recTransStr: DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],K),recPoint: AffinePlane(K),recChart: BLMET,definingExtension: K))) --R --E 1 @@ -7102,7 +7760,7 @@ D(product(f(i,x),i=1..m),x) --R (2) | | f(i,x)> -------- --R | | --+ f(i,x) --R i= 1 i= 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 2 --S 3 of 6 @@ -7126,8 +7784,8 @@ displayRow(n)==output center blankSeparate pascalRow(n) --S 6 of 6 for i in 0..7 repeat displayRow i --R ---R Compiling function pascalRow with type NonNegativeInteger -> List ---R OutputForm +--R Compiling function pascalRow with type NonNegativeInteger -> List( +--R OutputForm) --R Compiling function displayRow with type NonNegativeInteger -> Void --R 1 --R 1 1 @@ -9705,7 +10363,7 @@ complete 1 --R --R --R (1) (1) ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 1 --S 2 of 47 @@ -9715,7 +10373,7 @@ complete 2 --R 1 1 2 --R (2) - (2) + - (1 ) --R 2 2 ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 2 --S 3 of 47 @@ -9725,7 +10383,7 @@ complete 3 --R 1 1 1 3 --R (3) - (3) + - (2 1) + - (1 ) --R 3 2 6 ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 3 --S 4 of 47 @@ -9744,7 +10402,7 @@ complete 7 --R 1 5 1 7 --R --- (2 1 ) + ---- (1 ) --R 240 5040 ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 4 --S 5 of 47 @@ -9763,7 +10421,7 @@ elementary 7 --R 1 5 1 7 --R - --- (2 1 ) + ---- (1 ) --R 240 5040 ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 5 --S 6 of 47 @@ -9778,7 +10436,7 @@ alternating 7 --R 1 7 --R ---- (1 ) --R 2520 ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 6 --S 7 of 47 @@ -9788,7 +10446,7 @@ cyclic 7 --R 6 1 7 --R (7) - (7) + - (1 ) --R 7 7 ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 7 --S 8 of 47 @@ -9798,7 +10456,7 @@ dihedral 7 --R 3 1 3 1 7 --R (8) - (7) + - (2 1) + -- (1 ) --R 7 2 14 ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 8 --S 9 of 47 @@ -9809,7 +10467,7 @@ graphs 5 --R 1 1 2 1 2 1 3 1 4 2 1 3 4 1 10 --R - (6 3 1) + - (5 ) + - (4 2) + - (3 1) + - (2 1 ) + -- (2 1 ) + --- (1 ) --R 6 5 4 6 8 12 120 ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 9 --S 10 of 47 @@ -9817,7 +10475,7 @@ cap(complete 2**2, complete 2*complete 1**2) --R --R --R (10) 4 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 10 --S 11 of 47 @@ -9825,7 +10483,7 @@ cap(elementary 2**2, complete 2*complete 1**2) --R --R --R (11) 2 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 11 --S 12 of 47 @@ -9833,7 +10491,7 @@ cap(complete 3*complete 2*complete 1,complete 2**2*complete 1**2) --R --R --R (12) 24 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 12 --S 13 of 47 @@ -9841,7 +10499,7 @@ cap(elementary 3*elementary 2*elementary 1,complete 2**2*complete 1**2) --R --R --R (13) 8 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 13 --S 14 of 47 @@ -9849,15 +10507,16 @@ cap(complete 3*complete 2*complete 1,elementary 2**2*elementary 1**2) --R --R --R (14) 8 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 14 --S 15 of 47 -eval(cup(complete 3*complete 2*complete 1, cup(complete 2**2*complete 1**2,complete 2**3))) +eval(cup(complete 3*complete 2*complete 1, _ + cup(complete 2**2*complete 1**2,complete 2**3))) --R --R --R (15) 1500 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 15 --S 16 of 47 @@ -9867,7 +10526,7 @@ square:=dihedral 4 --R 1 3 2 1 2 1 4 --R (16) - (4) + - (2 ) + - (2 1 ) + - (1 ) --R 4 8 4 8 ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 16 --S 17 of 47 @@ -9875,7 +10534,7 @@ cap(complete 2**2,square) --R --R --R (17) 2 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 17 --S 18 of 47 @@ -9883,7 +10542,7 @@ cap(complete 3*complete 2**2,dihedral 7) --R --R --R (18) 18 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 18 --S 19 of 47 @@ -9891,7 +10550,7 @@ cap(graphs 5,complete 7*complete 3) --R --R --R (19) 4 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 19 --S 20 of 47 @@ -9904,12 +10563,12 @@ s(x) == powerSum(x) cube:=(1/24)*(s 1**8+9*s 2**4 + 8*s 3**2*s 1**2+6*s 4**2) --R --R Compiling function s with type PositiveInteger -> ---R SymmetricPolynomial Fraction Integer +--R SymmetricPolynomial(Fraction(Integer)) --R --R 1 2 1 2 2 3 4 1 8 --R (21) - (4 ) + - (3 1 ) + - (2 ) + -- (1 ) --R 4 3 8 24 ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 21 --S 22 of 47 @@ -9917,7 +10576,7 @@ cap(complete 4**2,cube) --R --R --R (22) 7 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 22 --S 23 of 47 @@ -9925,7 +10584,7 @@ cap(complete 2**3*complete 1**2,wreath(elementary 4,elementary 2)) --R --R --R (23) 7 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 23 --S 24 of 47 @@ -9933,7 +10592,7 @@ cap(complete 2**3*complete 1**2,wreath(elementary 4,complete 2)) --R --R --R (24) 17 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 24 --S 25 of 47 @@ -9941,7 +10600,7 @@ cap(complete 2**3*complete 1**2,wreath(complete 4,elementary 2)) --R --R --R (25) 10 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 25 --S 26 of 47 @@ -9949,7 +10608,7 @@ cap(complete 2**3*complete 1**2,wreath(complete 4,complete 2)) --R --R --R (26) 23 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 26 --S 27 of 47 @@ -9957,7 +10616,7 @@ x: ULS(FRAC INT,'x,0) := 'x --R --R --R (27) x ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 27 --S 28 of 47 @@ -9982,11 +10641,11 @@ ZeroOrOne n == 1+x**n ZeroOrOne 5 --R --R Compiling function ZeroOrOne with type Integer -> ---R UnivariateLaurentSeries(Fraction Integer,x,0) +--R UnivariateLaurentSeries(Fraction(Integer),x,0) --R --R 5 --R (31) 1 + x ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 31 --S 32 of 47 @@ -9999,11 +10658,11 @@ Integers n == 1/(1-x**n) Integers 5 --R --R Compiling function Integers with type Integer -> ---R UnivariateLaurentSeries(Fraction Integer,x,0) +--R UnivariateLaurentSeries(Fraction(Integer),x,0) --R --R 5 10 11 --R (33) 1 + x + x + O(x ) ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 33 --S 34 of 47 @@ -10018,7 +10677,7 @@ eval(ZeroOrOne, graphs 5) --R --R 2 3 4 5 6 7 8 9 10 11 --R (34) 1 + x + 2x + 4x + 6x + 6x + 6x + 4x + 2x + x + x + O(x ) ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 35 --S 36 of 47 @@ -10027,7 +10686,7 @@ eval(ZeroOrOne,dihedral 8) --R --R 2 3 4 5 6 7 8 --R (35) 1 + x + 4x + 5x + 8x + 5x + 4x + x + x ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 36 --S 37 of 47 @@ -10037,7 +10696,7 @@ eval(Integers,complete 4) --R (36) --R 2 3 4 5 6 7 8 9 10 11 --R 1 + x + 2x + 3x + 5x + 6x + 9x + 11x + 15x + 18x + 23x + O(x ) ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 37 --S 38 of 47 @@ -10050,7 +10709,7 @@ eval(Integers,elementary 4) --R + --R 17 --R O(x ) ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 38 --S 39 of 47 @@ -10059,7 +10718,7 @@ eval(ZeroOrOne,cube) --R --R 2 3 4 5 6 7 8 --R (38) 1 + x + 3x + 3x + 7x + 3x + 3x + x + x ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 39 --S 40 of 47 @@ -10072,7 +10731,7 @@ eval(Integers,cube) --R + --R 11 --R O(x ) ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 40 --S 41 of 47 @@ -10085,7 +10744,7 @@ eval(Integers,graphs 5) --R + --R 11 --R O(x ) ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 41 --S 42 of 47 @@ -10098,7 +10757,7 @@ eval(ZeroOrOne ,graphs 15) --R + --R 11 --R O(x ) ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 42 --S 43 of 47 @@ -10106,7 +10765,7 @@ cap(dihedral 30,complete 7*complete 8*complete 5*complete 10) --R --R --R (42) 49958972383320 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 43 --S 44 of 47 @@ -10125,7 +10784,7 @@ sf3221:= SFunction [3,2,2,1] --R 1 2 4 1 6 1 8 --R -- (2 1 ) - --- (2 1 ) + --- (1 ) --R 96 144 576 ---R Type: SymmetricPolynomial Fraction Integer +--R Type: SymmetricPolynomial(Fraction(Integer)) --E 44 --S 45 of 47 @@ -10133,7 +10792,7 @@ cap(sf3221,complete 2**4) --R --R --R (44) 3 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 45 --S 46 of 47 @@ -10141,7 +10800,7 @@ cap(sf3221, powerSum 1**8) --R --R --R (45) 70 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 46 --S 47 of 47 @@ -10154,7 +10813,7 @@ eval(Integers, sf3221) --R + --R 19 20 --R 432x + O(x ) ---R Type: UnivariateLaurentSeries(Fraction Integer,x,0) +--R Type: UnivariateLaurentSeries(Fraction(Integer),x,0) --E 47 )spool )lisp (bye) @@ -11356,7 +12015,8 @@ DegreeReductionPackage(R1, R2): Cat == Capsule where --S 1 of 1 )show DesingTreePackage ---R DesingTreePackage(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K,PCS: LocalPowerSeriesCategory K,Plc: PlacesCategory(K,PCS),DIVISOR: DivisorCategory Plc,InfClsPoint: InfinitlyClosePointCategory(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET),DesTree: DesingTreeCategory InfClsPoint,BLMET: BlowUpMethodCategory) is a package constructor +--R +--R DesingTreePackage(K: Field,symb: List(Symbol),PolyRing: PolynomialCategory(K,E,OrderedVariableList(symb)),E: DirectProductCategory(#(symb),NonNegativeInteger),ProjPt: ProjectiveSpaceCategory(K),PCS: LocalPowerSeriesCategory(K),Plc: PlacesCategory(K,PCS),DIVISOR: DivisorCategory(Plc),InfClsPoint: InfinitlyClosePointCategory(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET),DesTree: DesingTreeCategory(InfClsPoint),BLMET: BlowUpMethodCategory) is a package constructor --R Abbreviation for DesingTreePackage is DTP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for DTP @@ -11365,17 +12025,17 @@ DegreeReductionPackage(R1, R2): Cat == Capsule where --R fullParamInit : DesTree -> Void genusNeg : PolyRing -> Integer --R initParLocLeaves : DesTree -> Void --R adjunctionDivisor : DesTree -> DIVISOR ---R blowUp : InfClsPoint -> List InfClsPoint +--R blowUp : InfClsPoint -> List(InfClsPoint) --R blowUpWithExcpDiv : DesTree -> Void ---R desingTree : PolyRing -> List DesTree +--R desingTree : PolyRing -> List(DesTree) --R desingTreeAtPoint : (ProjPt,PolyRing) -> DesTree --R divisorAtDesingTree : (PolyRing,DesTree) -> DIVISOR --R genus : PolyRing -> NonNegativeInteger ---R genusTree : (NonNegativeInteger,List DesTree) -> NonNegativeInteger ---R genusTreeNeg : (NonNegativeInteger,List DesTree) -> Integer +--R genusTree : (NonNegativeInteger,List(DesTree)) -> NonNegativeInteger +--R genusTreeNeg : (NonNegativeInteger,List(DesTree)) -> Integer --R inBetweenExcpDiv : DesTree -> DIVISOR --R initializeParamOfPlaces : DesTree -> Void ---R initializeParamOfPlaces : (DesTree,List PolyRing) -> Void +--R initializeParamOfPlaces : (DesTree,List(PolyRing)) -> Void --R --E 1 @@ -12627,6 +13287,7 @@ generalized version. --S 1 of 5 )show DoubleFloatSpecialFunctions +--R --R DoubleFloatSpecialFunctions is a package constructor --R Abbreviation for DoubleFloatSpecialFunctions is DFSFUN --R This constructor is exposed in this frame. @@ -12636,37 +13297,37 @@ generalized version. --R Gamma : DoubleFloat -> DoubleFloat fresnelC : Float -> Float --R fresnelS : Float -> Float --R Beta : (DoubleFloat,DoubleFloat) -> DoubleFloat ---R Beta : (Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat ---R E1 : DoubleFloat -> OnePointCompletion DoubleFloat ---R Ei : OnePointCompletion DoubleFloat -> OnePointCompletion DoubleFloat ---R Ei1 : OnePointCompletion DoubleFloat -> OnePointCompletion DoubleFloat ---R Ei2 : OnePointCompletion DoubleFloat -> OnePointCompletion DoubleFloat ---R Ei3 : OnePointCompletion DoubleFloat -> OnePointCompletion DoubleFloat ---R Ei4 : OnePointCompletion DoubleFloat -> OnePointCompletion DoubleFloat ---R Ei5 : OnePointCompletion DoubleFloat -> OnePointCompletion DoubleFloat ---R Ei6 : OnePointCompletion DoubleFloat -> OnePointCompletion DoubleFloat ---R En : (Integer,DoubleFloat) -> OnePointCompletion DoubleFloat ---R Gamma : Complex DoubleFloat -> Complex DoubleFloat ---R airyAi : Complex DoubleFloat -> Complex DoubleFloat +--R Beta : (Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat) +--R E1 : DoubleFloat -> OnePointCompletion(DoubleFloat) +--R Ei : OnePointCompletion(DoubleFloat) -> OnePointCompletion(DoubleFloat) +--R Ei1 : OnePointCompletion(DoubleFloat) -> OnePointCompletion(DoubleFloat) +--R Ei2 : OnePointCompletion(DoubleFloat) -> OnePointCompletion(DoubleFloat) +--R Ei3 : OnePointCompletion(DoubleFloat) -> OnePointCompletion(DoubleFloat) +--R Ei4 : OnePointCompletion(DoubleFloat) -> OnePointCompletion(DoubleFloat) +--R Ei5 : OnePointCompletion(DoubleFloat) -> OnePointCompletion(DoubleFloat) +--R Ei6 : OnePointCompletion(DoubleFloat) -> OnePointCompletion(DoubleFloat) +--R En : (Integer,DoubleFloat) -> OnePointCompletion(DoubleFloat) +--R Gamma : Complex(DoubleFloat) -> Complex(DoubleFloat) +--R airyAi : Complex(DoubleFloat) -> Complex(DoubleFloat) --R airyAi : DoubleFloat -> DoubleFloat --R airyBi : DoubleFloat -> DoubleFloat ---R airyBi : Complex DoubleFloat -> Complex DoubleFloat +--R airyBi : Complex(DoubleFloat) -> Complex(DoubleFloat) --R besselI : (DoubleFloat,DoubleFloat) -> DoubleFloat ---R besselI : (Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat +--R besselI : (Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat) --R besselJ : (DoubleFloat,DoubleFloat) -> DoubleFloat ---R besselJ : (Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat +--R besselJ : (Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat) --R besselK : (DoubleFloat,DoubleFloat) -> DoubleFloat ---R besselK : (Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat +--R besselK : (Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat) --R besselY : (DoubleFloat,DoubleFloat) -> DoubleFloat ---R besselY : (Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat +--R besselY : (Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat) --R digamma : DoubleFloat -> DoubleFloat ---R digamma : Complex DoubleFloat -> Complex DoubleFloat +--R digamma : Complex(DoubleFloat) -> Complex(DoubleFloat) --R hypergeometric0F1 : (DoubleFloat,DoubleFloat) -> DoubleFloat ---R hypergeometric0F1 : (Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat +--R hypergeometric0F1 : (Complex(DoubleFloat),Complex(DoubleFloat)) -> Complex(DoubleFloat) --R logGamma : DoubleFloat -> DoubleFloat ---R logGamma : Complex DoubleFloat -> Complex DoubleFloat +--R logGamma : Complex(DoubleFloat) -> Complex(DoubleFloat) --R polygamma : (NonNegativeInteger,DoubleFloat) -> DoubleFloat ---R polygamma : (NonNegativeInteger,Complex DoubleFloat) -> Complex DoubleFloat +--R polygamma : (NonNegativeInteger,Complex(DoubleFloat)) -> Complex(DoubleFloat) --R --E 1 @@ -12777,7 +13438,7 @@ pearceyC:=_ --R [48.0,0.45616], [48.25,0.448425], [48.5,0.44393], [48.75,0.442936], --R [49.0,0.445486], [49.25,0.451406], [49.5,0.460311], [49.75,0.471633], --R [50.0,0.484658]] ---R Type: List List Float +--R Type: List(List(Float)) --E 2 --S 3 of 5 @@ -12986,7 +13647,7 @@ pearceyC:=_ --R [49.5,0.460311,0.3803109193 0779099871,- 0.0800000806 9220900129], --R [49.75,0.471633,0.5230763977 8694224618,0.0514433977 8694224618], --R [50.0,0.484658,0.4157389501 9459370449,- 0.0689190498 0540629551]] ---R Type: List List Float +--R Type: List(List(Float)) --E 3 --S 4 of 4 @@ -13096,7 +13757,7 @@ pearceyS:=_ --R [48.0,0.537309], [48.25,0.525234], [48.5,0.511657], [48.75,0.497426], --R [49.0,0.483428], [49.25,0.470529], [49.5,0.459523], [49.75,0.451084], --R [50.0,0.445722]] ---R Type: List List Float +--R Type: List(List(Float)) --E 4 --S 5 of 5 @@ -13305,7 +13966,7 @@ pearceyS:=_ --R [49.5,0.459523,0.4156435749 1719610661,- 0.0438794250 8280389339], --R [49.75,0.451084,0.4230292350 336881258,- 0.0280547649 663118742], --R [50.0,0.445722,0.3044252284 9276788618,- 0.1412967715 072321138]] ---R Type: List List Float +--R Type: List(List(Float)) --E 5 )spool @@ -17449,7 +18110,7 @@ D(cos(3*x+6*y),x) --I1>exit ElementaryFunction.sin,63 : ((1 # (1 0 . 1)) 0 . 1) --R --R (1) - 3sin(6y + 3x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 2 --S 3 of 32 @@ -17466,7 +18127,7 @@ D(sin(3*x+6*y),x) --R --R --R (2) 3cos(6y + 3x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 4 --S 5 of 32 @@ -17474,7 +18135,7 @@ D(cos(3*x+6*y),x) --R --R --R (3) - 3sin(6y + 3x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 5 \end{chunk} @@ -17489,7 +18150,7 @@ D(tan(3*x+6*y),x) --R --R 2 --R (4) 3tan(6y + 3x) + 3 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 6 --S 7 of 32 @@ -17497,7 +18158,7 @@ simplify ((3*tan(6*y+3*x)^2+3) - (3*sec(3*x+6*y)^2)) --R --R --R (5) 0 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 7 \end{chunk} @@ -17511,7 +18172,7 @@ D(cot(3*x+6*y),x) --R --R 2 --R (6) - 3cot(6y + 3x) - 3 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 8 --S 9 of 32 @@ -17519,7 +18180,7 @@ simplify ((-3*cot(6*y+3*x)^2-3) -(-3*csc(3*x+6*y)^2)) --R --R --R (7) 0 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 9 --S 10 of 32 @@ -17527,7 +18188,7 @@ D(sec(3*x+6*y),x) --R --R --R (8) 3sec(6y + 3x)tan(6y + 3x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 10 --S 11 of 32 @@ -17535,7 +18196,7 @@ D(csc(3*x+6*y),x) --R --R --R (9) - 3cot(6y + 3x)csc(6y + 3x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 11 --S 12 of 32 @@ -17547,7 +18208,7 @@ D(asin(3*x+6*y),x) --R +------------------------+ --R | 2 2 --R \|- 36y - 36x y - 9x + 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 12 --S 13 of 32 @@ -17559,7 +18220,7 @@ D(acos(3*x+6*y),x) --R +------------------------+ --R | 2 2 --R \|- 36y - 36x y - 9x + 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 13 --S 14 of 32 @@ -17570,7 +18231,7 @@ D(atan(3*x+6*y),x) --R (12) ---------------------- --R 2 2 --R 36y + 36x y + 9x + 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 14 --S 15 of 32 @@ -17581,7 +18242,7 @@ D(acot(3*x+6*y),x) --R (13) - ---------------------- --R 2 2 --R 36y + 36x y + 9x + 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 15 \end{chunk} @@ -17600,7 +18261,7 @@ D(asec(3*x+6*y),x) --R +----------------------+ --R | 2 2 --R (2y + x)\|36y + 36x y + 9x - 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 16 \end{chunk} @@ -17617,7 +18278,7 @@ If we use the same formula for this example: --R +----------------------+ --R | 2 2 --R (2y + x)\|36y + 36x y + 9x - 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 17 \end{chunk} @@ -17636,7 +18297,7 @@ D(acsc(3*x+6*y),x) --R +----------------------+ --R | 2 2 --R (2y + x)\|36y + 36x y + 9x - 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 18 --S 19 of 32 @@ -17644,7 +18305,7 @@ D(sinh(3*x+6*y),x) --R --R --R (17) 3cosh(6y + 3x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 19 --S 20 of 32 @@ -17652,7 +18313,7 @@ D(cosh(3*x+6*y),x) --R --R --R (18) 3sinh(6y + 3x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 20 \end{chunk} @@ -17667,7 +18328,7 @@ D(tanh(3*x+6*y),x) --R --R 2 --R (19) - 3tanh(6y + 3x) + 3 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 21 --S 22 of 32 @@ -17675,7 +18336,7 @@ simplify ((-3*tanh(6*y+3*x)^2+3)-(3*sech(3*x+6*y)^2)) --R --R --R (20) 0 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 22 \end{chunk} @@ -17690,7 +18351,7 @@ D(coth(3*x+6*y),x) --R --R 2 --R (21) - 3coth(6y + 3x) + 3 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 23 --S 24 of 32 @@ -17698,7 +18359,7 @@ simplify ((-3*coth(6*y+3*x)^2+3) - (-3*csch(3*x+6*y)^2)) --R --R --R (22) 0 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 24 --S 25 of 32 @@ -17706,7 +18367,7 @@ D(sech(3*x+6*y),x) --R --R --R (23) - 3sech(6y + 3x)tanh(6y + 3x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 25 --S 26 of 32 @@ -17714,7 +18375,7 @@ D(csch(3*x+6*y),x) --R --R --R (24) - 3coth(6y + 3x)csch(6y + 3x) ---R Type: Expression Integer +--R Type: Expression(Integer) --E 26 --S 27 of 32 @@ -17726,7 +18387,7 @@ D(asinh(3*x+6*y),x) --R +----------------------+ --R | 2 2 --R \|36y + 36x y + 9x + 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 27 \end{chunk} @@ -17744,7 +18405,7 @@ D(acosh(3*x+6*y),x) --R +----------------------+ --R | 2 2 --R \|36y + 36x y + 9x - 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 28 --S 29 of 32 @@ -17755,7 +18416,7 @@ D(atanh(3*x+6*y),x) --R (27) - ---------------------- --R 2 2 --R 36y + 36x y + 9x - 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 29 --S 30 of 32 @@ -17766,7 +18427,7 @@ D(acoth(3*x+6*y),x) --R (28) - ---------------------- --R 2 2 --R 36y + 36x y + 9x - 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 30 \end{chunk} @@ -17790,7 +18451,7 @@ D(asech(3*x+6*y),x) --R +------------------------+ --R | 2 2 --R (2y + x)\|- 36y - 36x y - 9x + 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 31 \end{chunk} @@ -17810,7 +18471,7 @@ D(acsch(3*x+6*y),x) --R +----------------------+ --R | 2 2 --R (2y + x)\|36y + 36x y + 9x + 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 32 )spool @@ -22197,7 +22858,7 @@ an:=[a1,a2,a3] --R [3y x + 2y x + y + 9x + 5x - 3, 2y x - y x - y + 6x - 2x - 3x + 3, --R 3 2 3 2 --R y x + y x + 3x + 2x ] ---R Type: List DistributedMultivariatePolynomial([y,x],Integer) +--R Type: List(DistributedMultivariatePolynomial([y,x],Integer)) --E 4 --S 5 of 24 @@ -22205,7 +22866,7 @@ euclideanGroebner(an) --R --R 2 3 2 --R (5) [y x - y + x + 3,2y + 2x - 3x - 6,2x - 5x - 5x] ---R Type: List DistributedMultivariatePolynomial([y,x],Integer) +--R Type: List(DistributedMultivariatePolynomial([y,x],Integer)) --E 5 --S 6 of 24 @@ -22299,7 +22960,7 @@ euclideanGroebner(an,"redcrit") --R --R 2 3 2 --R (6) [y x - y + x + 3,2y + 2x - 3x - 6,2x - 5x - 5x] ---R Type: List DistributedMultivariatePolynomial([y,x],Integer) +--R Type: List(DistributedMultivariatePolynomial([y,x],Integer)) --E 6 --S 7 of 24 @@ -22372,7 +23033,7 @@ euclideanGroebner(an,"info") --R --R 2 3 2 --R (7) [y x - y + x + 3,2y + 2x - 3x - 6,2x - 5x - 5x] ---R Type: List DistributedMultivariatePolynomial([y,x],Integer) +--R Type: List(DistributedMultivariatePolynomial([y,x],Integer)) --E 7 --S 8 of 24 @@ -22530,7 +23191,7 @@ euclideanGroebner(an,"info","redcrit") --R --R 2 3 2 --R (8) [y x - y + x + 3,2y + 2x - 3x - 6,2x - 5x - 5x] ---R Type: List DistributedMultivariatePolynomial([y,x],Integer) +--R Type: List(DistributedMultivariatePolynomial([y,x],Integer)) --E 8 --S 9 of 24 @@ -22565,7 +23226,7 @@ bn:=[b1,b2,b3] --R [3y x + 2y x + 9x + y + 5x - 3, 2y x + 6x - y x - 2x - y - 3x + 3, --R 3 2 3 2 --R y x + y x + 3x + 2x ] ---R Type: List HomogeneousDistributedMultivariatePolynomial([y,x],Integer) +--R Type: List(HomogeneousDistributedMultivariatePolynomial([y,x],Integer)) --E 12 --S 13 of 24 @@ -22573,7 +23234,7 @@ euclideanGroebner(bn) --R --R 2 2 --R (13) [2y - 5y - 8x - 3,y x - y + x + 3,2x + 2y - 3x - 6] ---R Type: List HomogeneousDistributedMultivariatePolynomial([y,x],Integer) +--R Type: List(HomogeneousDistributedMultivariatePolynomial([y,x],Integer)) --E 13 --S 14 of 24 @@ -22650,7 +23311,7 @@ euclideanGroebner(bn,"redcrit") --R --R 2 2 --R (14) [2y - 5y - 8x - 3,y x - y + x + 3,2x + 2y - 3x - 6] ---R Type: List HomogeneousDistributedMultivariatePolynomial([y,x],Integer) +--R Type: List(HomogeneousDistributedMultivariatePolynomial([y,x],Integer)) --E 14 --S 15 of 24 @@ -22716,7 +23377,7 @@ euclideanGroebner(bn,"info") --R --R 2 2 --R (15) [2y - 5y - 8x - 3,y x - y + x + 3,2x + 2y - 3x - 6] ---R Type: List HomogeneousDistributedMultivariatePolynomial([y,x],Integer) +--R Type: List(HomogeneousDistributedMultivariatePolynomial([y,x],Integer)) --E 15 --S 16 of 24 @@ -22850,7 +23511,7 @@ euclideanGroebner(bn,"info","redcrit") --R --R 2 2 --R (16) [2y - 5y - 8x - 3,y x - y + x + 3,2x + 2y - 3x - 6] ---R Type: List HomogeneousDistributedMultivariatePolynomial([y,x],Integer) +--R Type: List(HomogeneousDistributedMultivariatePolynomial([y,x],Integer)) --E 16 --S 17 of 24 @@ -22858,7 +23519,7 @@ c1:GDMP([y,x],INT,DIRPROD(2,NNI)):= (9*x**2 + 5*x - 3)+ y*(3*x**2 + 2*x + 1) --R --R 2 2 --R (17) 3y x + 2y x + y + 9x + 5x - 3 ---RType: GeneralDistributedMultivariatePolynomial([y,x],Integer,DirectProduct(2,NonNegativeInteger)) +--IType: GeneralDistributedMultivariatePolynomial([y,x],Integer,... --E 17 --S 18 of 24 @@ -22866,7 +23527,7 @@ c2:GDMP([y,x],INT,DIRPROD(2,NNI)):= (6*x**3 - 2*x**2 - 3*x +3) + y*(2*x**3 - x - --R --R 3 3 2 --R (18) 2y x - y x - y + 6x - 2x - 3x + 3 ---RType: GeneralDistributedMultivariatePolynomial([y,x],Integer,DirectProduct(2,NonNegativeInteger)) +--IType: GeneralDistributedMultivariatePolynomial([y,x],Integer,... --E 18 --S 19 of 24 @@ -22874,7 +23535,7 @@ c3:GDMP([y,x],INT,DIRPROD(2,NNI)):= (3*x**3 + 2*x**2) + y*(x**3 + x**2) --R --R 3 2 3 2 --R (19) y x + y x + 3x + 2x ---RType: GeneralDistributedMultivariatePolynomial([y,x],Integer,DirectProduct(2,NonNegativeInteger)) +--IType: GeneralDistributedMultivariatePolynomial([y,x],Integer,... --E 19 --S 20 of 24 @@ -22885,7 +23546,7 @@ cn:=[c1,c2,c3] --R [3y x + 2y x + y + 9x + 5x - 3, 2y x - y x - y + 6x - 2x - 3x + 3, --R 3 2 3 2 --R y x + y x + 3x + 2x ] ---RType: List GeneralDistributedMultivariatePolynomial([y,x],Integer,DirectProduct(2,NonNegativeInteger)) +--IType: List(GeneralDistributedMultivariatePolynomial([y,x],Integer,... --E 20 --S 21 of 24 @@ -22893,7 +23554,7 @@ euclideanGroebner(cn) --R --R 2 3 2 --R (21) [y x - y + x + 3,2y + 2x - 3x - 6,2x - 5x - 5x] ---RType: List GeneralDistributedMultivariatePolynomial([y,x],Integer,DirectProduct(2,NonNegativeInteger)) +--IType: List(GeneralDistributedMultivariatePolynomial([y,x],Integer,... --E 21 --S 22 of 24 @@ -22987,7 +23648,7 @@ euclideanGroebner(cn,"redcrit") --R --R 2 3 2 --R (22) [y x - y + x + 3,2y + 2x - 3x - 6,2x - 5x - 5x] ---RType: List GeneralDistributedMultivariatePolynomial([y,x],Integer,DirectProduct(2,NonNegativeInteger)) +--IType: List(GeneralDistributedMultivariatePolynomial([y,x],Integer,... --E 22 --S 23 of 24 @@ -23060,7 +23721,7 @@ euclideanGroebner(cn,"info") --R --R 2 3 2 --R (23) [y x - y + x + 3,2y + 2x - 3x - 6,2x - 5x - 5x] ---RType: List GeneralDistributedMultivariatePolynomial([y,x],Integer,DirectProduct(2,NonNegativeInteger)) +--IType: List(GeneralDistributedMultivariatePolynomial([y,x],Integer,... --E 23 --S 24 of 24 @@ -23218,7 +23879,7 @@ euclideanGroebner(cn,"info","redcrit") --R --R 2 3 2 --R (24) [y x - y + x + 3,2y + 2x - 3x - 6,2x - 5x - 5x] ---RType: List GeneralDistributedMultivariatePolynomial([y,x],Integer,DirectProduct(2,NonNegativeInteger)) +--IType: List(GeneralDistributedMultivariatePolynomial([y,x],Integer,... --E 24 )spool @@ -26540,7 +27201,7 @@ f := factor(720) --R --R 4 2 --R (2) 2 3 5 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 2 --S 3 of 6 @@ -26550,7 +27211,7 @@ map(double,f) --R --R 4 2 --R (3) 2 4 6 10 ---R Type: Factored Integer +--R Type: Factored(Integer) --E 3 --S 4 of 6 @@ -26562,11 +27223,11 @@ makePoly(b) == x + b --S 5 of 6 g := map(makePoly,f) --R ---R Compiling function makePoly with type Integer -> Polynomial Integer +--R Compiling function makePoly with type Integer -> Polynomial(Integer) --R --R 4 2 --R (5) (x + 1)(x + 2) (x + 3) (x + 5) ---R Type: Factored Polynomial Integer +--R Type: Factored(Polynomial(Integer)) --E 5 --S 6 of 6 @@ -26885,14 +27546,15 @@ FactoringUtilities(E,OV,R,P) : C == T where --S 1 of 1 )show FactorisationOverPseudoAlgebraicClosureOfAlgExtOfRationalNumber ---R FactorisationOverPseudoAlgebraicClosureOfAlgExtOfRationalNumber K: PseudoAlgebraicClosureOfAlgExtOfRationalNumberCategory is a package constructor +--R +--R FactorisationOverPseudoAlgebraicClosureOfAlgExtOfRationalNumber(K: PseudoAlgebraicClosureOfAlgExtOfRationalNumberCategory) is a package constructor --R Abbreviation for FactorisationOverPseudoAlgebraicClosureOfAlgExtOfRationalNumber is FACTEXT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for FACTEXT --R --R------------------------------- Operations -------------------------------- ---R factor : (SparseUnivariatePolynomial K,K) -> Factored SparseUnivariatePolynomial K ---R factorSqFree : (SparseUnivariatePolynomial K,K) -> Factored SparseUnivariatePolynomial K +--R factor : (SparseUnivariatePolynomial(K),K) -> Factored(SparseUnivariatePolynomial(K)) +--R factorSqFree : (SparseUnivariatePolynomial(K),K) -> Factored(SparseUnivariatePolynomial(K)) --R --E 1 @@ -27065,14 +27727,14 @@ FactorisationOverPseudoAlgebraicClosureOfAlgExtOfRationalNumber(K):Exports == Im --S 1 of 1 )show FactorisationOverPseudoAlgebraicClosureOfRationalNumber --R ---R FactorisationOverPseudoAlgebraicClosureOfRationalNumber K: PseudoAlgebraicClosureOfRationalNumberCategory is a package constructor +--R FactorisationOverPseudoAlgebraicClosureOfRationalNumber(K: PseudoAlgebraicClosureOfRationalNumberCategory) is a package constructor --R Abbreviation for FactorisationOverPseudoAlgebraicClosureOfRationalNumber is FACTRN --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for FACTRN --R --R------------------------------- Operations -------------------------------- ---R factor : (SparseUnivariatePolynomial K,K) -> Factored SparseUnivariatePolynomial K ---R factorSqFree : (SparseUnivariatePolynomial K,K) -> Factored SparseUnivariatePolynomial K +--R factor : (SparseUnivariatePolynomial(K),K) -> Factored(SparseUnivariatePolynomial(K)) +--R factorSqFree : (SparseUnivariatePolynomial(K),K) -> Factored(SparseUnivariatePolynomial(K)) --R --E 1 @@ -27478,17 +28140,18 @@ FiniteDivisorFunctions2(R1, UP1, UPUP1, F1, R2, UP2, UPUP2, F2): --S 1 of 1 )show FiniteFieldFactorizationWithSizeParseBySideEffect ---R FiniteFieldFactorizationWithSizeParseBySideEffect(K: FiniteFieldCategory,PolK: UnivariatePolynomialCategory K) is a package constructor +--R +--R FiniteFieldFactorizationWithSizeParseBySideEffect(K: FiniteFieldCategory,PolK: UnivariatePolynomialCategory(K)) is a package constructor --R Abbreviation for FiniteFieldFactorizationWithSizeParseBySideEffect is FFFACTSE --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for FFFACTSE --R --R------------------------------- Operations -------------------------------- ---R factor : PolK -> Factored PolK irreducible? : PolK -> Boolean ---R factorCantorZassenhaus : (PolK,NonNegativeInteger) -> List PolK ---R factorSquareFree : PolK -> List PolK ---R factorUsingMusser : PolK -> Factored PolK ---R factorUsingYun : PolK -> Factored PolK +--R factor : PolK -> Factored(PolK) irreducible? : PolK -> Boolean +--R factorCantorZassenhaus : (PolK,NonNegativeInteger) -> List(PolK) +--R factorSquareFree : PolK -> List(PolK) +--R factorUsingMusser : PolK -> Factored(PolK) +--R factorUsingYun : PolK -> Factored(PolK) --R --E 1 @@ -29601,13 +30264,14 @@ FiniteFieldSolveLinearPolynomialEquation(F:FiniteFieldCategory, --S 1 of 1 )show FiniteFieldSquareFreeDecomposition ---R FiniteFieldSquareFreeDecomposition(K: FiniteFieldCategory,PolK: UnivariatePolynomialCategory K) is a package constructor +--R +--R FiniteFieldSquareFreeDecomposition(K: FiniteFieldCategory,PolK: UnivariatePolynomialCategory(K)) is a package constructor --R Abbreviation for FiniteFieldSquareFreeDecomposition is FFSQFR --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for FFSQFR --R --R------------------------------- Operations -------------------------------- ---R Musser : PolK -> Factored PolK Yun : PolK -> Factored PolK +--R Musser : PolK -> Factored(PolK) Yun : PolK -> Factored(PolK) --R --E 1 @@ -36034,43 +36698,45 @@ GeneralizedMultivariateFactorize(OV,E,S,R,P) : C == T --S 1 of 1 )show GeneralPackageForAlgebraicFunctionField ---R GeneralPackageForAlgebraicFunctionField(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K,PCS: LocalPowerSeriesCategory K,Plc: PlacesCategory(K,PCS),DIVISOR: DivisorCategory Plc,InfClsPoint: InfinitlyClosePointCategory(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET),DesTree: DesingTreeCategory InfClsPoint,BLMET: BlowUpMethodCategory) is a package constructor +--R +--R GeneralPackageForAlgebraicFunctionField(K: Field,symb: List(Symbol),PolyRing: PolynomialCategory(K,E,OrderedVariableList(symb)),E: DirectProductCategory(#(symb),NonNegativeInteger),ProjPt: ProjectiveSpaceCategory(K),PCS: LocalPowerSeriesCategory(K),Plc: PlacesCategory(K,PCS),DIVISOR: DivisorCategory(Plc),InfClsPoint: InfinitlyClosePointCategory(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET),DesTree: DesingTreeCategory(InfClsPoint),BLMET: BlowUpMethodCategory) is a package constructor --R Abbreviation for GeneralPackageForAlgebraicFunctionField is GPAFF --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for GPAFF --R --R------------------------------- Operations -------------------------------- ---R adjunctionDivisor : () -> DIVISOR desingTree : () -> List DesTree +--R adjunctionDivisor : () -> DIVISOR desingTree : () -> List(DesTree) --R eval : (PolyRing,Plc) -> K genus : () -> NonNegativeInteger ---R genusNeg : () -> Integer placesAbove : ProjPt -> List Plc ---R pointDominateBy : Plc -> ProjPt printInfo : List Boolean -> Void +--R genusNeg : () -> Integer placesAbove : ProjPt -> List(Plc) +--R pointDominateBy : Plc -> ProjPt printInfo : List(Boolean) -> Void --R reset : () -> Void setCurve : PolyRing -> PolyRing ---R singularPoints : () -> List ProjPt theCurve : () -> PolyRing ---R LPolynomial : () -> SparseUnivariatePolynomial Integer if K has FINITE ---R LPolynomial : PositiveInteger -> SparseUnivariatePolynomial Integer if K has FINITE +--R theCurve : () -> PolyRing +--R LPolynomial : () -> SparseUnivariatePolynomial(Integer) if K has FINITE +--R LPolynomial : PositiveInteger -> SparseUnivariatePolynomial(Integer) if K has FINITE --R ZetaFunction : () -> UnivariateTaylorSeriesCZero(Integer,t) if K has FINITE --R ZetaFunction : PositiveInteger -> UnivariateTaylorSeriesCZero(Integer,t) if K has FINITE --R classNumber : () -> Integer if K has FINITE ---R desingTreeWoFullParam : () -> List DesTree +--R desingTreeWoFullParam : () -> List(DesTree) --R eval : (PolyRing,PolyRing,Plc) -> K ---R eval : (Fraction PolyRing,Plc) -> K +--R eval : (Fraction(PolyRing),Plc) -> K --R evalIfCan : (PolyRing,Plc) -> Union(K,"failed") --R evalIfCan : (PolyRing,PolyRing,Plc) -> Union(K,"failed") ---R evalIfCan : (Fraction PolyRing,Plc) -> Union(K,"failed") +--R evalIfCan : (Fraction(PolyRing),Plc) -> Union(K,"failed") --R findOrderOfDivisor : (DIVISOR,Integer,Integer) -> Record(ord: Integer,num: PolyRing,den: PolyRing,upTo: Integer) --R homogenize : (PolyRing,Integer) -> PolyRing ---R interpolateForms : (DIVISOR,NonNegativeInteger) -> List PolyRing ---R interpolateFormsForFact : (DIVISOR,List PolyRing) -> List PolyRing +--R interpolateForms : (DIVISOR,NonNegativeInteger) -> List(PolyRing) +--R interpolateFormsForFact : (DIVISOR,List(PolyRing)) -> List(PolyRing) --R intersectionDivisor : PolyRing -> DIVISOR ---R lBasis : DIVISOR -> Record(num: List PolyRing,den: PolyRing) +--R lBasis : DIVISOR -> Record(num: List(PolyRing),den: PolyRing) --R numberOfPlacesOfDegree : PositiveInteger -> Integer if K has FINITE --R numberPlacesDegExtDeg : (PositiveInteger,PositiveInteger) -> Integer if K has FINITE --R numberRatPlacesExtDeg : PositiveInteger -> Integer if K has FINITE --R parametrize : (PolyRing,Plc) -> PCS ---R placesOfDegree : PositiveInteger -> List Plc if K has FINITE ---R rationalPlaces : () -> List Plc if K has FINITE ---R rationalPoints : () -> List ProjPt if K has FINITE ---R setSingularPoints : List ProjPt -> List ProjPt +--R placesOfDegree : PositiveInteger -> List(Plc) if K has FINITE +--R rationalPlaces : () -> List(Plc) if K has FINITE +--R rationalPoints : () -> List(ProjPt) if K has FINITE +--R setSingularPoints : List(ProjPt) -> List(ProjPt) +--R singularPoints : () -> List(ProjPt) --R --E 1 @@ -38262,16 +38928,17 @@ GenusZeroIntegration(R, F, L): Exports == Implementation where )clear all --S 1 of 1 )show GnuDraw +--R --R GnuDraw is a package constructor --R Abbreviation for GnuDraw is GDRAW --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for GDRAW --R --R------------------------------- Operations -------------------------------- ---R gnuDraw : (Expression Float,SegmentBinding Float,String,List DrawOption) -> Void ---R gnuDraw : (Expression Float,SegmentBinding Float,String) -> Void ---R gnuDraw : (Expression Float,SegmentBinding Float,SegmentBinding Float,String,List DrawOption) -> Void ---R gnuDraw : (Expression Float,SegmentBinding Float,SegmentBinding Float,String) -> Void +--R gnuDraw : (Expression(Float),SegmentBinding(Float),String,List(DrawOption)) -> Void +--R gnuDraw : (Expression(Float),SegmentBinding(Float),String) -> Void +--R gnuDraw : (Expression(Float),SegmentBinding(Float),SegmentBinding(Float),String,List(DrawOption)) -> Void +--R gnuDraw : (Expression(Float),SegmentBinding(Float),SegmentBinding(Float),String) -> Void --R --E 1 @@ -39884,14 +40551,14 @@ GroebnerInternalPackage(Dom, Expon, VarSet, Dpol): T == C where s1:DMP([w,p,z,t,s,b],FRAC(INT)):= 45*p + 35*s - 165*b - 36 --R --R (1) 45p + 35s - 165b - 36 ---R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 1 --S 2 of 24 s2:DMP([w,p,z,t,s,b],FRAC(INT)):= 35*p + 40*z + 25*t - 27*s --R --R (2) 35p + 40z + 25t - 27s ---R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 2 --S 3 of 24 @@ -39899,14 +40566,14 @@ s3:DMP([w,p,z,t,s,b],FRAC(INT)):= 15*w + 25*p*s + 30*z - 18*t - 165*b**2 --R --R 2 --R (3) 15w + 25p s + 30z - 18t - 165b ---R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 3 --S 4 of 24 s4:DMP([w,p,z,t,s,b],FRAC(INT)):= -9*w + 15*p*t + 20*z*s --R --R (4) - 9w + 15p t + 20z s ---R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 4 --S 5 of 24 @@ -39914,7 +40581,7 @@ s5:DMP([w,p,z,t,s,b],FRAC(INT)):= w*p + 2*z*t - 11*b**3 --R --R 3 --R (5) w p + 2z t - 11b ---R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 5 --S 6 of 24 @@ -39922,7 +40589,7 @@ s6:DMP([w,p,z,t,s,b],FRAC(INT)):= 99*w - 11*b*s + 3*b**2 --R --R 2 --R (6) 99w - 11s b + 3b ---R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 6 --S 7 of 24 @@ -39931,7 +40598,7 @@ s7:DMP([w,p,z,t,s,b],FRAC(INT)):= b**2 + 33/50*b + 2673/10000 --R 2 33 2673 --R (7) b + -- b + ----- --R 50 10000 ---R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--R Type: DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 7 --S 8 of 24 @@ -39944,7 +40611,7 @@ sn7:=[s1,s2,s3,s4,s5,s6,s7] --R 2 2 33 2673 --R 99w - 11s b + 3b , b + -- b + -----] --R 50 10000 ---R Type: List DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: List(DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer))) --E 8 --S 9 of 24 @@ -39957,7 +40624,7 @@ groebner(sn7) --R 5 9 2 33 2673 --R s - - b - ---, b + -- b + -----] --R 2 200 50 10000 ---R Type: List DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: List(DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer))) --E 9 --S 10 of 24 @@ -40087,7 +40754,7 @@ groebner(sn7,"redcrit") --R 5 9 2 33 2673 --R s - - b - ---, b + -- b + -----] --R 2 200 50 10000 ---R Type: List DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: List(DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer))) --E 10 --S 11 of 24 @@ -40166,7 +40833,7 @@ groebner(sn7,"info") --R 5 9 2 33 2673 --R s - - b - ---, b + -- b + -----] --R 2 200 50 10000 ---R Type: List DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: List(DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer))) --E 11 --S 12 of 24 @@ -40361,35 +41028,35 @@ groebner(sn7,"redcrit","info") --R 5 9 2 33 2673 --R s - - b - ---, b + -- b + -----] --R 2 200 50 10000 ---R Type: List DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: List(DistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer))) --E 12 --S 13 of 24 hs1:HDMP([w,p,z,t,s,b],FRAC(INT)):= 45*p + 35*s - 165*b - 36 --R --R (13) 45p + 35s - 165b - 36 ---RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 13 --S 14 of 24 hs2:HDMP([w,p,z,t,s,b],FRAC(INT)):= 35*p + 40*z + 25*t - 27*s --R --R (14) 35p + 40z + 25t - 27s ---RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 14 --S 15 of 24 hs3:HDMP([w,p,z,t,s,b],FRAC(INT)):= 15*w + 25*p*s + 30*z - 18*t - 165*b**2 --R 2 --R (15) 25p s - 165b + 15w + 30z - 18t ---RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 15 --S 16 of 24 hs4:HDMP([w,p,z,t,s,b],FRAC(INT)):= -9*w + 15*p*t + 20*z*s --R --R (16) 15p t + 20z s - 9w ---RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 16 --S 17 of 24 @@ -40397,7 +41064,7 @@ hs5:HDMP([w,p,z,t,s,b],FRAC(INT)):= w*p + 2*z*t - 11*b**3 --R --R 3 --R (17) - 11b + w p + 2z t ---RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 17 --S 18 of 24 @@ -40405,7 +41072,7 @@ hs6:HDMP([w,p,z,t,s,b],FRAC(INT)):= 99*w - 11*b*s + 3*b**2 --R --R 2 --R (18) - 11s b + 3b + 99w ---RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 18 --S 19 of 24 @@ -40414,7 +41081,7 @@ hs7:HDMP([w,p,z,t,s,b],FRAC(INT)):= b**2 + 33/50*b + 2673/10000 --R 2 33 2673 --R (19) b + -- b + ----- --R 50 10000 ---RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer)) --E 19 --S 20 of 24 @@ -40427,7 +41094,7 @@ hsn7:=[hs1,hs2,hs3,hs4,hs5,hs6,hs7] --R 2 2 33 2673 --R - 11s b + 3b + 99w, b + -- b + -----] --R 50 10000 ---RType: List HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: List(HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer))) --E 20 --S 21 of 24 @@ -40440,7 +41107,7 @@ groebner(hsn7) --R 37 27 5 9 --R t - -- b + ---, s - - b - ---] --R 15 250 2 200 ---RType: List HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: List(HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer))) --E 21 --S 22 of 24 @@ -40660,7 +41327,7 @@ groebner(hsn7,"redcrit") --R 37 27 5 9 --R t - -- b + ---, s - - b - ---] --R 15 250 2 200 ---RType: List HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: List(HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer))) --E 22 --S 23 of 24 @@ -40782,7 +41449,7 @@ groebner(hsn7,"info") --R 37 27 5 9 --R t - -- b + ---, s - - b - ---] --R 15 250 2 200 ---RType: List HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: List(HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer))) --E 23 --S 24 of 24 @@ -41110,7 +41777,7 @@ groebner(hsn7,"redcrit","info") --R 37 27 5 9 --R t - -- b + ---, s - - b - ---] --R 15 250 2 200 ---RType: List HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction Integer) +--RType: List(HomogeneousDistributedMultivariatePolynomial([w,p,z,t,s,b],Fraction(Integer))) --E 24 )spool @@ -47958,13 +48625,14 @@ InputFormFunctions1(R:Type):with )clear all --S 1 of 1 )show InterfaceGroebnerPackage ---R InterfaceGroebnerPackage(K: Field,symb: List Symbol,E: OrderedAbelianMonoidSup,OV: OrderedSet,R: PolynomialCategory(K,E,OV)) is a package constructor +--R +--R InterfaceGroebnerPackage(K: Field,symb: List(Symbol),E: OrderedAbelianMonoidSup,OV: OrderedSet,R: PolynomialCategory(K,E,OV)) is a package constructor --R Abbreviation for InterfaceGroebnerPackage is INTERGB --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for INTERGB --R --R------------------------------- Operations -------------------------------- ---R groebner : List R -> List R +--R groebner : List(R) -> List(R) --R --E 1 @@ -48137,8 +48805,8 @@ displayRow(n)==output center blankSeparate pascalRow(n) --S 4 of 4 for i in 0..7 repeat displayRow i --R ---R Compiling function pascalRow with type NonNegativeInteger -> List ---R OutputForm +--R Compiling function pascalRow with type NonNegativeInteger -> List( +--R OutputForm) --R Compiling function displayRow with type NonNegativeInteger -> Void --R 1 --R 1 1 @@ -48779,7 +49447,7 @@ c := linearDependenceOverZ vector [m1, m2, m3] --R --R --R (6) [1,- 2,1] ---R Type: Union(Vector Integer,...) +--R Type: Union(Vector(Integer),...) --E 6 --S 7 of 8 @@ -48799,7 +49467,7 @@ solveLinearlyOverQ(vector [m1, m3], m2) --R 1 1 --R (8) [-,-] --R 2 2 ---R Type: Union(Vector Fraction Integer,...) +--R Type: Union(Vector(Fraction(Integer)),...) --E 8 )spool )lisp (bye) @@ -48950,7 +49618,7 @@ div144 := divisors(144) --R --R --R (1) [1,2,3,4,6,8,9,12,16,18,24,36,48,72,144] ---R Type: List Integer +--R Type: List(Integer) --E 1 --S 2 of 30 @@ -49046,7 +49714,7 @@ fibonacci(25) --R --R --R (13) [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610] ---R Type: List Integer +--R Type: List(Integer) --E 13 --S 14 of 30 @@ -49069,7 +49737,7 @@ fib(25) --R --R --R (16) [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610] ---R Type: List Integer +--R Type: List(Integer) --E 16 --S 17 of 30 @@ -51671,16 +52339,17 @@ InternalRationalUnivariateRepresentationPackage(R,E,V,P,TS): Exports == Implemen --S 1 of 1 )show InterpolateFormsPackage ---R InterpolateFormsPackage(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K,PCS: LocalPowerSeriesCategory K,Plc: PlacesCategory(K,PCS),DIVISOR: DivisorCategory Plc) is a package constructor +--R +--R InterpolateFormsPackage(K: Field,symb: List(Symbol),PolyRing: PolynomialCategory(K,E,OrderedVariableList(symb)),E: DirectProductCategory(#(symb),NonNegativeInteger),ProjPt: ProjectiveSpaceCategory(K),PCS: LocalPowerSeriesCategory(K),Plc: PlacesCategory(K,PCS),DIVISOR: DivisorCategory(Plc)) is a package constructor --R Abbreviation for InterpolateFormsPackage is INTFRSP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for INTFRSP --R --R------------------------------- Operations -------------------------------- ---R basisOfInterpolateForms : (DIVISOR,List PolyRing) -> List Vector K ---R basisOfInterpolateFormsForFact : (DIVISOR,List PolyRing) -> List Vector K ---R interpolateForms : (DIVISOR,NonNegativeInteger,PolyRing,List PolyRing) -> List PolyRing ---R interpolateFormsForFact : (DIVISOR,List PolyRing) -> List PolyRing +--R basisOfInterpolateForms : (DIVISOR,List(PolyRing)) -> List(Vector(K)) +--R basisOfInterpolateFormsForFact : (DIVISOR,List(PolyRing)) -> List(Vector(K)) +--R interpolateForms : (DIVISOR,NonNegativeInteger,PolyRing,List(PolyRing)) -> List(PolyRing) +--R interpolateFormsForFact : (DIVISOR,List(PolyRing)) -> List(PolyRing) --R --E 1 @@ -52026,14 +52695,15 @@ InterpolateFormsPackage(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR):_ --S 1 of 1 )show IntersectionDivisorPackage ---R IntersectionDivisorPackage(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K,PCS: LocalPowerSeriesCategory K,Plc: PlacesCategory(K,PCS),DIVISOR: DivisorCategory Plc,InfClsPoint: InfinitlyClosePointCategory(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET),DesTree: DesingTreeCategory InfClsPoint,BLMET: BlowUpMethodCategory) is a package constructor +--R +--R IntersectionDivisorPackage(K: Field,symb: List(Symbol),PolyRing: PolynomialCategory(K,E,OrderedVariableList(symb)),E: DirectProductCategory(#(symb),NonNegativeInteger),ProjPt: ProjectiveSpaceCategory(K),PCS: LocalPowerSeriesCategory(K),Plc: PlacesCategory(K,PCS),DIVISOR: DivisorCategory(Plc),InfClsPoint: InfinitlyClosePointCategory(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET),DesTree: DesingTreeCategory(InfClsPoint),BLMET: BlowUpMethodCategory) is a package constructor --R Abbreviation for IntersectionDivisorPackage is INTDIVP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for INTDIVP --R --R------------------------------- Operations -------------------------------- ---R intersectionDivisor : (PolyRing,PolyRing,List DesTree,List ProjPt) -> DIVISOR ---R placesOfDegree : (PositiveInteger,PolyRing,List ProjPt) -> Void +--R intersectionDivisor : (PolyRing,PolyRing,List(DesTree),List(ProjPt)) -> DIVISOR +--R placesOfDegree : (PositiveInteger,PolyRing,List(ProjPt)) -> Void --R --E 1 @@ -53077,6 +53747,7 @@ LaplaceTransform(R, F): Exports == Implementation where --S 1 of 36 R := Integer +--R --R --R (1) Integer --R Type: Domain @@ -53084,165 +53755,187 @@ R := Integer --S 2 of 36 ls : List Symbol := [b1,x,y,z,t,v,u,w] +--R --R --R (2) [b1,x,y,z,t,v,u,w] ---R Type: List Symbol +--R Type: List(Symbol) --E 2 --S 3 of 36 V := OVAR(ls) +--R --R ---R (3) OrderedVariableList [b1,x,y,z,t,v,u,w] +--R (3) OrderedVariableList([b1,x,y,z,t,v,u,w]) --R Type: Domain --E 3 --S 4 of 36 E := IndexedExponents V +--R --R ---R (4) IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w] +--R (4) IndexedExponents(OrderedVariableList([b1,x,y,z,t,v,u,w])) --R Type: Domain --E 4 --S 5 of 36 P := NSMP(R, V) +--R --R --R (5) ---R NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w ---R ]) +--R NewSparseMultivariatePolynomial(Integer,OrderedVariableList([b1,x,y,z,t,v,u,w +--R ])) --R Type: Domain --E 5 --S 6 of 36 b1: P := 'b1 +--R --R --R (6) b1 ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 6 --S 7 of 36 x: P := 'x +--R --R --R (7) x ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 7 --S 8 of 36 y: P := 'y +--R --R --R (8) y ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 8 --S 9 of 36 z: P := 'z +--R --R --R (9) z ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 9 --S 10 of 36 t: P := 't +--R --R --R (10) t ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 10 --S 11 of 36 u: P := 'u +--R --R --R (11) u ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 11 --S 12 of 36 v: P := 'v +--R --R --R (12) v ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 12 --S 13 of 36 w: P := 'w +--R --R --R (13) w ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 13 --S 14 of 36 T := REGSET(R,E,V,P) +--R --R --R (14) ---R RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t ---R ,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomia ---R l(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +--R RegularTriangularSet(Integer,IndexedExponents(OrderedVariableList([b1,x,y,z,t +--R ,v,u,w])),OrderedVariableList([b1,x,y,z,t,v,u,w]),NewSparseMultivariatePolyno +--R mial(Integer,OrderedVariableList([b1,x,y,z,t,v,u,w]))) --R Type: Domain --E 14 --S 15 of 36 p0 := b1 + y + z - t - w +--R --R --R (15) b1 + y + z - t - w ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 15 --S 16 of 36 p1 := 2*z*u + 2*y*v + 2*t*w - 2*w**2 - w - 1 +--R --R --R 2 --R (16) 2v y + 2u z + 2w t - 2w - w - 1 ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 16 --S 17 of 36 p2 := 3*z*u**2 + 3*y*v**2 - 3*t*w**2 + 3*w**3 + 3*w**2 - t + 4*w +--R --R --R 2 2 2 3 2 --R (17) 3v y + 3u z + (- 3w - 1)t + 3w + 3w + 4w ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 17 --S 18 of 36 p3 := 6*x*z*v - 6*t*w**2 + 6*w**3 - 3*t*w + 6*w**2 - t + 4*w +--R --R --R 2 3 2 --R (18) 6v z x + (- 6w - 3w - 1)t + 6w + 6w + 4w ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 18 --S 19 of 36 p4 := 4*z*u**3+ 4*y*v**3+ 4*t*w**3- 4*w**4 - 6*w**3+ 4*t*w- 10*w**2- w- 1 +--R --R --R 3 3 3 4 3 2 --R (19) 4v y + 4u z + (4w + 4w)t - 4w - 6w - 10w - w - 1 ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 19 --S 20 of 36 p5 := 8*x*z*u*v +8*t*w**3 -8*w**4 +4*t*w**2 -12*w**3 +4*t*w -14*w**2 -3*w -1 +--R --R --R 3 2 4 3 2 --R (20) 8u v z x + (8w + 4w + 4w)t - 8w - 12w - 14w - 3w - 1 ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 20 --S 21 of 36 p6 := 12*x*z*v**2+12*t*w**3 -12*w**4 +12*t*w**2 -18*w**3 +8*t*w -14*w**2 -w -1 +--R --R --R 2 3 2 4 3 2 --R (21) 12v z x + (12w + 12w + 8w)t - 12w - 18w - 14w - w - 1 ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 21 --S 22 of 36 p7 := -24*t*w**3 + 24*w**4 - 24*t*w**2 + 36*w**3 - 8*t*w + 26*w**2 + 7*w + 1 +--R --R --R 3 2 4 3 2 --R (22) (- 24w - 24w - 8w)t + 24w + 36w + 26w + 7w + 1 ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 22 --S 23 of 36 lp := [p0, p1, p2, p3, p4, p5, p6, p7] +--R --R --R (23) --R 2 @@ -53259,11 +53952,12 @@ lp := [p0, p1, p2, p3, p4, p5, p6, p7] --R 12v z x + (12w + 12w + 8w)t - 12w - 18w - 14w - w - 1, --R 3 2 4 3 2 --R (- 24w - 24w - 8w)t + 24w + 36w + 26w + 7w + 1] ---RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: List(NewSparseMultivariatePolynomial(Integer,... --E 23 --S 24 of 36 lts := zeroSetSplit(lp,false)$T +--R --R --R (24) --R [{w + 1,u,v,t + 1,b1 + y + z + 2}, {w + 1,v,t + 1,z,b1 + y + 2}, @@ -53289,44 +53983,48 @@ lts := zeroSetSplit(lp,false)$T --R 2 3 2 --R 6v z x + (- 6w - 3w - 1)t + 6w + 6w + 4w, b1 + y + z - t - w} --R ] ---RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +--IType: List(RegularTriangularSet(Integer,... --E 24 --S 25 of 36 [coHeight(ts) for ts in lts] +--R --R --R (25) [3,3,3,2,2,0] ---R Type: List NonNegativeInteger +--R Type: List(NonNegativeInteger) --E 25 --S 26 of 36 ST := SREGSET(R,E,V,P) +--R --R --R (26) ---R SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [ ---R b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariat ---R ePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +--R SquareFreeRegularTriangularSet(Integer,IndexedExponents(OrderedVariableList([ +--R b1,x,y,z,t,v,u,w])),OrderedVariableList([b1,x,y,z,t,v,u,w]),NewSparseMultivar +--R iatePolynomial(Integer,OrderedVariableList([b1,x,y,z,t,v,u,w]))) --R Type: Domain --E 26 --S 27 of 36 pack := LAZM3PK(R,E,V,P,T,ST) +--R --R --R (27) ---R LazardSetSolvingPackage(Integer,IndexedExponents OrderedVariableList [b1,x,y, ---R z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolyno ---R mial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]),RegularTriangularSet(Int ---R eger,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableL ---R ist [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariabl ---R eList [b1,x,y,z,t,v,u,w])),SquareFreeRegularTriangularSet(Integer,IndexedExpo ---R nents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t, ---R v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z, ---R t,v,u,w]))) +--R LazardSetSolvingPackage(Integer,IndexedExponents(OrderedVariableList([b1,x,y, +--R z,t,v,u,w])),OrderedVariableList([b1,x,y,z,t,v,u,w]),NewSparseMultivariatePol +--R ynomial(Integer,OrderedVariableList([b1,x,y,z,t,v,u,w])),RegularTriangularSet +--R (Integer,IndexedExponents(OrderedVariableList([b1,x,y,z,t,v,u,w])),OrderedVar +--R iableList([b1,x,y,z,t,v,u,w]),NewSparseMultivariatePolynomial(Integer,Ordered +--R VariableList([b1,x,y,z,t,v,u,w]))),SquareFreeRegularTriangularSet(Integer,Ind +--R exedExponents(OrderedVariableList([b1,x,y,z,t,v,u,w])),OrderedVariableList([b +--R 1,x,y,z,t,v,u,w]),NewSparseMultivariatePolynomial(Integer,OrderedVariableList +--R ([b1,x,y,z,t,v,u,w])))) --R Type: Domain --E 27 --S 28 of 36 zeroSetSplit(lp,false)$pack +--R --R --R (28) --R [{w + 1,t + 1,z,y,b1 + 2}, {w + 1,v,t + 1,z,b1 + y + 2}, @@ -53346,54 +54044,60 @@ zeroSetSplit(lp,false)$pack --R 4 3 2 --R 2916b1 - 30600w - 46692w - 20274w - 8076w + 593} --R ] ---RType: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +--IType: List(SquareFreeRegularTriangularSet(Integer,... --E 28 --S 29 of 36 f0 := (w - v) ** 2 + (u - t) ** 2 - 1 +--R --R --R 2 2 2 2 --R (29) t - 2u t + v - 2w v + u + w - 1 ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 29 --S 30 of 36 f1 := t ** 2 - v ** 3 +--R --R --R 2 3 --R (30) t - v ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 30 --S 31 of 36 f2 := 2 * t * (w - v) + 3 * v ** 2 * (u - t) +--R --R --R 2 2 --R (31) (- 3v - 2v + 2w)t + 3u v ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 31 --S 32 of 36 f3 := (3 * z * v ** 2 - 1) * (2 * z * t - 1) +--R --R --R 2 2 2 --R (32) 6v t z + (- 2t - 3v )z + 1 ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: NewSparseMultivariatePolynomial(Integer,... --E 32 --S 33 of 36 lf := [f0, f1, f2, f3] +--R --R --R (33) --R 2 2 2 2 2 3 2 2 --R [t - 2u t + v - 2w v + u + w - 1, t - v , (- 3v - 2v + 2w)t + 3u v , --R 2 2 2 --R 6v t z + (- 2t - 3v )z + 1] ---RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +--IType: List(NewSparseMultivariatePolynomial(Integer,... --E 33 --S 34 of 36 zeroSetSplit(lf,true)$T +--R --R --R (34) --R [ @@ -53422,11 +54126,12 @@ zeroSetSplit(lf,true)$T --R 2 2 2 2 2 --R (3v + 2v - 2w)t - 3u v , ((4v - 4w)t - 6u v )z + (2t + 3v )z - 1} --R ] ---RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +--IType: List(RegularTriangularSet(Integer,IndexedExponents(... --E 34 --S 35 of 36 zeroSetSplit(lf,false)$T +--R --R --R (35) --R [ @@ -53491,11 +54196,12 @@ zeroSetSplit(lf,false)$T --R 2 2 2 --R 6t - 2v - 3w + 2w + 3, 3v z - 1} --R ] ---RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +--IType: List(RegularTriangularSet(Integer,IndexedExponents(... --E 35 --S 36 of 36 zeroSetSplit(lf,false)$pack +--R --R --R (36) --R [ @@ -53584,7 +54290,7 @@ zeroSetSplit(lf,false)$pack --R (9713133306w + 9678670317w - 16726834476w + 28144233593)u --R } --R ] ---RType: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +--IType: List(SquareFreeRegularTriangularSet(Integer,... --E 36 )spool @@ -54318,14 +55024,14 @@ ls : List Symbol := [a,b,c,d,e,f] --R --R --R (2) [a,b,c,d,e,f] ---R Type: List Symbol +--R Type: List(Symbol) --E 2 --S 3 of 22 V := OVAR(ls) --R --R ---R (3) OrderedVariableList [a,b,c,d,e,f] +--R (3) OrderedVariableList([a,b,c,d,e,f]) --R Type: Domain --E 3 @@ -54334,7 +55040,7 @@ P := NSMP(R, V) --R --R --R (4) ---R NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +--R NewSparseMultivariatePolynomial(Integer,OrderedVariableList([a,b,c,d,e,f])) --R Type: Domain --E 4 @@ -54343,7 +55049,7 @@ p1: P := a*b*c*d*e*f - 1 --R --R --R (5) f e d c b a - 1 ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([a,b,c,d,e,f])) --E 5 --S 6 of 22 @@ -54351,7 +55057,7 @@ p2: P := a*b*c*d*e +a*b*c*d*f +a*b*c*e*f +a*b*d*e*f +a*c*d*e*f +b*c*d*e*f --R --R --R (6) ((((e + f)d + f e)c + f e d)b + f e d c)a + f e d c b ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([a,b,c,d,e,f])) --E 6 --S 7 of 22 @@ -54359,7 +55065,7 @@ p3: P := a*b*c*d + a*b*c*f + a*b*e*f + a*d*e*f + b*c*d*e + c*d*e*f --R --R --R (7) (((d + f)c + f e)b + f e d)a + e d c b + f e d c ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([a,b,c,d,e,f])) --E 7 --S 8 of 22 @@ -54367,7 +55073,7 @@ p4: P := a*b*c + a*b*f + a*e*f + b*c*d + c*d*e + d*e*f --R --R --R (8) ((c + f)b + f e)a + d c b + e d c + f e d ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([a,b,c,d,e,f])) --E 8 --S 9 of 22 @@ -54375,7 +55081,7 @@ p5: P := a*b + a*f + b*c + c*d + d*e + e*f --R --R --R (9) (b + f)a + c b + d c + e d + f e ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([a,b,c,d,e,f])) --E 9 --S 10 of 22 @@ -54383,7 +55089,7 @@ p6: P := a + b + c + d + e + f --R --R --R (10) a + b + c + d + e + f ---RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +--RType: NewSparseMultivariatePolynomial(Integer,OrderedVariableList([a,b,c,d,e,f])) --E 10 --S 11 of 22 @@ -54395,7 +55101,7 @@ lp := [p1, p2, p3, p4, p5, p6] --R (((d + f)c + f e)b + f e d)a + e d c b + f e d c, --R ((c + f)b + f e)a + d c b + e d c + f e d, --R (b + f)a + c b + d c + e d + f e, a + b + c + d + e + f] ---RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +--RType: List(NewSparseMultivariatePolynomial(Integer,OrderedVariableList([a,b,c,d,e,f]))) --E 11 --S 12 of 22 @@ -54857,7 +55563,7 @@ lg := groebner(lp)$lextripack --R , --R 48 42 36 30 18 12 6 --R f - 2554f - 399710f - 499722f + 499722f + 399710f + 2554f - 1] ---RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +--RType: List(NewSparseMultivariatePolynomial(Integer,OrderedVariableList([a,b,c,d,e,f]))) --E 13 --S 14 of 22 @@ -54955,7 +55661,7 @@ lexTriangular(lg,false)$lextripack --R , --R 6 2 2 2 --R {f - 1,e + 4f e + f ,(e - f)d - f e - 5f ,c - f,b - f,a + d + e + 3f}] ---R Type: List RegularChain(Integer,[a,b,c,d,e,f]) +--R Type: List(RegularChain(Integer,[a,b,c,d,e,f])) --E 14 --S 15 of 22 @@ -55053,7 +55759,7 @@ lts := lexTriangular(lg,true)$lextripack --R , --R 6 2 2 --R {f - 1,e + 4f e + f ,d + e + 4f,c - f,b - f,a - f}] ---R Type: List RegularChain(Integer,[a,b,c,d,e,f]) +--R Type: List(RegularChain(Integer,[a,b,c,d,e,f])) --E 15 --S 16 of 22 @@ -55064,7 +55770,7 @@ lts := lexTriangular(lg,true)$lextripack --R [[1,3,1,3,1,1], [1,1,1,1,1,1], [1,1,1,1,1,1], [1,1,1,1,1,1], --R [1387545279120,1387545279120,1387545279120,1387545279120,1387545279120,1], --R [1,1,1,1,1,1]] ---RType: List List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +--RType: List(List(NewSparseMultivariatePolynomial(Integer,OrderedVariableList([a,b,c,d,e,f])))) --E 16 --S 17 of 22 @@ -55162,7 +55868,7 @@ squareFreeLexTriangular(lg,true)$lextripack --R , --R 6 2 2 --R {f - 1,e + 4f e + f ,d + e + 4f,c - f,b - f,a - f}] ---RType: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [a,b,c,d,e,f],OrderedVariableList [a,b,c,d,e,f],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f])) +--RType: List(SquareFreeRegularTriangularSet(Integer,IndexedExponents(OrderedVariableList([a,b,c,d,e,f])),OrderedVariableList([a,b,c,d,e,f]),NewSparseMultivariatePolynomial(Integer,OrderedVariableList([a,b,c,d,e,f])))) --E 17 --S 18 of 22 @@ -55178,7 +55884,7 @@ ls2 : List Symbol := concat(ls,new()$Symbol) --R --R --R (19) [a,b,c,d,e,f,%A] ---R Type: List Symbol +--R Type: List(Symbol) --E 19 --S 20 of 22 @@ -55687,7 +56393,7 @@ concat [univariateSolve(ts)$zdpack for ts in lts] --R [complexRoots= ? - 6? + 6, --R coordinates= [a - 1,b - 1,c - 1,d - %A + 5,e + %A - 1,f - 1]] --R ] ---RType: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) +--RType: List(Record(complexRoots: SparseUnivariatePolynomial(Integer),coordinates: List(Polynomial(Integer)))) --E 21 --S 22 of 22 @@ -56051,7 +56757,7 @@ concat [realSolve(ts)$zdpack for ts in lts] --R [%B31,%B36,- %B36 - 4%B31,%B31,%B31,%B31], --R [%B32,%B33,- %B33 - 4%B32,%B32,%B32,%B32], --R [%B32,%B34,- %B34 - 4%B32,%B32,%B32,%B32]] ---R Type: List List RealClosure Fraction Integer +--R Type: List(List(RealClosure(Fraction(Integer)))) --E 22 )spool )lisp (bye) @@ -58418,15 +59124,16 @@ LinearPolynomialEquationByFractions(R:PolynomialFactorizationExplicit): with --S 1 of 1 )show LinearSystemFromPowerSeriesPackage ---R LinearSystemFromPowerSeriesPackage(K: Field,PCS: LocalPowerSeriesCategory K) is a package constructor +--R +--R LinearSystemFromPowerSeriesPackage(K: Field,PCS: LocalPowerSeriesCategory(K)) is a package constructor --R Abbreviation for LinearSystemFromPowerSeriesPackage is LISYSER --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for LISYSER --R --R------------------------------- Operations -------------------------------- ---R finiteSeries2LinSys : (List PCS,Integer) -> Matrix K ---R finiteSeries2LinSysWOVectorise : (List PCS,Integer) -> Matrix K ---R finiteSeries2Vector : (PCS,Integer) -> List K +--R finiteSeries2LinSys : (List(PCS),Integer) -> Matrix(K) +--R finiteSeries2LinSysWOVectorise : (List(PCS),Integer) -> Matrix(K) +--R finiteSeries2Vector : (PCS,Integer) -> List(K) --R --E 1 @@ -59148,18 +59855,19 @@ LinGroebnerPackage(lv,F) : C == T --S 1 of 1 )show LinesOpPack ---R LinesOpPack K: Field is a package constructor +--R +--R LinesOpPack(K: Field) is a package constructor --R Abbreviation for LinesOpPack is LOP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for LOP --R --R------------------------------- Operations -------------------------------- ---R quotVecSpaceBasis : (List List K,List List K) -> List List K ---R reduceLineOverLine : (List K,List K,K) -> List K ---R reduceRow : List List K -> List List K ---R reduceRowOnList : (List K,List List K) -> List List K ---R rowEchWoZeroLines : Matrix K -> Matrix K ---R rowEchWoZeroLinesWOVectorise : Matrix K -> Matrix K +--R quotVecSpaceBasis : (List(List(K)),List(List(K))) -> List(List(K)) +--R reduceLineOverLine : (List(K),List(K),K) -> List(K) +--R reduceRow : List(List(K)) -> List(List(K)) +--R reduceRowOnList : (List(K),List(List(K))) -> List(List(K)) +--R rowEchWoZeroLines : Matrix(K) -> Matrix(K) +--R rowEchWoZeroLinesWOVectorise : Matrix(K) -> Matrix(K) --R --E 1 @@ -59752,7 +60460,8 @@ ListToMap(A:SetCategory, B:Type): Exports == Implementation where --S 1 of 1 )show LocalParametrizationOfSimplePointPackage ---R LocalParametrizationOfSimplePointPackage(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K,PCS: LocalPowerSeriesCategory K,Plc: PlacesCategory(K,PCS)) is a package constructor +--R +--R LocalParametrizationOfSimplePointPackage(K: Field,symb: List(Symbol),PolyRing: PolynomialCategory(K,E,OrderedVariableList(symb)),E: DirectProductCategory(#(symb),NonNegativeInteger),ProjPt: ProjectiveSpaceCategory(K),PCS: LocalPowerSeriesCategory(K),Plc: PlacesCategory(K,PCS)) is a package constructor --R Abbreviation for LocalParametrizationOfSimplePointPackage is LPARSPT --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for LPARSPT @@ -59760,8 +60469,8 @@ ListToMap(A:SetCategory, B:Type): Exports == Implementation where --R------------------------------- Operations -------------------------------- --R pointDominateBy : Plc -> ProjPt printInfo : Boolean -> Boolean --R printInfo : () -> Boolean ---R localParamOfSimplePt : (ProjPt,PolyRing,Integer) -> List PCS ---R localize : (PolyRing,ProjPt,PolyRing,Integer) -> Record(fnc: PolyRing,crv: PolyRing,chart: List Integer) +--R localParamOfSimplePt : (ProjPt,PolyRing,Integer) -> List(PCS) +--R localize : (PolyRing,ProjPt,PolyRing,Integer) -> Record(fnc: PolyRing,crv: PolyRing,chart: List(Integer)) --R pointToPlace : (ProjPt,PolyRing) -> Plc --R --E 1 @@ -60264,7 +60973,7 @@ expr := (x - exp x + 1)^2 * (sin(x^2) * x + 1)^3 --R + --R x 2 --R (- 2x - 2)%e + x + 2x + 1 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 1 --S 2 of 9 @@ -60291,7 +61000,7 @@ tbl := [f(0.1 * i - 1) for i in 0..20] --R 0.0313833725 8543810564 3, 0.0876991144 5154615297 9, --R 0.2313019789 3439968362, 0.5843743955 958098772, 1.4114930171 992819197, --R 3.2216948276 75164252] ---R Type: List Float +--R Type: List(Float) --E 3 --S 4 of 9 @@ -60304,7 +61013,7 @@ e := (x - y + 1)^2 * (x^2 * y + 1)^2 --R + --R 4 3 2 2 --R (2x + 4x + 2x - 2x - 2)y + x + 2x + 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 4 --S 5 of 9 @@ -60720,27 +61429,27 @@ MappingPackageInternalHacks3(A: SetCategory, B: SetCategory, C: SetCategory):_ --S 1 of 26 power(q: FRAC INT, n: INT): FRAC INT == q**n --R ---R Function declaration power : (Fraction Integer,Integer) -> Fraction ---R Integer has been added to workspace. +--R Function declaration power : (Fraction(Integer),Integer) -> Fraction +--R (Integer) has been added to workspace. --R Type: Void --E 1 --S 2 of 26 power(2,3) --R ---R Compiling function power with type (Fraction Integer,Integer) -> ---R Fraction Integer +--R Compiling function power with type (Fraction(Integer),Integer) -> +--R Fraction(Integer) --R --R (2) 8 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 2 --S 3 of 26 rewop := twist power --R --R ---I (3) theMap(MAPPKG3;twist;MM;5!0) ---R Type: ((Integer,Fraction Integer) -> Fraction Integer) +--R (3) theMap(MAPPKG3;twist;MM;5!0) +--R Type: ((Integer,Fraction(Integer)) -> Fraction(Integer)) --E 3 --S 4 of 26 @@ -60748,7 +61457,7 @@ rewop(3, 2) --R --R --R (4) 8 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 4 --S 5 of 26 @@ -60761,8 +61470,8 @@ square: FRAC INT -> FRAC INT square:= curryRight(power, 2) --R --R ---I (6) theMap(MAPPKG3;curryRight;MBM;1!0,0) ---R Type: (Fraction Integer -> Fraction Integer) +--R (6) theMap(MAPPKG3;curryRight;MBM;1!0,0) +--R Type: (Fraction(Integer) -> Fraction(Integer)) --E 6 --S 7 of 26 @@ -60770,15 +61479,15 @@ square 4 --R --R --R (7) 16 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 7 --S 8 of 26 squirrel:= constantRight(square)$MAPPKG3(FRAC INT,FRAC INT,FRAC INT) --R --R ---I (8) theMap(MAPPKG3;constantRight;MM;3!0) ---R Type: ((Fraction Integer,Fraction Integer) -> Fraction Integer) +--R (8) theMap(MAPPKG3;constantRight;MM;3!0) +--R Type: ((Fraction(Integer),Fraction(Integer)) -> Fraction(Integer)) --E 8 --S 9 of 26 @@ -60788,15 +61497,15 @@ squirrel(1/2, 1/3) --R 1 --R (9) - --R 4 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 9 --S 10 of 26 sixteen := curry(square, 4/1) --R --R ---I (10) theMap(MAPPKG2;curry;MAM;2!0,0) ---R Type: (() -> Fraction Integer) +--R (10) theMap(MAPPKG2;curry;MAM;2!0,0) +--R Type: (() -> Fraction(Integer)) --E 10 --S 11 of 26 @@ -60804,15 +61513,15 @@ sixteen() --R --R --R (11) 16 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 11 --S 12 of 26 square2:=square*square --R --R ---I (12) theMap(MAPPKG3;*;MMM;6!0,0) ---R Type: (Fraction Integer -> Fraction Integer) +--R (12) theMap(MAPPKG3;*;MMM;6!0,0) +--R Type: (Fraction(Integer) -> Fraction(Integer)) --E 12 --S 13 of 26 @@ -60820,13 +61529,13 @@ square2 3 --R --R --R (13) 81 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 13 --S 14 of 26 sc(x: FRAC INT): FRAC INT == x + 1 --R ---R Function declaration sc : Fraction Integer -> Fraction Integer has +--R Function declaration sc : Fraction(Integer) -> Fraction(Integer) has --R been added to workspace. --R Type: Void --E 14 @@ -60834,17 +61543,17 @@ sc(x: FRAC INT): FRAC INT == x + 1 --S 15 of 26 incfns := [sc**i for i in 0..10] --R ---R Compiling function sc with type Fraction Integer -> Fraction Integer ---R +--R Compiling function sc with type Fraction(Integer) -> Fraction( +--R Integer) --R --R (15) ---I [theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0)] ---R Type: List (Fraction Integer -> Fraction Integer) +--R [theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0)] +--R Type: List((Fraction(Integer) -> Fraction(Integer))) --E 15 --S 16 of 26 @@ -60852,7 +61561,7 @@ incfns := [sc**i for i in 0..10] --R --R --R (16) [4,5,6,7,8,9,10,11,12,13,14] ---R Type: List Fraction Integer +--R Type: List(Fraction(Integer)) --E 16 --S 17 of 26 @@ -60869,7 +61578,7 @@ r := recur(times) --R Compiling function times with type (NonNegativeInteger,Integer) -> --R Integer --R ---I (18) theMap(MAPPKG1;recur;2M;7!0,0) +--R (18) theMap(MAPPKG1;recur;2M;7!0,0) --R Type: ((NonNegativeInteger,Integer) -> Integer) --E 18 @@ -60877,7 +61586,7 @@ r := recur(times) fact := curryRight(r, 1) --R --R ---I (19) theMap(MAPPKG3;curryRight;MBM;1!0,0) +--R (19) theMap(MAPPKG3;curryRight;MBM;1!0,0) --R Type: (NonNegativeInteger -> Integer) --E 19 @@ -60901,10 +61610,10 @@ mto2ton(m, n) == mto2ton(3, 3) --R --R Compiling function mto2ton with type (PositiveInteger, ---R PositiveInteger) -> Fraction Integer +--R PositiveInteger) -> Fraction(Integer) --R --R (22) 6561 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 22 --S 23 of 26 @@ -60914,7 +61623,7 @@ shiftfib(r: List INT) : INT == r.2 := r.2 + t t --R ---R Function declaration shiftfib : List Integer -> Integer has been +--R Function declaration shiftfib : List(Integer) -> Integer has been --R added to workspace. --R Type: Void --E 23 @@ -60924,15 +61633,15 @@ fibinit: List INT := [0, 1] --R --R --R (24) [0,1] ---R Type: List Integer +--R Type: List(Integer) --E 24 --S 25 of 26 fibs := curry(shiftfib, fibinit) --R ---R Compiling function shiftfib with type List Integer -> Integer +--R Compiling function shiftfib with type List(Integer) -> Integer --R ---I (25) theMap(MAPPKG2;curry;MAM;2!0,0) +--R (25) theMap(MAPPKG2;curry;MAM;2!0,0) --R Type: (() -> Integer) --E 25 @@ -60944,7 +61653,7 @@ fibs := curry(shiftfib, fibinit) --R [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, --R 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, --R 317811, 514229, 832040] ---R Type: List Integer +--R Type: List(Integer) --E 26 )spool @@ -61236,27 +61945,27 @@ MappingPackage1(A:SetCategory): MPcat == MPdef where --S 1 of 26 power(q: FRAC INT, n: INT): FRAC INT == q**n --R ---R Function declaration power : (Fraction Integer,Integer) -> Fraction ---R Integer has been added to workspace. +--R Function declaration power : (Fraction(Integer),Integer) -> Fraction +--R (Integer) has been added to workspace. --R Type: Void --E 1 --S 2 of 26 power(2,3) --R ---R Compiling function power with type (Fraction Integer,Integer) -> ---R Fraction Integer +--R Compiling function power with type (Fraction(Integer),Integer) -> +--R Fraction(Integer) --R --R (2) 8 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 2 --S 3 of 26 rewop := twist power --R --R ---I (3) theMap(MAPPKG3;twist;MM;5!0) ---R Type: ((Integer,Fraction Integer) -> Fraction Integer) +--R (3) theMap(MAPPKG3;twist;MM;5!0) +--R Type: ((Integer,Fraction(Integer)) -> Fraction(Integer)) --E 3 --S 4 of 26 @@ -61264,7 +61973,7 @@ rewop(3, 2) --R --R --R (4) 8 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 4 --S 5 of 26 @@ -61277,8 +61986,8 @@ square: FRAC INT -> FRAC INT square:= curryRight(power, 2) --R --R ---I (6) theMap(MAPPKG3;curryRight;MBM;1!0,0) ---R Type: (Fraction Integer -> Fraction Integer) +--R (6) theMap(MAPPKG3;curryRight;MBM;1!0,0) +--R Type: (Fraction(Integer) -> Fraction(Integer)) --E 6 --S 7 of 26 @@ -61286,15 +61995,15 @@ square 4 --R --R --R (7) 16 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 7 --S 8 of 26 squirrel:= constantRight(square)$MAPPKG3(FRAC INT,FRAC INT,FRAC INT) --R --R ---I (8) theMap(MAPPKG3;constantRight;MM;3!0) ---R Type: ((Fraction Integer,Fraction Integer) -> Fraction Integer) +--R (8) theMap(MAPPKG3;constantRight;MM;3!0) +--R Type: ((Fraction(Integer),Fraction(Integer)) -> Fraction(Integer)) --E 8 --S 9 of 26 @@ -61304,15 +62013,15 @@ squirrel(1/2, 1/3) --R 1 --R (9) - --R 4 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 9 --S 10 of 26 sixteen := curry(square, 4/1) --R --R ---I (10) theMap(MAPPKG2;curry;MAM;2!0,0) ---R Type: (() -> Fraction Integer) +--R (10) theMap(MAPPKG2;curry;MAM;2!0,0) +--R Type: (() -> Fraction(Integer)) --E 10 --S 11 of 26 @@ -61320,15 +62029,15 @@ sixteen() --R --R --R (11) 16 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 11 --S 12 of 26 square2:=square*square --R --R ---I (12) theMap(MAPPKG3;*;MMM;6!0,0) ---R Type: (Fraction Integer -> Fraction Integer) +--R (12) theMap(MAPPKG3;*;MMM;6!0,0) +--R Type: (Fraction(Integer) -> Fraction(Integer)) --E 12 --S 13 of 26 @@ -61336,13 +62045,13 @@ square2 3 --R --R --R (13) 81 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 13 --S 14 of 26 sc(x: FRAC INT): FRAC INT == x + 1 --R ---R Function declaration sc : Fraction Integer -> Fraction Integer has +--R Function declaration sc : Fraction(Integer) -> Fraction(Integer) has --R been added to workspace. --R Type: Void --E 14 @@ -61350,17 +62059,17 @@ sc(x: FRAC INT): FRAC INT == x + 1 --S 15 of 26 incfns := [sc**i for i in 0..10] --R ---R Compiling function sc with type Fraction Integer -> Fraction Integer ---R +--R Compiling function sc with type Fraction(Integer) -> Fraction( +--R Integer) --R --R (15) ---I [theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0)] ---R Type: List (Fraction Integer -> Fraction Integer) +--R [theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0)] +--R Type: List((Fraction(Integer) -> Fraction(Integer))) --E 15 --S 16 of 26 @@ -61368,7 +62077,7 @@ incfns := [sc**i for i in 0..10] --R --R --R (16) [4,5,6,7,8,9,10,11,12,13,14] ---R Type: List Fraction Integer +--R Type: List(Fraction(Integer)) --E 16 --S 17 of 26 @@ -61385,7 +62094,7 @@ r := recur(times) --R Compiling function times with type (NonNegativeInteger,Integer) -> --R Integer --R ---I (18) theMap(MAPPKG1;recur;2M;7!0,0) +--R (18) theMap(MAPPKG1;recur;2M;7!0,0) --R Type: ((NonNegativeInteger,Integer) -> Integer) --E 18 @@ -61393,7 +62102,7 @@ r := recur(times) fact := curryRight(r, 1) --R --R ---I (19) theMap(MAPPKG3;curryRight;MBM;1!0,0) +--R (19) theMap(MAPPKG3;curryRight;MBM;1!0,0) --R Type: (NonNegativeInteger -> Integer) --E 19 @@ -61417,10 +62126,10 @@ mto2ton(m, n) == mto2ton(3, 3) --R --R Compiling function mto2ton with type (PositiveInteger, ---R PositiveInteger) -> Fraction Integer +--R PositiveInteger) -> Fraction(Integer) --R --R (22) 6561 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 22 --S 23 of 26 @@ -61430,7 +62139,7 @@ shiftfib(r: List INT) : INT == r.2 := r.2 + t t --R ---R Function declaration shiftfib : List Integer -> Integer has been +--R Function declaration shiftfib : List(Integer) -> Integer has been --R added to workspace. --R Type: Void --E 23 @@ -61440,15 +62149,15 @@ fibinit: List INT := [0, 1] --R --R --R (24) [0,1] ---R Type: List Integer +--R Type: List(Integer) --E 24 --S 25 of 26 fibs := curry(shiftfib, fibinit) --R ---R Compiling function shiftfib with type List Integer -> Integer +--R Compiling function shiftfib with type List(Integer) -> Integer --R ---I (25) theMap(MAPPKG2;curry;MAM;2!0,0) +--R (25) theMap(MAPPKG2;curry;MAM;2!0,0) --R Type: (() -> Integer) --E 25 @@ -61460,7 +62169,7 @@ fibs := curry(shiftfib, fibinit) --R [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, --R 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, --R 317811, 514229, 832040] ---R Type: List Integer +--R Type: List(Integer) --E 26 )spool )lisp (bye) @@ -61714,27 +62423,27 @@ MappingPackage2(A:SetCategory, C:SetCategory): MPcat == MPdef where --S 1 of 26 power(q: FRAC INT, n: INT): FRAC INT == q**n --R ---R Function declaration power : (Fraction Integer,Integer) -> Fraction ---R Integer has been added to workspace. +--R Function declaration power : (Fraction(Integer),Integer) -> Fraction +--R (Integer) has been added to workspace. --R Type: Void --E 1 --S 2 of 26 power(2,3) --R ---R Compiling function power with type (Fraction Integer,Integer) -> ---R Fraction Integer +--R Compiling function power with type (Fraction(Integer),Integer) -> +--R Fraction(Integer) --R --R (2) 8 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 2 --S 3 of 26 rewop := twist power --R --R ---I (3) theMap(MAPPKG3;twist;MM;5!0) ---R Type: ((Integer,Fraction Integer) -> Fraction Integer) +--R (3) theMap(MAPPKG3;twist;MM;5!0) +--R Type: ((Integer,Fraction(Integer)) -> Fraction(Integer)) --E 3 --S 4 of 26 @@ -61742,7 +62451,7 @@ rewop(3, 2) --R --R --R (4) 8 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 4 --S 5 of 26 @@ -61755,8 +62464,8 @@ square: FRAC INT -> FRAC INT square:= curryRight(power, 2) --R --R ---I (6) theMap(MAPPKG3;curryRight;MBM;1!0,0) ---R Type: (Fraction Integer -> Fraction Integer) +--R (6) theMap(MAPPKG3;curryRight;MBM;1!0,0) +--R Type: (Fraction(Integer) -> Fraction(Integer)) --E 6 --S 7 of 26 @@ -61764,15 +62473,15 @@ square 4 --R --R --R (7) 16 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 7 --S 8 of 26 squirrel:= constantRight(square)$MAPPKG3(FRAC INT,FRAC INT,FRAC INT) --R --R ---I (8) theMap(MAPPKG3;constantRight;MM;3!0) ---R Type: ((Fraction Integer,Fraction Integer) -> Fraction Integer) +--R (8) theMap(MAPPKG3;constantRight;MM;3!0) +--R Type: ((Fraction(Integer),Fraction(Integer)) -> Fraction(Integer)) --E 8 --S 9 of 26 @@ -61782,15 +62491,15 @@ squirrel(1/2, 1/3) --R 1 --R (9) - --R 4 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 9 --S 10 of 26 sixteen := curry(square, 4/1) --R --R ---I (10) theMap(MAPPKG2;curry;MAM;2!0,0) ---R Type: (() -> Fraction Integer) +--R (10) theMap(MAPPKG2;curry;MAM;2!0,0) +--R Type: (() -> Fraction(Integer)) --E 10 --S 11 of 26 @@ -61798,15 +62507,15 @@ sixteen() --R --R --R (11) 16 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 11 --S 12 of 26 square2:=square*square --R --R ---I (12) theMap(MAPPKG3;*;MMM;6!0,0) ---R Type: (Fraction Integer -> Fraction Integer) +--R (12) theMap(MAPPKG3;*;MMM;6!0,0) +--R Type: (Fraction(Integer) -> Fraction(Integer)) --E 12 --S 13 of 26 @@ -61814,13 +62523,13 @@ square2 3 --R --R --R (13) 81 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 13 --S 14 of 26 sc(x: FRAC INT): FRAC INT == x + 1 --R ---R Function declaration sc : Fraction Integer -> Fraction Integer has +--R Function declaration sc : Fraction(Integer) -> Fraction(Integer) has --R been added to workspace. --R Type: Void --E 14 @@ -61828,17 +62537,17 @@ sc(x: FRAC INT): FRAC INT == x + 1 --S 15 of 26 incfns := [sc**i for i in 0..10] --R ---R Compiling function sc with type Fraction Integer -> Fraction Integer ---R +--R Compiling function sc with type Fraction(Integer) -> Fraction( +--R Integer) --R --R (15) ---I [theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), ---I theMap(MAPPKG1;**;MNniM;6!0,0)] ---R Type: List (Fraction Integer -> Fraction Integer) +--R [theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0), theMap(MAPPKG1;**;MNniM;6!0,0), +--R theMap(MAPPKG1;**;MNniM;6!0,0)] +--R Type: List((Fraction(Integer) -> Fraction(Integer))) --E 15 --S 16 of 26 @@ -61846,7 +62555,7 @@ incfns := [sc**i for i in 0..10] --R --R --R (16) [4,5,6,7,8,9,10,11,12,13,14] ---R Type: List Fraction Integer +--R Type: List(Fraction(Integer)) --E 16 --S 17 of 26 @@ -61863,7 +62572,7 @@ r := recur(times) --R Compiling function times with type (NonNegativeInteger,Integer) -> --R Integer --R ---I (18) theMap(MAPPKG1;recur;2M;7!0,0) +--R (18) theMap(MAPPKG1;recur;2M;7!0,0) --R Type: ((NonNegativeInteger,Integer) -> Integer) --E 18 @@ -61871,7 +62580,7 @@ r := recur(times) fact := curryRight(r, 1) --R --R ---I (19) theMap(MAPPKG3;curryRight;MBM;1!0,0) +--R (19) theMap(MAPPKG3;curryRight;MBM;1!0,0) --R Type: (NonNegativeInteger -> Integer) --E 19 @@ -61895,10 +62604,10 @@ mto2ton(m, n) == mto2ton(3, 3) --R --R Compiling function mto2ton with type (PositiveInteger, ---R PositiveInteger) -> Fraction Integer +--R PositiveInteger) -> Fraction(Integer) --R --R (22) 6561 ---R Type: Fraction Integer +--R Type: Fraction(Integer) --E 22 --S 23 of 26 @@ -61908,7 +62617,7 @@ shiftfib(r: List INT) : INT == r.2 := r.2 + t t --R ---R Function declaration shiftfib : List Integer -> Integer has been +--R Function declaration shiftfib : List(Integer) -> Integer has been --R added to workspace. --R Type: Void --E 23 @@ -61918,15 +62627,15 @@ fibinit: List INT := [0, 1] --R --R --R (24) [0,1] ---R Type: List Integer +--R Type: List(Integer) --E 24 --S 25 of 26 fibs := curry(shiftfib, fibinit) --R ---R Compiling function shiftfib with type List Integer -> Integer +--R Compiling function shiftfib with type List(Integer) -> Integer --R ---I (25) theMap(MAPPKG2;curry;MAM;2!0,0) +--R (25) theMap(MAPPKG2;curry;MAM;2!0,0) --R Type: (() -> Integer) --E 25 @@ -61938,7 +62647,7 @@ fibs := curry(shiftfib, fibinit) --R [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, --R 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, --R 317811, 514229, 832040] ---R Type: List Integer +--R Type: List(Integer) --E 26 )spool )lisp (bye) @@ -118449,17 +119158,18 @@ NewtonInterpolation F: Exports == Implementation where --S 1 of 1 )show NewtonPolygon +--R --R NewtonPolygon(K: Ring,PolyRing: FiniteAbelianMonoidRing(K,E),E: DirectProductCategory(dim,NonNegativeInteger),dim: NonNegativeInteger) is a package constructor --R Abbreviation for NewtonPolygon is NPOLYGON --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for NPOLYGON --R --R------------------------------- Operations -------------------------------- ---R multiplicity : List List PolyRing -> NonNegativeInteger ---R negAndPosEdge : (PolyRing,List List PolyRing) -> List List PolyRing ---R newtonPolygon : (PolyRing,Integer,Integer,Union(left,center,right,vertical,horizontal)) -> List List PolyRing +--R multiplicity : List(List(PolyRing)) -> NonNegativeInteger +--R negAndPosEdge : (PolyRing,List(List(PolyRing))) -> List(List(PolyRing)) +--R newtonPolygon : (PolyRing,Integer,Integer,Union(left,center,right,vertical,horizontal)) -> List(List(PolyRing)) --R slope : (PolyRing,PolyRing) -> Record(height: Integer,base: Integer,quotient: Integer,reste: Integer,type: Union(left,center,right,vertical,horizontal)) ---R slope : List PolyRing -> Record(height: Integer,base: Integer,quotient: Integer,reste: Integer,type: Union(left,center,right,vertical,horizontal)) +--R slope : List(PolyRing) -> Record(height: Integer,base: Integer,quotient: Integer,reste: Integer,type: Union(left,center,right,vertical,horizontal)) --R --E 1 @@ -123771,6 +124481,7 @@ PackageForAlgebraicFunctionFieldOverFiniteField(K,symb,BLMET):Exp == Impl where --S 1 of 1 )show PackageForPoly +--R --R PackageForPoly(R: Ring,PolyRing: FiniteAbelianMonoidRing(R,E),E: DirectProductCategory(dim,NonNegativeInteger),dim: NonNegativeInteger) is a package constructor --R Abbreviation for PackageForPoly is PFORP --R This constructor is exposed in this frame. @@ -123778,24 +124489,25 @@ PackageForAlgebraicFunctionFieldOverFiniteField(K,symb,BLMET):Exp == Impl where --R --R------------------------------- Operations -------------------------------- --R constant : PolyRing -> R firstExponent : PolyRing -> E ---R listAllMonoExp : Integer -> List E listVariable : () -> List PolyRing --R minimalForm : PolyRing -> PolyRing --R degOneCoef : (PolyRing,PositiveInteger) -> R --R degree : (PolyRing,Integer) -> NonNegativeInteger --R degreeOfMinimalForm : PolyRing -> NonNegativeInteger --R homogenize : (PolyRing,Integer) -> PolyRing ---R listAllMono : NonNegativeInteger -> List PolyRing +--R listAllMono : NonNegativeInteger -> List(PolyRing) +--R listAllMonoExp : Integer -> List(E) +--R listVariable : () -> List(PolyRing) --R mapExponents : ((E -> E),PolyRing) -> PolyRing ---R monomials : PolyRing -> List PolyRing +--R monomials : PolyRing -> List(PolyRing) --R replaceVarByOne : (PolyRing,Integer) -> PolyRing --R replaceVarByZero : (PolyRing,Integer) -> PolyRing --R subs1stVar : (PolyRing,PolyRing) -> PolyRing --R subs2ndVar : (PolyRing,PolyRing) -> PolyRing --R subsInVar : (PolyRing,PolyRing,Integer) -> PolyRing --R totalDegree : PolyRing -> NonNegativeInteger ---R translate : (PolyRing,List R,Integer) -> PolyRing ---R translate : (PolyRing,List R) -> PolyRing ---R univariate : PolyRing -> SparseUnivariatePolynomial R +--R translate : (PolyRing,List(R),Integer) -> PolyRing +--R translate : (PolyRing,List(R)) -> PolyRing +--R univariate : PolyRing -> SparseUnivariatePolynomial(R) --R --E 1 @@ -124209,369 +124921,6 @@ PadeApproximantPackage(R: Field, x:Symbol, pt:R): Exports == Implementation wher \pagehead{PadeApproximants}{PADE} \pagepic{ps/v104padeapproximants.ps}{PADE}{1.00} -From Jeffrey (pp413-415): - -An effective and concise form of approximation is provided by Pad\'e -approximation in which a function $f(x)$ defined over an interval -$a \le x \le b$ is approximated by a function of the form $F(x) = N(x)/D(x)$, -where $N(x)$ and $D(x)$ are polynomials with no common zeros. -This type of approximation can be used with functions $f(x)$ -that are analytic over the interval $a \le x \le b$, and also with -functions that have singularities in the interval at which the -function becomes infinite. In the latter case the zeros of $D(x)$ are -chosen to coincide with the singularities of $f(x)$ inside the -interval. - -Unless there is a reason to do otherwise, the degrees of the -polynomial $N(x)$ in the numerator and $D(x)$ in the denominator of a -Pad\'e approximation are usually chosen to be the same. If, however, the -function $f(x)$ to be approximated is an even function, $N(x)$ and -$D(x)$ are both chosen to be even functions, while if $f(x)$ is odd, -one of the functions $N(x)$ and $D(x)$ is chosen to be even and the -other to be odd. As already stated, when the function to be -approximated has singularities in the interval, the zeros of $D(x)$ -are taken to coincide with the singularities. - -The determination of a Pad\'e approximation $F(x)$ for $f(x)$ over the -interval $a \le x \le b$ is determined as follows where, by way of -example, $f(x)$ is supposed to be neither even nor odd so the degrees -of $N(x)$ and $D(x)$ are both taken to be $n$. Setting -\[ -F(x) = \frac{a_1(x-a)^n + a_2(x-a)^{n-1} + \cdots + a_n(x-a) + f(a)} -{b_1(x-a)^n + b_2(x-a)^{n-1} + \cdots + b_n(x-a) + 1} -\] - -the values of $f(x)$ are computed at $2n$ points $x_1$, $x_2$, -$\ldots$, $x_{2n}$ distributed over the interval\\ -$a \le x \le b$ -in such a way that the functional values at these points provide -a good representation of $f(x)$ away from any singularities that -might occur. Set $f_r = f(x_r)$ with $r=1,2,\ldots,2n$, where the -initial point $x=a$ is excluded from this set of $2n$ points. Then, -for each value $x$, set $F(x_r)=f_r$, so that after multiplication -of $F(x)$ by -\[ -b_1(x_r-a)^n + \ldots + b_n(x_r-a) + 1, -\] - -\[ -a_1(x_r-a)^n+\ldots+a_n(x_r-a)+f(a)= -f_r[b_1(x_r-a)^n + \ldots + b_n(x_r-a) + 1] -\] - -with $r=1,2,\ldots{},2n$. These $2n$ equations determine the $2n$ -coefficients $a_1$, $a_2$, $\ldots$, $a_n$, $b_1$, $b_2$, $\ldots$, -$b_n$ to be used in the Pad\'e approximation. - -The approach is different if $f(x)$ is analytic in an interval of -interest that contains no singularities of $f(x)$ and the function -is known in the form of a power series. The method used in such a -case is illustrated by finding a Pad\'e approximation for $sin(x)$ -based on the first four terms of its Maclaurin series -\[ -sin(x) = x - \frac{1}{6}x^3 + \frac{1}{120}x^5 - \frac{1}{5040}x^5 -\] - -the sine function is an odd function, so a Pad\'e approximation -is sought of the form -\[ -x - \frac{1}{6}x^3 + \frac{1}{120}x^5 - \frac{1}{5040}x^5 = -\frac{x+a_1 x^3}{1+b_1 x^2+b_2 x^4} -\] - -where the numerator is an odd polynomial function of degree three -and the denominator is an even polynomial of degree four. - -Multiplying this representation by $1+b_1 x^2 +b_2 x^4$ and -equating corresponding powers of $x$ on each side of the equation gives: -\[ -b_1-\frac{1}{6}=a_1,\quad -b_2-\frac{1}{6}b_1+\frac{1}{120}=0,\quad --\frac{1}{5040}+\frac{1}{120}b_1-\frac{1}{6}b_2=0 -\] -so $a_1=-31/294$, $b_1=3/49$ and $b_2=11/5880$. Substituting for -$a_1$, $b_1$, and $b_2$ in the original expression and clearing -fractions shows that the required Pad\'e approximation to be -\[ -sin(x) \approx F(x) = \frac{5880x-620x^3}{5880+360x^2+11x^4} -\] - -The positive zero of the numerator at 3.07959 provides a surprisingly -good approximation to the zero of $sin(x)$ at $\pi = 3.14159\ldots$ -despite the very few terms used in the Maclaurin series for $sin(x)$. -The Pad\'e approximations $F(1)=0.84147$, $F(2) = 0.90715$, and -$F(3) = 0.08990$, should be compared with the true values -$sin(1)=0.84147\ldots$, $sin(2)=0.90929\ldots$ and -$sin(3)=0.14112\ldots$. - -An example of a Pad\'e approximation to an analytic function that is -neither even or odd is provided by an approximation to $exp(-x)$, -based on the first nine terms of its Maclaurin series expansion -and a rational approximation in which the numerator and denominator -are both of degree four, yields -\[ -exp(-x) \approx F(x) = -\frac{1680 - 840x + 180x^2 - 20x^3 + x^4} -{1680 + 840x + 180x^2 + 20x^3 + x^4} -\] - -This approximation gives $F(-1)=2.718281$, that should be compared -with the true value $exp(1)=e=2.718281\ldots$, similarly -$F(-2)=7.388889$ should be compared with the true value -$exp(2)=7.389056\ldots$ and $F(-3)=20.065421$ should be compared -with the true value $exp(3)=20.085536\ldots$. - -A final example is provided by the Pad\'e approximation to the odd -function $tan(x)$, based on the first five terms of its Maclaurin -series expansion and a rational function approximation in which the -numerator is an odd function of degree five and the denominator is -an even function of degree four. - -In this case the Pad\'e approximation becomes -\[ -tan(x) \approx F(x) = -\frac{945x - 105x^3 + x^5}{945 - 420x^2 + 15x^4} -\] - -The smallest positive zero of the denominator -$945 - 420x^2 + 15x^4$ gives for the approximation to -$\pi/2 = 1.57079\ldots$ the surprisingly accurate estimate -$\pi/2 \approx 1.57081$. The value $F(1.1)=1.96476$ should be -compared with the true value -$tan(1.1)=1.964759\ldots$, the value $F(1.5)=14.10000$ should be -compared to the true value $tan(1.5)=14.10141\ldots$ and the -value $F(1.57)=1237.89816$ should be compared with the true value\\ -$tan(1.57)=1255.76559\ldots$. - -\begin{chunk}{PadeApproximants.input} -)set break resume -)sys rm -f PadeApproximants.output -)spool PadeApproximants.output -)set message test on -)set message auto off -)clear all - ---S 1 of 30 -F(x:PI):DFLOAT == (5880*x-620*x^3)/(5880+360*x^2+11*x^4) ---R Function declaration F : PositiveInteger -> DoubleFloat has been ---R added to workspace. ---R Type: Void ---E 1 - ---S 2 of 30 -F(1) ---R Compiling function F with type PositiveInteger -> DoubleFloat ---R ---R (2) 0.84146536554151341 ---R Type: DoubleFloat ---E 2 - ---S 3 of 30 -sin(1)::EXPR(DFLOAT) ---R ---R (3) 0.8414709848078965 ---R Type: Expression(DoubleFloat) ---E 3 - ---S 4 of 30 -F(1)-sin(1) ---R ---R (4) - 5.6192663830945122E-6 ---R Type: Expression(DoubleFloat) ---E 4 - ---S 5 of 30 -F(2) ---R ---R (5) 0.90715048025613665 ---R Type: DoubleFloat ---E 5 - ---S 6 of 30 -sin(2)::EXPR(DFLOAT) ---R ---R (6) 0.90929742682568171 ---R Type: Expression(DoubleFloat) ---E 6 - ---S 7 of 30 -F(2)-sin(2) ---R ---R (7) - 2.1469465695450607E-3 ---R Type: Expression(DoubleFloat) ---E 7 - ---S 8 of 30 -F(3) ---R ---R (8) 8.9901108780341618E-2 ---R Type: DoubleFloat ---E 8 - ---S 9 of 30 -sin(3)::EXPR(DFLOAT) ---R ---R (9) 0.14112000805986721 ---R Type: Expression(DoubleFloat) ---E 9 - ---S 10 of 30 -F(3)-sin(3) ---R ---R (10) - 5.1218899279525595E-2 ---R Type: Expression(DoubleFloat) ---E 10 - -)clear all - ---S 11 of 30 -F(x:INT):DFLOAT == _ - (1680-840*x+180*x^2-20*x^3+x^4)/(1680+840*x+180*x^2+20*x^3+x^4) ---R ---R Function declaration F : Integer -> DoubleFloat has been added to ---R workspace. ---R Type: Void ---E 11 - ---S 12 of 30 -F(-1) ---R Compiling function F with type Integer -> DoubleFloat ---R ---R (2) 2.7182817182817183 ---R Type: DoubleFloat ---E 12 - ---S 13 of 30 -exp(1)::EXPR(DFLOAT) ---R ---R (3) 2.7182818284590451 ---R Type: Expression(DoubleFloat) ---E 13 - ---S 14 of 30 -F(-1)-exp(1) ---R ---R (4) - 1.1017732681750658E-7 ---R Type: Expression(DoubleFloat) ---E 14 - ---S 15 of 30 -F(-2) ---R ---R (5) 7.3888888888888893 ---R Type: DoubleFloat ---E 15 - ---S 16 of 30 -exp(2)::EXPR(DFLOAT) ---R ---R (6) 7.3890560989306504 ---R Type: Expression(DoubleFloat) ---E 16 - ---S 17 of 30 -F(-2)-exp(2) ---R ---R (7) - 1.6721004176112331E-4 ---R Type: Expression(DoubleFloat) ---E 17 - ---S 18 of 30 -F(-3) ---R ---R (8) 20.065420560747665 ---R Type: DoubleFloat ---E 18 - ---S 19 of 30 -exp(3)::EXPR(DFLOAT) ---R ---R (9) 20.085536923187668 ---R Type: Expression(DoubleFloat) ---E 19 - ---S 20 of 30 -F(-3)-exp(3) ---R ---R (10) - 2.0116362440003144E-2 ---R Type: Expression(DoubleFloat) ---E 20 - -)clear all - ---S 21 of 30 -F(x) == (945*x - 105*x^3+x^5)/(945-420*x^2+15*x^4) ---R Type: Void ---E 21 - ---S 22 of 30 -F(1.1) ---R Compiling function F with type Float -> Float ---R ---R (2) 1.9647583984 270694032 ---R Type: Float ---E 22 - ---S 23 of 30 -tan(1.1) ---R ---R (3) 1.9647596572 486519509 ---R Type: Float ---E 23 - ---S 24 of 30 -F(1.1)-tan(1.1) ---R ---R (4) - 0.0000012588 215825478 ---R Type: Float ---E 24 - ---S 25 of 30 -F(1.5) ---R ---R (5) 14.1 ---R Type: Float ---E 25 - ---S 26 of 30 -tan(1.5) ---R ---R (6) 14.1014199471 71719388 ---R Type: Float ---E 26 - ---S 27 of 30 -F(1.5)-tan(1.5) ---R ---R (7) - 0.0014199471 71719388 ---R Type: Float ---E 27 - ---S 28 of 30 -F(1.57) ---R ---R (8) 1237.8982990170 10806 ---R Type: Float ---E 28 - ---S 29 of 30 -tan(1.57) ---R ---R (9) 1255.7655915006 916051 ---R Type: Float ---E 29 - ---S 30 of 30 -F(1.57)-tan(1.57) ---R ---R (10) - 17.8672924836 807991 ---R Type: Float ---E 30 - -)spool -)lisp (bye) -\end{chunk} - {\bf Exports:}\\ \begin{tabular}{ll} \cross{PADE}{pade} & @@ -124587,9 +124936,8 @@ F(1.57)-tan(1.57) ++ Examples: ++ References: ++ "Pade Approximants, Part I: Basic Theory", Baker & Graves-Morris. -++ "Handbook of Mathematical Formulas and Integrals" Alan Jeffrey ++ Description: -++ This package computes reliable Pade. approximants using +++ This package computes reliable Pad&ea. approximants using ++ a generalized Viskovatov continued fraction algorithm. PadeApproximants(R,PS,UP): Exports == Implementation where @@ -125812,13 +126160,14 @@ ParametricSurfaceFunctions2(CF1: Type, CF2:Type): with --S 1 of 1 )show ParametrizationPackage ---R ParametrizationPackage(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K,PCS: LocalPowerSeriesCategory K,Plc: PlacesCategory(K,PCS)) is a package constructor +--R +--R ParametrizationPackage(K: Field,symb: List(Symbol),PolyRing: PolynomialCategory(K,E,OrderedVariableList(symb)),E: DirectProductCategory(#(symb),NonNegativeInteger),ProjPt: ProjectiveSpaceCategory(K),PCS: LocalPowerSeriesCategory(K),Plc: PlacesCategory(K,PCS)) is a package constructor --R Abbreviation for ParametrizationPackage is PARAMP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for PARAMP --R --R------------------------------- Operations -------------------------------- ---R parametrize : (PolyRing,List PCS) -> PCS +--R parametrize : (PolyRing,List(PCS)) -> PCS --R parametrize : (PolyRing,Plc) -> PCS --R parametrize : (PolyRing,PolyRing,Plc) -> PCS --R parametrize : (PolyRing,Plc,Integer) -> PCS @@ -125943,7 +126292,7 @@ a:=x+1/(y+1) --R x y + x + 1 --R (1) ----------- --R y + 1 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 1 --S 2 of 4 @@ -125952,7 +126301,7 @@ partialFraction(a,y)$PFRPAC(INT) --R 1 --R (2) x + ----- --R y + 1 ---R Type: PartialFraction UnivariatePolynomial(y,Fraction Polynomial Integer) +--R Type: PartialFraction(UnivariatePolynomial(y,Fraction(Polynomial(Integer)))) --E 2 --S 3 of 4 @@ -125961,7 +126310,7 @@ b:=y+1/(x+1) --R (x + 1)y + 1 --R (3) ------------ --R x + 1 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 3 --S 4 of 4 @@ -125970,7 +126319,7 @@ partialFraction(b,x)$PFRPAC(INT) --R 1 --R (4) y + ----- --R x + 1 ---R Type: PartialFraction UnivariatePolynomial(x,Fraction Polynomial Integer) +--R Type: PartialFraction(UnivariatePolynomial(x,Fraction(Polynomial(Integer)))) --E 4 )spool @@ -127762,7 +128111,7 @@ kn n == --S 2 of 3 permanent(kn(5) :: SQMATRIX(5,INT)) --R ---R Compiling function kn with type PositiveInteger -> Matrix Integer +--R Compiling function kn with type PositiveInteger -> Matrix(Integer) --R --R (2) 44 --R Type: PositiveInteger @@ -127778,7 +128127,7 @@ permanent(kn(5) :: SQMATRIX(5,INT)) --R --R (3) --R [0,1,2,9,44,265,1854,14833,133496,1334961,14684570,176214841,2290792932] ---R Type: List NonNegativeInteger +--R Type: List(NonNegativeInteger) --E 3 )spool )lisp (bye) @@ -128620,16 +128969,17 @@ PRJALGPK ProjectiveAlgebraicSetPackage --S 1 of 1 )show ProjectiveAlgebraicSetPackage ---R ProjectiveAlgebraicSetPackage(K: Field,symb: List Symbol,PolyRing: PolynomialCategory(K,E,OrderedVariableList symb),E: DirectProductCategory(# symb,NonNegativeInteger),ProjPt: ProjectiveSpaceCategory K) is a package constructor +--R +--R ProjectiveAlgebraicSetPackage(K: Field,symb: List(Symbol),PolyRing: PolynomialCategory(K,E,OrderedVariableList(symb)),E: DirectProductCategory(#(symb),NonNegativeInteger),ProjPt: ProjectiveSpaceCategory(K)) is a package constructor --R Abbreviation for ProjectiveAlgebraicSetPackage is PRJALGPK --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for PRJALGPK --R --R------------------------------- Operations -------------------------------- ---R algebraicSet : List PolyRing -> List ProjPt ---R rationalPoints : (PolyRing,PositiveInteger) -> List ProjPt ---R singularPoints : PolyRing -> List ProjPt ---R singularPointsWithRestriction : (PolyRing,List PolyRing) -> List ProjPt +--R algebraicSet : List(PolyRing) -> List(ProjPt) +--R rationalPoints : (PolyRing,PositiveInteger) -> List(ProjPt) +--R singularPoints : PolyRing -> List(ProjPt) +--R singularPointsWithRestriction : (PolyRing,List(PolyRing)) -> List(ProjPt) --R --E 1 @@ -129457,7 +129807,8 @@ PointsOfFiniteOrderTools(UP, UPUP): Exports == Implementation where --S 1 of 1 )show PolynomialPackageForCurve ---R PolynomialPackageForCurve(K: Field,PolyRing: FiniteAbelianMonoidRing(K,E),E: DirectProductCategory(dim,NonNegativeInteger),dim: NonNegativeInteger,ProjPt: ProjectiveSpaceCategory K) is a package constructor +--R +--R PolynomialPackageForCurve(K: Field,PolyRing: FiniteAbelianMonoidRing(K,E),E: DirectProductCategory(dim,NonNegativeInteger),dim: NonNegativeInteger,ProjPt: ProjectiveSpaceCategory(K)) is a package constructor --R Abbreviation for PolynomialPackageForCurve is PLPKCRV --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for PLPKCRV @@ -129468,7 +129819,7 @@ PointsOfFiniteOrderTools(UP, UPUP): Exports == Implementation where --R minimalForm : (PolyRing,ProjPt,Integer) -> PolyRing --R multiplicity : (PolyRing,ProjPt) -> NonNegativeInteger --R multiplicity : (PolyRing,ProjPt,Integer) -> NonNegativeInteger ---R pointInIdeal? : (List PolyRing,ProjPt) -> Boolean +--R pointInIdeal? : (List(PolyRing),ProjPt) -> Boolean --R translateToOrigin : (PolyRing,ProjPt,Integer) -> PolyRing --R translateToOrigin : (PolyRing,ProjPt) -> PolyRing --R @@ -136628,7 +136979,6 @@ QuotientFieldCategoryFunctions2(A, B, R, S): Exports == Impl where )set message auto off )clear all -(1) -> )read af --S 1 of 4 q := quatern(2/11,-8,3/4,1) --R @@ -136636,33 +136986,33 @@ q := quatern(2/11,-8,3/4,1) --R 2 3 --R (1) -- - 8i + - j + k --R 11 4 ---R Type: Quaternion Fraction Integer +--R Type: Quaternion(Fraction(Integer)) --E 1 --S 2 of 4 f(a:Fraction Integer):Complex Fraction Integer == a::Complex Fraction Integer --R ---R Function declaration f : Fraction Integer -> Complex Fraction ---R Integer has been added to workspace. +--R Function declaration f : Fraction(Integer) -> Complex(Fraction( +--R Integer)) has been added to workspace. --R Type: Void --E 3 --S 3 of 4 map(f,q) --R ---R Compiling function f with type Fraction Integer -> Complex Fraction ---R Integer +--R Compiling function f with type Fraction(Integer) -> Complex(Fraction +--R (Integer)) --R --R 2 3 --R (3) -- - 8i + - j + k --R 11 4 ---R Type: Quaternion Complex Fraction Integer +--R Type: Quaternion(Complex(Fraction(Integer))) --E 3 --S 4 of 4 )show QuaternionCategoryFunctions2 --R ---R QuaternionCategoryFunctions2(QR: QuaternionCategory R,R: CommutativeRing,QS: QuaternionCategory S,S: CommutativeRing) is a package constructor +--R QuaternionCategoryFunctions2(QR: QuaternionCategory(R),R: CommutativeRing,QS: QuaternionCategory(S),S: CommutativeRing) is a package constructor --R Abbreviation for QuaternionCategoryFunctions2 is QUATCT2 --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for QUATCT2 @@ -136981,7 +137331,7 @@ b:Fraction(Polynomial(Integer)):=(3*x^3+7)/(5*x^2-13) --R (1) -------- --R 2 --R 5x - 13 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 1 --S 2 of 14 @@ -136994,7 +137344,7 @@ radicalSolve(b,x) --R [x= ------,x= -------------------------,x= ---------------------------] --R 3+-+ 3+-+ 3+-+ --R \|3 2\|3 2\|3 ---R Type: List Equation Expression Integer +--R Type: List(Equation(Expression(Integer))) --E 2 --S 3 of 14 @@ -137007,7 +137357,7 @@ radicalSolve(b) --R [x= ------,x= -------------------------,x= ---------------------------] --R 3+-+ 3+-+ 3+-+ --R \|3 2\|3 2\|3 ---R Type: List Equation Expression Integer +--R Type: List(Equation(Expression(Integer))) --E 3 --S 4 of 14 @@ -137020,7 +137370,7 @@ radicalSolve(b=0,x) --R [x= ------,x= -------------------------,x= ---------------------------] --R 3+-+ 3+-+ 3+-+ --R \|3 2\|3 2\|3 ---R Type: List Equation Expression Integer +--R Type: List(Equation(Expression(Integer))) --E 4 --S 5 of 14 @@ -137033,7 +137383,7 @@ radicalSolve(b=0) --R [x= ------,x= -------------------------,x= ---------------------------] --R 3+-+ 3+-+ 3+-+ --R \|3 2\|3 2\|3 ---R Type: List Equation Expression Integer +--R Type: List(Equation(Expression(Integer))) --E 5 --S 6 of 14 @@ -137045,7 +137395,7 @@ radicalRoots(b,x) --R (6) [------,-------------------------,---------------------------] --R 3+-+ 3+-+ 3+-+ --R \|3 2\|3 2\|3 ---R Type: List Expression Integer +--R Type: List(Expression(Integer)) --E 6 --S 7 of 14 @@ -137056,7 +137406,7 @@ contractSolve(b=0,x) --R 3+--+ (\|- 1 \|3 - 1)\|%A (- \|- 1 \|3 - 1)\|%A 7 --R (7) [\|%A ,---------------------,-----------------------] | [%A= - -] --R 2 2 3 ---R Type: SuchThat(List Expression Integer,List Equation Expression Integer) +--RType: SuchThat(List(Expression(Integer)),List(Equation(Expression(Integer)))) --E 7 --S 8 of 14 @@ -137067,7 +137417,7 @@ contractSolve(b,x) --R 3+--+ (\|- 1 \|3 - 1)\|%B (- \|- 1 \|3 - 1)\|%B 7 --R (8) [\|%B ,---------------------,-----------------------] | [%B= - -] --R 2 2 3 ---R Type: SuchThat(List Expression Integer,List Equation Expression Integer) +--RType: SuchThat(List(Expression(Integer)),List(Equation(Expression(Integer)))) --E 8 --S 9 of 14 @@ -137078,7 +137428,7 @@ c:Fraction(Polynomial(Integer)):=(y^2+4)/(y+1) --R y + 4 --R (9) ------ --R y + 1 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 9 --S 10 of 14 @@ -137106,7 +137456,7 @@ radicalSolve([b,c],[x,y]) --R [x= -------------------------,y= 2\|- 1 ], [x= ------,y= 2\|- 1 ]] --R 3+-+ 3+-+ --R 2\|3 \|3 ---R Type: List List Equation Expression Integer +--R Type: List(List(Equation(Expression(Integer)))) --E 10 --S 11 of 14 @@ -137134,7 +137484,7 @@ radicalSolve([b,c]) --R [x= -------------------------,y= 2\|- 1 ], [x= ------,y= 2\|- 1 ]] --R 3+-+ 3+-+ --R 2\|3 \|3 ---R Type: List List Equation Expression Integer +--R Type: List(List(Equation(Expression(Integer)))) --E 11 --S 12 of 14 @@ -137162,7 +137512,7 @@ radicalSolve([b=0,c=0],[x,y]) --R [x= -------------------------,y= 2\|- 1 ], [x= ------,y= 2\|- 1 ]] --R 3+-+ 3+-+ --R 2\|3 \|3 ---R Type: List List Equation Expression Integer +--R Type: List(List(Equation(Expression(Integer)))) --E 12 --S 13 of 14 @@ -137190,7 +137540,7 @@ radicalSolve([b=0,c=0]) --R [x= -------------------------,y= 2\|- 1 ], [x= ------,y= 2\|- 1 ]] --R 3+-+ 3+-+ --R 2\|3 \|3 ---R Type: List List Equation Expression Integer +--R Type: List(List(Equation(Expression(Integer)))) --E 13 --S 14 of 14 @@ -137218,7 +137568,7 @@ radicalRoots([b,c],[x,y]) --R [------,2\|- 1 ]] --R 3+-+ --R \|3 ---R Type: List List Expression Integer +--R Type: List(List(Expression(Integer))) --E 14 )spool @@ -138887,7 +139237,7 @@ sum(i::Polynomial(Integer),variable(i=1..n)) --R 6i - 6i + 1 --R (1) ------------ --R 12 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 1 --S 2 of 13 @@ -138898,7 +139248,7 @@ sum(i::Fraction(Polynomial(Integer)),i::Symbol) --R 6i - 6i + 1 --R (2) ------------ --R 12 ---R Type: Union(Fraction Polynomial Integer,...) +--R Type: Union(Fraction(Polynomial(Integer)),...) --E 2 --S 3 of 13 @@ -138909,7 +139259,7 @@ sum(i,i=1..n) --R n + n --R (3) ------ --R 2 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 3 --S 4 of 13 @@ -138920,7 +139270,7 @@ sum(i::Fraction(Polynomial(Integer)),i=1..n) --R n + n --R (4) ------ --R 2 ---R Type: Union(Fraction Polynomial Integer,...) +--R Type: Union(Fraction(Polynomial(Integer)),...) --E 4 --S 5 of 13 @@ -138928,7 +139278,7 @@ s:=i=1..n --R --R --R (5) i= 1..n ---R Type: SegmentBinding Polynomial Integer +--R Type: SegmentBinding(Polynomial(Integer)) --E 5 --S 6 of 13 @@ -138936,7 +139286,7 @@ hiseg:=high(segment(s)) --R --R --R (6) n ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 6 --S 7 of 13 @@ -138944,7 +139294,7 @@ loseg:=low(segment(s)) --R --R --R (7) 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 7 --S 8 of 13 @@ -138960,7 +139310,7 @@ p:=i::Polynomial(Integer) --R --R --R (9) i ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 9 --S 10 of 13 @@ -138971,7 +139321,7 @@ f:=sum(p,v) --R 6i - 6i + 1 --R (10) ------------ --R 12 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 10 --S 11 of 13 @@ -138982,7 +139332,7 @@ t1:=eval(f,v,(1+hiseg)) --R 6n + 6n + 1 --R (11) ------------ --R 12 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 11 --S 12 of 13 @@ -138992,7 +139342,7 @@ t2:=eval(f,v,loseg) --R 1 --R (12) -- --R 12 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 12 --S 13 of 13 @@ -139003,7 +139353,7 @@ t1-t2 --R n + n --R (13) ------ --R 2 ---R Type: Fraction Polynomial Integer +--R Type: Fraction(Polynomial(Integer)) --E 13 )spool @@ -140362,7 +140712,7 @@ p := 4*x^3 - 3*x^2 + 2*x - 4 --R --R 3 2 --R (1) 4x - 3x + 2x - 4 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 1 --S 2 of 13 @@ -140370,7 +140720,7 @@ ans1 := solve(p,0.01)$REALSOLV --R --R --R (2) [1.11328125] ---R Type: List Float +--R Type: List(Float) --E 2 --S 3 of 13 @@ -140378,7 +140728,7 @@ ans2 := solve(p::POLY(FRAC(INT)),0.01)$REALSOLV --R --R --R (3) [1.11328125] ---R Type: List Float +--R Type: List(Float) --E 3 --S 4 of 13 @@ -140394,7 +140744,7 @@ ls : List Symbol := [x,y,z,t] --R --R --R (5) [x,y,z,t] ---R Type: List Symbol +--R Type: List(Symbol) --E 5 --S 6 of 13 @@ -140402,7 +140752,7 @@ ls2 : List Symbol := [x,y,z,t,new()$Symbol] --R --R --R (6) [x,y,z,t,%A] ---R Type: List Symbol +--R Type: List(Symbol) --E 6 --S 7 of 13 @@ -140419,7 +140769,7 @@ p1 := x**2*y*z + y*z --R --R 2 --R (8) (x + 1)y z ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 8 --S 9 of 13 @@ -140428,7 +140778,7 @@ p2 := x**2*y**2*z + x + z --R --R 2 2 --R (9) (x y + 1)z + x ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 9 --S 10 of 13 @@ -140437,7 +140787,7 @@ p3 := x**2*y**2*z**2 + z + 1 --R --R 2 2 2 --R (10) x y z + z + 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 10 --S 11 of 13 @@ -140446,7 +140796,7 @@ lp := [p1, p2, p3] --R --R 2 2 2 2 2 2 --R (11) [(x + 1)y z,(x y + 1)z + x,x y z + z + 1] ---R Type: List Polynomial Integer +--R Type: List(Polynomial(Integer)) --E 11 --S 12 of 13 @@ -140454,7 +140804,7 @@ lsv:List(Symbol):=[x,y,z] --R --R --R (12) [x,y,z] ---R Type: List Symbol +--R Type: List(Symbol) --E 12 --S 13 of 13 @@ -140462,7 +140812,7 @@ ans3 := realSolve(lp,lsv,0.01)$REALSOLV --R --R --R (13) [[1.0,0.0,- 1.0]] ---R Type: List List Float +--R Type: List(List(Float)) --E 13 )spool @@ -143854,15 +144204,17 @@ RetractSolvePackage(Q, R): Exports == Implementation where --S 1 of 1 )show RootsFindingPackage ---R RootsFindingPackage K: Field is a package constructor +--R +--R RootsFindingPackage(K: Field) is a package constructor --R Abbreviation for RootsFindingPackage is RFP --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for RFP --R --R------------------------------- Operations -------------------------------- ---R foundZeroes : () -> List K setFoundZeroes : List K -> List K ---R distinguishedCommonRootsOf : (List SparseUnivariatePolynomial K,K) -> Record(zeros: List K,extDegree: Integer) ---R distinguishedRootsOf : (SparseUnivariatePolynomial K,K) -> Record(zeros: List K,extDegree: Integer) +--R foundZeroes : () -> List(K) +--R distinguishedCommonRootsOf : (List(SparseUnivariatePolynomial(K)),K) -> Record(zeros: List(K),extDegree: Integer) +--R distinguishedRootsOf : (SparseUnivariatePolynomial(K),K) -> Record(zeros: List(K),extDegree: Integer) +--R setFoundZeroes : List(K) -> List(K) --R --E 1 @@ -147064,13 +147416,14 @@ StreamTaylorSeriesOperations(A): Exports == Implementation where --S 1 of 1 )show StreamTensor ---R StreamTensor R: Type is a package constructor +--R +--R StreamTensor(R: Type) is a package constructor --R Abbreviation for StreamTensor is STNSR --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for STNSR --R --R------------------------------- Operations -------------------------------- ---R tensorMap : (Stream R,(R -> List R)) -> Stream R +--R tensorMap : (Stream(R),(R -> List(R))) -> Stream(R) --R --E 1 @@ -153291,7 +153644,7 @@ solve(1/2*v*v*cos(theta+phi)*cos(theta+phi)+g*l*cos(phi)=g*l,phi) --R + --R - theta --R ] ---R Type: List Equation Expression Integer +--R Type: List(Equation(Expression(Integer))) --E 1 --S 2 of 4 @@ -153313,7 +153666,7 @@ definingPolynomial %phi0 --R 2 theta 2 2 --R v tan(-----) + v - 4g l --R 2 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 2 --S 3 of 4 @@ -153349,23 +153702,23 @@ definingPolynomial %phi1 --R 2 theta 2 2 --R v tan(-----) + v - 4g l --R 2 ---R Type: Expression Integer +--R Type: Expression(Integer) --E 3 --S 4 of 4 )show TransSolvePackage --R ---R TransSolvePackage R: Join(OrderedSet,EuclideanDomain,RetractableTo Integer,LinearlyExplicitRingOver Integer,CharacteristicZero) is a package constructor +--R TransSolvePackage(R: Join(OrderedSet,EuclideanDomain,RetractableTo(Integer),LinearlyExplicitRingOver(Integer),CharacteristicZero)) is a package constructor --R Abbreviation for TransSolvePackage is SOLVETRA --R This constructor is exposed in this frame. --R Issue )edit bookvol10.4.pamphlet to see algebra source code for SOLVETRA --R --R------------------------------- Operations -------------------------------- ---R solve : Expression R -> List Equation Expression R ---R solve : Equation Expression R -> List Equation Expression R ---R solve : (Equation Expression R,Symbol) -> List Equation Expression R ---R solve : (Expression R,Symbol) -> List Equation Expression R ---R solve : (List Equation Expression R,List Symbol) -> List List Equation Expression R +--R solve : Expression(R) -> List(Equation(Expression(R))) +--R solve : Equation(Expression(R)) -> List(Equation(Expression(R))) +--R solve : (Equation(Expression(R)),Symbol) -> List(Equation(Expression(R))) +--R solve : (Expression(R),Symbol) -> List(Equation(Expression(R))) +--R solve : (List(Equation(Expression(R))),List(Symbol)) -> List(List(Equation(Expression(R)))) --R --E 4 @@ -156899,11 +157252,11 @@ ViewDefaultsPackage():Exports == Implementation where viewPosDefault : () -> L NNI ++ viewPosDefault() returns the default x and y position of a ++ viewport window unless overriden explicityly, newly created - ++ viewports will have this x and y coordinate. + ++ viewports will have this X and Y coordinate. viewPosDefault : L NNI -> L NNI ++ viewPosDefault([x,y]) sets the default x and y position of a ++ viewport window unless overriden explicityly, newly created - ++ viewports will have this x and y coordinates x, y. + ++ viewports will have th X and Y coordinates x, y. viewSizeDefault : () -> L PI ++ viewSizeDefault() returns the default viewport width and height. viewSizeDefault : L PI -> L PI @@ -157681,7 +158034,7 @@ ls : List Symbol := [x,y,z,t] --R --R --R (2) [x,y,z,t] ---R Type: List Symbol +--R Type: List(Symbol) --E 2 --S 3 of 28 @@ -157689,7 +158042,7 @@ ls2 : List Symbol := [x,y,z,t,new()$Symbol] --R --R --R (3) [x,y,z,t,%A] ---R Type: List Symbol +--R Type: List(Symbol) --E 3 --S 4 of 28 @@ -157706,7 +158059,7 @@ p1 := x**2*y*z + x*y**2*z + x*y*z**2 + x*y*z + x*y + x*z + y*z --R --R 2 2 2 --R (5) x y z + (x y + (x + x + 1)y + x)z + x y ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 5 --S 6 of 28 @@ -157715,7 +158068,7 @@ p2 := x**2*y**2*z + x*y**2*z**2 + x**2*y*z + x*y*z + y*z + x + z --R --R 2 2 2 2 2 --R (6) x y z + (x y + (x + x + 1)y + 1)z + x ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 6 --S 7 of 28 @@ -157724,7 +158077,7 @@ p3 := x**2*y**2*z**2 + x**2*y**2*z + x*y**2*z + x*y*z + x*z + z + 1 --R --R 2 2 2 2 2 --R (7) x y z + ((x + x)y + x y + x + 1)z + 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 7 --S 8 of 28 @@ -157738,7 +158091,7 @@ lp := [p1, p2, p3] --R x y z + (x y + (x + x + 1)y + 1)z + x, --R 2 2 2 2 2 --R x y z + ((x + x)y + x y + x + 1)z + 1] ---R Type: List Polynomial Integer +--R Type: List(Polynomial(Integer)) --E 8 --S 9 of 28 @@ -157790,7 +158143,7 @@ triangSolve(lp)$pack --R 3 2 3 2 2 2 --R ((z - 2z)y + (- z - z - 2z - 1)y - z - z + 1)x + z - 1} --R ] ---R Type: List RegularChain(Integer,[x,y,z,t]) +--R Type: List(RegularChain(Integer,[x,y,z,t])) --E 9 --S 10 of 28 @@ -157834,7 +158187,7 @@ univariateSolve(lp)$pack --R , --R 2 --R [complexRoots= ? + 5? + 1,coordinates= [x - 1,y - 1,z - %A]]] ---RType: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) +--RType: List(Record(complexRoots: SparseUnivariatePolynomial(Integer),coordinates: List(Polynomial(Integer)))) --E 10 --S 11 of 28 @@ -158202,7 +158555,7 @@ lr := realSolve(lp)$pack --R 26117 705159 705159 705159 --R ] --R ] ---R Type: List List RealClosure Fraction Integer +--R Type: List(List(RealClosure(Fraction(Integer)))) --E 11 --S 12 of 28 @@ -158444,7 +158797,7 @@ lr := realSolve(lp)$pack --R 65749979827872616963053217673201717237252096 --R ] --R ] ---R Type: List List Fraction Integer +--R Type: List(List(Fraction(Integer))) --E 13 --S 14 of 28 @@ -158452,7 +158805,7 @@ lpr := positiveSolve(lp)$pack --R --R --R (14) [] ---R Type: List List RealClosure Fraction Integer +--R Type: List(List(RealClosure(Fraction(Integer)))) --E 14 --S 15 of 28 @@ -158461,7 +158814,7 @@ f0 := x**3 + y + z + t- 1 --R --R 3 --R (15) z + y + x + t - 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 15 --S 16 of 28 @@ -158470,7 +158823,7 @@ f1 := x + y**3 + z + t -1 --R --R 3 --R (16) z + y + x + t - 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 16 --S 17 of 28 @@ -158479,7 +158832,7 @@ f2 := x + y + z**3 + t-1 --R --R 3 --R (17) z + y + x + t - 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 17 --S 18 of 28 @@ -158488,7 +158841,7 @@ f3 := x + y + z + t**3 -1 --R --R 3 --R (18) z + y + x + t - 1 ---R Type: Polynomial Integer +--R Type: Polynomial(Integer) --E 18 --S 19 of 28 @@ -158498,7 +158851,7 @@ lf := [f0, f1, f2, f3] --R (19) --R 3 3 3 3 --R [z + y + x + t - 1,z + y + x + t - 1,z + y + x + t - 1,z + y + x + t - 1] ---R Type: List Polynomial Integer +--R Type: List(Polynomial(Integer)) --E 19 --S 20 of 28 @@ -158699,12 +159052,12 @@ lts := triangSolve(lf)$pack --R 3 --R {t,z - t + 1,y - 1,x - 1}, {t - 1,z,y,x}, {t,z - 1,y,x}, {t,z,y - 1,x}, --R {t,z,y,x - 1}] ---R Type: List RegularChain(Integer,[x,y,z,t]) +--R Type: List(RegularChain(Integer,[x,y,z,t])) --E 20 --S 21 of 28 univariateSolve(lf)$pack ---R +--R --R --R (21) --R [[complexRoots= ?,coordinates= [x - 1,y - 1,z + 1,t - %A]], @@ -158833,12 +159186,12 @@ univariateSolve(lf)$pack --R , --R 3 --R [complexRoots= ? + 3? - 1,coordinates= [x - %A,y - %A,z - %A,t - %A]]] ---RType: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) +--RType: List(Record(complexRoots: SparseUnivariatePolynomial(Integer),coordinates: List(Polynomial(Integer)))) --E 21 --S 22 of 28 ts := lts.1 ---R +--R --R --R (22) --R 2 3 3 @@ -158854,8 +159207,8 @@ ts := lts.1 --R Type: RegularChain(Integer,[x,y,z,t]) --E 22 -univariateSolve(ts)$pack --S 23 of 28 +univariateSolve(ts)$pack --R --R --R (23) @@ -158885,7 +159238,7 @@ univariateSolve(ts)$pack --R [8x - %A + 4%A - 8,2y + %A,8z + %A - 8%A + 8,8t - %A + 4%A - 8] --R ] --R ] ---RType: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) +--RType: List(Record(complexRoots: SparseUnivariatePolynomial(Integer),coordinates: List(Polynomial(Integer)))) --E 23 --S 24 of 28 @@ -158893,7 +159246,7 @@ realSolve(ts)$pack --R --R --R (24) [] ---R Type: List List RealClosure Fraction Integer +--R Type: List(List(RealClosure(Fraction(Integer)))) --E 24 --S 25 of 28 @@ -159217,7 +159570,7 @@ lr2 := realSolve(lf)$pack --R 1 3 1 1 3 1 1 3 1 --R [%B18,- - %B18 + -,- - %B18 + -,- - %B18 + -]] --R 3 3 3 3 3 3 ---R Type: List List RealClosure Fraction Integer +--R Type: List(List(RealClosure(Fraction(Integer)))) --E 25 --S 26 of 28 @@ -159235,7 +159588,7 @@ lpr2 := positiveSolve(lf)$pack --R 1 3 1 1 3 1 1 3 1 --R (27) [[%B40,- - %B40 + -,- - %B40 + -,- - %B40 + -]] --R 3 3 3 3 3 3 ---R Type: List List RealClosure Fraction Integer +--R Type: List(List(RealClosure(Fraction(Integer)))) --E 27 --S 28 of 28 @@ -159245,7 +159598,7 @@ lpr2 := positiveSolve(lf)$pack --R (28) --R [0.3221853546 2608559291, 0.3221853546 2608559291, 0.3221853546 2608559291, --R 0.3221853546 2608559291] ---R Type: List Float +--R Type: List(Float) --E 28 )spool )lisp (bye) diff --git a/changelog b/changelog index 700f1e1..f42a0e0 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +20120312 tpd src/axiom-website/patches.html 20120312.01.tpd.patch +20120312 tpd books/bookvol10.4 fix bug 7217 +20120312 tpd books/bookvol10.3 fix bug 7217 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 diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index e4a2765..f2213ff 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -3840,5 +3840,7 @@ buglist add bugs found during regression test review
src/input/* fix bug 7217
20120303.01.tpd.patch books/bookvol10.2 fix bug 7217
+20120312.01.tpd.patch +books/bookvol10.4, books/bookvol10.3 fix bug 7217