diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet
index 4d83d51..f8a3ab2 100644
--- a/books/bookvol10.3.pamphlet
+++ b/books/bookvol10.3.pamphlet
@@ -2716,6 +2716,7 @@ AlgebraGivenByStructuralConstants(R:Field, n : PositiveInteger,_
--R knownInfBasis : NonNegativeInteger -> Void
--R lcm : (%,%) -> % if Fraction(UP) has FIELD
--R lcm : List(%) -> % if Fraction(UP) has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) 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
@@ -3226,6 +3227,7 @@ AlgebraicFunctionField(F, UP, UPUP, modulus): Exports == Implementation where
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
--R is? : (%,BasicOperator) -> Boolean
--R kernel : (BasicOperator,List(%)) -> %
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R mainKernel : % -> Union(Kernel(%),"failed")
--R map : ((% -> %),Kernel(%)) -> %
--R minPoly : Kernel(%) -> SparseUnivariatePolynomial(%) if $ has RING
@@ -15136,6 +15138,7 @@ BalancedBinaryTree(S: SetCategory): Exports == Implementation where
--R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed")
--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %)
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R multiEuclidean : (List(%),%) -> Union(List(%),"failed")
--R principalIdeal : List(%) -> Record(coef: List(%),generator: %)
--R root : (SparseUnivariatePolynomial(Integer),Integer) -> %
@@ -15340,6 +15343,7 @@ BalancedPAdicInteger(p:Integer) == InnerPAdicInteger(p,false$Boolean)
--R fractionPart : % -> % if BalancedPAdicInteger(p) has EUCDOM
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
--R init : () -> % if BalancedPAdicInteger(p) has STEP
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R map : ((BalancedPAdicInteger(p) -> BalancedPAdicInteger(p)),%) -> %
--R max : (%,%) -> % if BalancedPAdicInteger(p) has ORDSET
--R min : (%,%) -> % if BalancedPAdicInteger(p) has ORDSET
@@ -33277,6 +33281,7 @@ DesingTree(S: SetCategory): T==C where
--R isTimes : % -> Union(List(%),"failed")
--R lcm : (%,%) -> % if R has GCDDOM
--R lcm : List(%) -> % if R has GCDDOM
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if R has GCDDOM
--R mainVariable : % -> Union(V,"failed")
--R makeVariable : % -> (NonNegativeInteger -> %) if R has DIFRING
--R makeVariable : S -> (NonNegativeInteger -> %)
@@ -41161,6 +41166,7 @@ EqTable(Key: SetCategory, Entry: SetCategory) ==
--R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed")
--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %)
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R multiEuclidean : (List(%),%) -> Union(List(%),"failed")
--R principalIdeal : List(%) -> Record(coef: List(%),generator: %)
--R subtractIfCan : (%,%) -> Union(%,"failed")
@@ -41592,6 +41598,7 @@ Exit: SetCategory == add
--R fractionPart : % -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has EUCDOM
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
--R init : () -> % if UnivariatePuiseuxSeriesWithExponentialSingularity(R,FE,var,cen) has STEP
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--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
@@ -43072,6 +43079,7 @@ Expression(R:OrderedSet): Exports == Implementation where
--R integrate : % -> % if FE has ALGEBRA(FRAC(INT))
--R lcm : (%,%) -> % if FE has FIELD
--R lcm : List(%) -> % if FE has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if FE has FIELD
--R log : % -> % if FE has ALGEBRA(FRAC(INT))
--R monomial : (%,List(SingletonAsOrderedSet),List(Fraction(Integer))) -> %
--R monomial : (%,SingletonAsOrderedSet,Fraction(Integer)) -> %
@@ -46756,6 +46764,7 @@ 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.
@@ -46826,6 +46835,7 @@ FiniteDivisor(F, UP, UPUP, R): Exports == Implementation where
--R generator : () -> % if PrimeField(p) has FINITE
--R index : PositiveInteger -> % if PrimeField(p) has FINITE
--R init : () -> % if PrimeField(p) has FINITE
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--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
@@ -47015,6 +47025,7 @@ 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.
@@ -47086,6 +47097,7 @@ FiniteField(p:PositiveInteger, n:PositiveInteger): _
--R getZechTable : () -> PrimitiveArray(SingleInteger)
--R index : PositiveInteger -> % if PrimeField(p) has FINITE
--R init : () -> % if PrimeField(p) has FINITE
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--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
@@ -47288,6 +47300,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.
@@ -47358,6 +47371,7 @@ FiniteFieldCyclicGroup(p,extdeg):_
--R getZechTable : () -> PrimitiveArray(SingleInteger)
--R index : PositiveInteger -> % if GF has FINITE
--R init : () -> % if GF has FINITE
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--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
@@ -47561,6 +47575,7 @@ FiniteFieldCyclicGroupExtension(GF,extdeg):_
--S 1 of 1
)show FiniteFieldCyclicGroupExtensionByPolynomial
+--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.
@@ -47631,6 +47646,7 @@ FiniteFieldCyclicGroupExtension(GF,extdeg):_
--R getZechTable : () -> PrimitiveArray(SingleInteger)
--R index : PositiveInteger -> % if GF has FINITE
--R init : () -> % if GF has FINITE
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--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
@@ -48101,6 +48117,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.
@@ -48170,6 +48187,7 @@ FiniteFieldCyclicGroupExtensionByPolynomial(GF,defpol):_
--R generator : () -> % if GF has FINITE
--R index : PositiveInteger -> % if GF has FINITE
--R init : () -> % if GF has FINITE
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--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
@@ -48361,6 +48379,7 @@ FiniteFieldExtension(GF, n): Exports == Implementation where
--S 1 of 1
)show FiniteFieldExtensionByPolynomial
+--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.
@@ -48430,6 +48449,7 @@ FiniteFieldExtension(GF, n): Exports == Implementation where
--R generator : () -> % if GF has FINITE
--R index : PositiveInteger -> % if GF has FINITE
--R init : () -> % if GF has FINITE
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--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
@@ -48821,6 +48841,7 @@ 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.
@@ -48893,6 +48914,7 @@ FiniteFieldExtensionByPolynomial(GF:FiniteFieldCategory,_
--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 lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--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
@@ -49106,6 +49128,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.
@@ -49177,6 +49200,7 @@ FiniteFieldNormalBasis(p,extdeg):_
--R getMultiplicationTable : () -> Vector(List(Record(value: GF,index: SingleInteger)))
--R index : PositiveInteger -> % if GF has FINITE
--R init : () -> % if GF has FINITE
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--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
@@ -49390,6 +49414,7 @@ FiniteFieldNormalBasisExtension(GF,extdeg):_
--S 1 of 1
)show FiniteFieldNormalBasisExtensionByPolynomial
+--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.
@@ -49461,6 +49486,7 @@ FiniteFieldNormalBasisExtension(GF,extdeg):_
--R getMultiplicationTable : () -> Vector(List(Record(value: GF,index: SingleInteger)))
--R index : PositiveInteger -> % if GF has FINITE
--R init : () -> % if GF has FINITE
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--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
@@ -60189,6 +60215,7 @@ GeneralTriangularSet(R,E,V,P) : Exports == Implementation where
--R inv : % -> % if Coef has FIELD
--R lcm : (%,%) -> % if Coef has FIELD
--R lcm : List(%) -> % if Coef has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if Coef has FIELD
--R log : % -> % if Coef has ALGEBRA(FRAC(INT))
--R monomial : (%,List(SingletonAsOrderedSet),List(Fraction(Integer))) -> %
--R monomial : (%,SingletonAsOrderedSet,Fraction(Integer)) -> %
@@ -69307,6 +69334,7 @@ InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField(K,symb,BLMET):_
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
--R is? : (%,BasicOperator) -> Boolean
--R kernel : (BasicOperator,List(%)) -> %
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R mainKernel : % -> Union(Kernel(%),"failed")
--R map : ((% -> %),Kernel(%)) -> %
--R minPoly : Kernel(%) -> SparseUnivariatePolynomial(%) if $ has RING
@@ -69618,6 +69646,7 @@ 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.
@@ -69689,6 +69718,7 @@ InnerAlgebraicNumber(): Exports == Implementation where
--R generator : () -> % if InnerPrimeField(p) has FINITE
--R index : PositiveInteger -> % if InnerPrimeField(p) has FINITE
--R init : () -> % if InnerPrimeField(p) has FINITE
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--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
@@ -70260,6 +70290,7 @@ InnerIndexedTwoDimensionalArray(R,mnRow,mnCol,Row,Col):_
--R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed")
--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %)
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R multiEuclidean : (List(%),%) -> Union(List(%),"failed")
--R principalIdeal : List(%) -> Record(coef: List(%),generator: %)
--R root : (SparseUnivariatePolynomial(Integer),Integer) -> %
@@ -70607,6 +70638,7 @@ InnerPAdicInteger(p,unBalanced?): Exports == Implementation where
--S 1 of 1
)show InnerPrimeField
+--R
--R InnerPrimeField(p: PositiveInteger) is a domain constructor
--R Abbreviation for InnerPrimeField is IPF
--R This constructor is not exposed in this frame.
@@ -70675,6 +70707,7 @@ InnerPAdicInteger(p,unBalanced?): Exports == Implementation where
--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer))
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
--R generator : () -> % if $ has FINITE
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R linearAssociatedExp : (%,SparseUnivariatePolynomial(%)) -> % if $ has FINITE
--R linearAssociatedLog : % -> SparseUnivariatePolynomial(%) if $ has FINITE
--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(%),"failed") if $ has FINITE
@@ -74880,6 +74913,7 @@ contains?(t3,0.3)
--R characteristic : () -> NonNegativeInteger
--R exquo : (%,%) -> Union(%,"failed")
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R retractIfCan : % -> Union(Integer,"failed")
--R subtractIfCan : (%,%) -> Union(%,"failed")
--R unitNormal : % -> Record(unit: %,canonical: %,associate: %)
@@ -76516,6 +76550,7 @@ KeyedAccessFile(Entry): KAFcategory == KAFcapsule where
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has FIELD
--R lcm : (%,%) -> % if R has FIELD
--R lcm : List(%) -> % if R has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) 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
@@ -82349,6 +82384,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.
@@ -82482,6 +82518,7 @@ LyndonWord(VarSet:OrderedSet):Public == Private where
--R inv : % -> % if MachineFloat has FIELD
--R lcm : (%,%) -> % if MachineFloat has EUCDOM
--R lcm : List(%) -> % if MachineFloat has EUCDOM
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if MachineFloat has EUCDOM
--R lift : % -> SparseUnivariatePolynomial(MachineFloat)
--R log : % -> % if MachineFloat has TRANFUN
--R lookup : % -> PositiveInteger if MachineFloat has FINITE
@@ -82832,6 +82869,7 @@ MachineComplex():Exports == Implementation where
--R float : (Integer,Integer,PositiveInteger) -> %
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
--R increasePrecision : Integer -> PositiveInteger if $ has arbitraryPrecision
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R max : () -> % if not(has($,arbitraryExponent)) and not(has($,arbitraryPrecision))
--R maximumExponent : Integer -> Integer
--R min : () -> % if not(has($,arbitraryExponent)) and not(has($,arbitraryPrecision))
@@ -83327,6 +83365,7 @@ MachineFloat(): Exports == Implementation where
--R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed")
--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %)
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R maxint : PositiveInteger -> PositiveInteger
--R multiEuclidean : (List(%),%) -> Union(List(%),"failed")
--R nextItem : % -> Union(%,"failed")
@@ -86940,6 +86979,7 @@ Matrix(R): Exports == Implementation where
--S 1 of 1
)show ModMonic
+--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.
@@ -86971,8 +87011,8 @@ Matrix(R): Exports == Implementation where
--R pseudoRemainder : (%,%) -> % recip : % -> Union(%,"failed")
--R reduce : Rep -> % reductum : % -> %
--R retract : % -> R sample : () -> %
---R setPoly : Rep -> Rep zero? : % -> Boolean
---R ?~=? : (%,%) -> Boolean
+--R setPoly : Rep -> Rep unvectorise : Vector(R) -> %
+--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
--R ?*? : (Fraction(Integer),%) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (%,Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (NonNegativeInteger,%) -> %
@@ -87060,6 +87100,7 @@ Matrix(R): Exports == Implementation where
--R karatsubaDivide : (%,NonNegativeInteger) -> Record(quotient: %,remainder: %)
--R lcm : (%,%) -> % if R has GCDDOM
--R lcm : List(%) -> % if R has GCDDOM
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if R has GCDDOM
--R lookup : % -> PositiveInteger if R has FINITE
--R mainVariable : % -> Union(SingletonAsOrderedSet,"failed")
--R makeSUP : % -> SparseUnivariatePolynomial(R)
@@ -87510,6 +87551,7 @@ ModMonic(R,Rep): C == T
--R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed")
--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %)
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R multiEuclidean : (List(%),%) -> Union(List(%),"failed")
--R principalIdeal : List(%) -> Record(coef: List(%),generator: %)
--R subtractIfCan : (%,%) -> Union(%,"failed")
@@ -89908,6 +89950,7 @@ MultivariatePolynomial(vl:List Symbol, R:Ring)
--R kernel : (BasicOperator,List(%)) -> %
--R lcm : (%,%) -> % if R has INTDOM
--R lcm : List(%) -> % if R has INTDOM
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if R has INTDOM
--R mainKernel : % -> Union(Kernel(%),"failed")
--R map : ((% -> %),Kernel(%)) -> %
--R minPoly : Kernel(%) -> SparseUnivariatePolynomial(%) if $ has RING
@@ -90180,7 +90223,8 @@ MyExpression(q: Symbol, R): Exports == Implementation where
--R pseudoRemainder : (%,%) -> % recip : % -> Union(%,"failed")
--R reductum : % -> % retract : % -> Symbol
--R retract : % -> R sample : () -> %
---R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
+--R unvectorise : Vector(R) -> % zero? : % -> Boolean
+--R ?~=? : (%,%) -> Boolean
--R ?*? : (Fraction(Integer),%) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (%,Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (NonNegativeInteger,%) -> %
@@ -90265,6 +90309,7 @@ MyExpression(q: Symbol, R): Exports == Implementation where
--R karatsubaDivide : (%,NonNegativeInteger) -> Record(quotient: %,remainder: %)
--R lcm : (%,%) -> % if R has GCDDOM
--R lcm : List(%) -> % if R has GCDDOM
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if R has GCDDOM
--R mainVariable : % -> Union(SingletonAsOrderedSet,"failed")
--R makeSUP : % -> SparseUnivariatePolynomial(R)
--R mapExponents : ((NonNegativeInteger -> NonNegativeInteger),%) -> %
@@ -90653,6 +90698,7 @@ MyUnivariatePolynomial(x:Symbol, R:Ring):
--R insert : (Record(k: Integer,c: K),%,Integer) -> %
--R last : % -> Record(k: Integer,c: K)
--R last : (%,NonNegativeInteger) -> %
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R leaves : % -> List(Record(k: Integer,c: K))
--R less? : (%,NonNegativeInteger) -> Boolean
--R map : ((Record(k: Integer,c: K) -> Record(k: Integer,c: K)),%) -> %
@@ -91268,6 +91314,7 @@ by means of triangular sets.
--R lazyResidueClass : (%,%) -> Record(polnum: %,polden: %,power: NonNegativeInteger)
--R lcm : (%,%) -> % if R has GCDDOM
--R lcm : List(%) -> % if R has GCDDOM
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if R has GCDDOM
--R leadingCoefficient : (%,VarSet) -> %
--R mainContent : % -> % if R has GCDDOM
--R mainPrimitivePart : % -> % if R has GCDDOM
@@ -91945,7 +91992,8 @@ constructur {\bf SparseUnivariatePolynomial}.
--R one? : % -> Boolean pseudoRemainder : (%,%) -> %
--R recip : % -> Union(%,"failed") reductum : % -> %
--R retract : % -> R sample : () -> %
---R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
+--R unvectorise : Vector(R) -> % zero? : % -> Boolean
+--R ?~=? : (%,%) -> Boolean
--R ?*? : (Fraction(Integer),%) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (%,Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (NonNegativeInteger,%) -> %
@@ -92042,6 +92090,7 @@ constructur {\bf SparseUnivariatePolynomial}.
--R lazyResidueClass : (%,%) -> Record(polnum: %,polden: R,power: NonNegativeInteger)
--R lcm : (%,%) -> % if R has GCDDOM
--R lcm : List(%) -> % if R has GCDDOM
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if R has GCDDOM
--R mainVariable : % -> Union(SingletonAsOrderedSet,"failed")
--R makeSUP : % -> SparseUnivariatePolynomial(R)
--R mapExponents : ((NonNegativeInteger -> NonNegativeInteger),%) -> %
@@ -98351,6 +98400,7 @@ OrderlyDifferentialVariable(S:OrderedSet):DifferentialVariableCategory(S)
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has FIELD
--R lcm : (%,%) -> % if R has FIELD
--R lcm : List(%) -> % if R has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) 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
@@ -99411,6 +99461,7 @@ OutputForm(): SetCategory with
--R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed")
--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %)
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R multiEuclidean : (List(%),%) -> Union(List(%),"failed")
--R principalIdeal : List(%) -> Record(coef: List(%),generator: %)
--R root : (SparseUnivariatePolynomial(Integer),Integer) -> %
@@ -99616,6 +99667,7 @@ PAdicInteger(p:Integer) == InnerPAdicInteger(p,true$Boolean)
--R fractionPart : % -> % if PAdicInteger(p) has EUCDOM
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
--R init : () -> % if PAdicInteger(p) has STEP
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R map : ((PAdicInteger(p) -> PAdicInteger(p)),%) -> %
--R max : (%,%) -> % if PAdicInteger(p) has ORDSET
--R min : (%,%) -> % if PAdicInteger(p) has ORDSET
@@ -99879,6 +99931,7 @@ PAdicRational(p:Integer) == PAdicRationalConstructor(p,PAdicInteger p)
--R fractionPart : % -> % if PADIC has EUCDOM
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
--R init : () -> % if PADIC has STEP
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R max : (%,%) -> % if PADIC has ORDSET
--R min : (%,%) -> % if PADIC has ORDSET
--R multiEuclidean : (List(%),%) -> Union(List(%),"failed")
@@ -105297,6 +105350,7 @@ non-interactive environment (library), HACKPI would not exist.
--R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed")
--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %)
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R multiEuclidean : (List(%),%) -> Union(List(%),"failed")
--R principalIdeal : List(%) -> Record(coef: List(%),generator: %)
--R retractIfCan : % -> Union(Fraction(Integer),"failed")
@@ -111461,6 +111515,7 @@ PositiveInteger: Join(AbelianSemiGroup,OrderedSet,Monoid) with
--S 1 of 1
)show PrimeField
+--R
--R PrimeField(p: PositiveInteger) is a domain constructor
--R Abbreviation for PrimeField is PF
--R This constructor is exposed in this frame.
@@ -111529,6 +111584,7 @@ PositiveInteger: Join(AbelianSemiGroup,OrderedSet,Monoid) with
--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer))
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
--R generator : () -> % if $ has FINITE
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R linearAssociatedExp : (%,SparseUnivariatePolynomial(%)) -> % if $ has FINITE
--R linearAssociatedLog : % -> SparseUnivariatePolynomial(%) if $ has FINITE
--R linearAssociatedLog : (%,%) -> Union(SparseUnivariatePolynomial(%),"failed") if $ has FINITE
@@ -112957,6 +113013,7 @@ PseudoAlgebraicClosureOfAlgExtOfRationalNumber(downLevel:K):Exp == Impl where
--S 1 of 1
)show PseudoAlgebraicClosureOfFiniteField
+--R
--R PseudoAlgebraicClosureOfFiniteField(K: FiniteFieldCategory) is a domain constructor
--R Abbreviation for PseudoAlgebraicClosureOfFiniteField is PACOFF
--R This constructor is exposed in this frame.
@@ -113024,6 +113081,7 @@ PseudoAlgebraicClosureOfAlgExtOfRationalNumber(downLevel:K):Exp == Impl where
--R extensionDegree : () -> OnePointCompletion(PositiveInteger)
--R factorsOfCyclicGroupSize : () -> List(Record(factor: Integer,exponent: Integer))
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R lift : % -> SparseUnivariatePolynomial(%)
--R lift : (%,%) -> SparseUnivariatePolynomial(%)
--R multiEuclidean : (List(%),%) -> Union(List(%),"failed")
@@ -113574,6 +113632,7 @@ PseudoAlgebraicClosureOfFiniteField(K):Exports == Implementation where
--R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %)
--R extensionDegree : () -> OnePointCompletion(PositiveInteger)
--R gcdPolynomial : (SparseUnivariatePolynomial(%),SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %)
--R lift : (%,%) -> SparseUnivariatePolynomial(%)
--R lift : % -> SparseUnivariatePolynomial(%)
--R multiEuclidean : (List(%),%) -> Union(List(%),"failed")
@@ -115721,6 +115780,7 @@ Queue(S:SetCategory): QueueAggregate S with
--S 1 of 1
)show RadicalFunctionField
+--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.
@@ -115828,6 +115888,7 @@ Queue(S:SetCategory): QueueAggregate S with
--R inverseIntegralMatrixAtInfinity : () -> Matrix(Fraction(UP))
--R lcm : (%,%) -> % if Fraction(UP) has FIELD
--R lcm : List(%) -> % if Fraction(UP) has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) 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
@@ -125246,6 +125307,7 @@ SetOfMIntegersInOneToN(m, n): Exports == Implementation where
--R isTimes : % -> Union(List(%),"failed")
--R lcm : (%,%) -> % if R has GCDDOM
--R lcm : List(%) -> % if R has GCDDOM
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if R has GCDDOM
--R leader : % -> SequentialDifferentialVariable(Symbol)
--R mainVariable : % -> Union(SequentialDifferentialVariable(Symbol),"failed")
--R makeVariable : % -> (NonNegativeInteger -> %) if R has DIFRING
@@ -125872,6 +125934,7 @@ SExpressionOf(Str, Sym, Int, Flt, Expr): Decl == Body where
--S 1 of 1
)show SimpleAlgebraicExtension
+--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.
@@ -125954,6 +126017,7 @@ SExpressionOf(Str, Sym, Int, Flt, Expr): Decl == Body where
--R init : () -> % if R has FFIELDC
--R lcm : (%,%) -> % if R has FIELD
--R lcm : List(%) -> % if R has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) 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
@@ -127180,10 +127244,11 @@ SingletonAsOrderedSet(): OrderedSet with
--S 1 of 1
)show SparseEchelonMatrix
+--R
--R SparseEchelonMatrix(C: OrderedSet,D: Ring) is a domain constructor
--R Abbreviation for SparseEchelonMatrix is SEM
--R This constructor is exposed in this frame.
---R Issue )edit /research/ref/SEM.spad to see algebra source code for SEM
+--R Issue )edit bookvol10.3.pamphlet to see algebra source code for SEM
--R
--R------------------------------- Operations --------------------------------
--R ?*? : (Matrix(D),%) -> % allIndices : % -> List(C)
@@ -128131,6 +128196,7 @@ SparseEchelonMatrix(C : OrderedSet, D : Ring) : Cat == Def where
--R isTimes : % -> Union(List(%),"failed")
--R lcm : (%,%) -> % if R has GCDDOM
--R lcm : List(%) -> % if R has GCDDOM
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if R has GCDDOM
--R mainVariable : % -> Union(VarSet,"failed")
--R mapExponents : ((IndexedExponents(VarSet) -> IndexedExponents(VarSet)),%) -> %
--R max : (%,%) -> % if R has ORDSET
@@ -129815,6 +129881,7 @@ SparseTable(Key:SetCategory, Ent:SetCategory, dent:Ent) ==
--R laurent : (Integer,SparseUnivariateTaylorSeries(Coef,var,cen)) -> %
--R lcm : (%,%) -> % if Coef has FIELD
--R lcm : List(%) -> % if Coef has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) 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
@@ -130279,7 +130346,8 @@ SparseUnivariateLaurentSeries(Coef,var,cen): Exports == Implementation where
--R one? : % -> Boolean pseudoRemainder : (%,%) -> %
--R recip : % -> Union(%,"failed") reductum : % -> %
--R retract : % -> R sample : () -> %
---R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
+--R unvectorise : Vector(R) -> % zero? : % -> Boolean
+--R ?~=? : (%,%) -> Boolean
--R ?*? : (Fraction(Integer),%) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (%,Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (NonNegativeInteger,%) -> %
@@ -130364,6 +130432,7 @@ SparseUnivariateLaurentSeries(Coef,var,cen): Exports == Implementation where
--R karatsubaDivide : (%,NonNegativeInteger) -> Record(quotient: %,remainder: %)
--R lcm : (%,%) -> % if R has GCDDOM
--R lcm : List(%) -> % if R has GCDDOM
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if R has GCDDOM
--R mainVariable : % -> Union(SingletonAsOrderedSet,"failed")
--R makeSUP : % -> SparseUnivariatePolynomial(R)
--R mapExponents : ((NonNegativeInteger -> NonNegativeInteger),%) -> %
@@ -130988,8 +131057,8 @@ unfortunately.
--R one? : % -> Boolean pi : () -> % if R has TRANFUN
--R pseudoRemainder : (%,%) -> % recip : % -> Union(%,"failed")
--R reductum : % -> % retract : % -> R
---R sample : () -> % zero? : % -> Boolean
---R ?~=? : (%,%) -> Boolean
+--R sample : () -> % unvectorise : Vector(R) -> %
+--R zero? : % -> Boolean ?~=? : (%,%) -> Boolean
--R ?*? : (Fraction(Integer),%) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (%,Fraction(Integer)) -> % if R has ALGEBRA(FRAC(INT))
--R ?*? : (NonNegativeInteger,%) -> %
@@ -131093,6 +131162,7 @@ unfortunately.
--R karatsubaDivide : (%,NonNegativeInteger) -> Record(quotient: %,remainder: %)
--R lcm : (%,%) -> % if R has GCDDOM
--R lcm : List(%) -> % if R has GCDDOM
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if R has GCDDOM
--R log : % -> % if R has TRANFUN
--R mainVariable : % -> Union(SingletonAsOrderedSet,"failed")
--R makeSUP : % -> SparseUnivariatePolynomial(R)
@@ -131491,6 +131561,7 @@ SparseUnivariatePolynomialExpressions(R: Ring): Exports == Implementation where
--R laurentRep : % -> SparseUnivariateLaurentSeries(Coef,var,cen)
--R lcm : (%,%) -> % if Coef has FIELD
--R lcm : List(%) -> % if Coef has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if Coef has FIELD
--R log : % -> % if Coef has ALGEBRA(FRAC(INT))
--R monomial : (%,List(SingletonAsOrderedSet),List(Fraction(Integer))) -> %
--R monomial : (%,SingletonAsOrderedSet,Fraction(Integer)) -> %
@@ -146723,6 +146794,7 @@ UnivariateFormalPowerSeries(Coef: Ring) ==
--R laurent : (Integer,UnivariateTaylorSeries(Coef,var,cen)) -> %
--R lcm : (%,%) -> % if Coef has FIELD
--R lcm : List(%) -> % if Coef has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) 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
@@ -147154,6 +147226,7 @@ UnivariateLaurentSeries(Coef,var,cen): Exports == Implementation where
--R inv : % -> % if Coef has FIELD
--R lcm : (%,%) -> % if Coef has FIELD
--R lcm : List(%) -> % if Coef has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) 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
@@ -148728,6 +148801,7 @@ UnivariatePolynomial(x:Symbol, R:Ring):
--R laurentRep : % -> UnivariateLaurentSeries(Coef,var,cen)
--R lcm : (%,%) -> % if Coef has FIELD
--R lcm : List(%) -> % if Coef has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if Coef has FIELD
--R log : % -> % if Coef has ALGEBRA(FRAC(INT))
--R monomial : (%,List(SingletonAsOrderedSet),List(Fraction(Integer))) -> %
--R monomial : (%,SingletonAsOrderedSet,Fraction(Integer)) -> %
@@ -149166,6 +149240,7 @@ UnivariatePuiseuxSeries(Coef,var,cen): Exports == Implementation where
--R laurentIfCan : % -> Union(ULS,"failed")
--R lcm : (%,%) -> % if Coef has FIELD
--R lcm : List(%) -> % if Coef has FIELD
+--R lcmCoef : (%,%) -> Record(llcmres: %,coeff1: %,coeff2: %) if Coef has FIELD
--R log : % -> % if Coef has ALGEBRA(FRAC(INT))
--R monomial : (%,List(SingletonAsOrderedSet),List(Fraction(Integer))) -> %
--R monomial : (%,SingletonAsOrderedSet,Fraction(Integer)) -> %
diff --git a/changelog b/changelog
index 0f3d9c2..b9f9089 100644
--- a/changelog
+++ b/changelog
@@ -1,4 +1,6 @@
-20141124 tpd src/axiom-website/patches.html 20141124.02.rhx.patch
+20141124 tpd src/axiom-website/patches.html 20141124.03.tpd.patch
+20141124 tpd books/bookvol10.3 fix failing domain tests
+20141124 tpd src/axiom-website/patches.html 20141124.02.tpd.patch
20141124 tpd books/bookvol10.4 help docs for MatrixManipulation
20141124 rhx src/axiom-website/patches.html 20141124.01.rhx.patch
20141124 rhx buglist bug 7265: interpreter does early retract to Taylor series
diff --git a/patch b/patch
index c4f8880..1d3285e 100644
--- a/patch
+++ b/patch
@@ -1,7 +1 @@
-books/bookvol10.4 help docs for MatrixManipulation
-
-add )help and )d op documentation for
-
-MatrixManipulation, element, aRow, rows, aColumn, columns, subMatrix,
-diagonalMatrix, bandMatrix, horizConcat, vertConcat, blockConcat,
-vertSplit, horizSplit, blockSplit
+books/bookvol10.3 fix failing domain tests
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index f637d7d..4bfad16 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4730,6 +4730,8 @@ buglist bug 7264: 2.7@DoubleFloat failed to coerce to DoubleFloat
buglist bug 7265: interpreter does early retract to Taylor series
20141124.02.tpd.patch
books/bookvol10.4 help docs for MatrixManipulation
+20141124.03.tpd.patch
+books/bookvol10.3 fix failing domain tests