diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet
index 2c8554c..44a6905 100644
--- a/books/bookvol10.2.pamphlet
+++ b/books/bookvol10.2.pamphlet
@@ -67292,7 +67292,7 @@ digraph pic {
)set message auto off
)clear all
---S 1 of 1
+--S 1 of 3
)show UnivariateLaurentSeriesCategory
--R
--R UnivariateLaurentSeriesCategory(Coef: Ring) is a category constructor
@@ -67422,6 +67422,14 @@ digraph pic {
--R
--E 1
+--S 2 of 3
+w:SparseUnivariateLaurentSeries(Fraction(Integer),'z,0):=0
+--E 2
+
+--S 3 of 3
+rationalFunction(w,0)
+--E 3
+
)spool
)lisp (bye)
\end{chunk}
@@ -67433,6 +67441,9 @@ UnivariateLaurentSeriesCategory examples
UnivariateLaurentSeriesCategory is the category of Laurent series
in one variable.
+w:SparseUnivariateLaurentSeries(Fraction(Integer),'z,0):=0
+rationalFunction(w,0)
+
See Also:
o )show UnivariateLaurentSeriesCategory
@@ -67801,44 +67812,59 @@ UnivariateLaurentSeriesCategory(Coef): Category == Definition where
++ \spad{series(st)} creates a series from a stream of non-zero terms,
++ where a term is an exponent-coefficient pair. The terms in the
++ stream should be ordered by increasing order of exponents.
+
multiplyCoefficients: (I -> Coef,%) -> %
++ \spad{multiplyCoefficients(f,sum(n = n0..infinity,a[n] * x**n)) =
++ sum(n = 0..infinity,f(n) * a[n] * x**n)}.
++ This function is used when Puiseux series are represented by
++ a Laurent series and an exponent.
+
if Coef has IntegralDomain then
+
rationalFunction: (%,I) -> Fraction Polynomial Coef
++ \spad{rationalFunction(f,k)} returns a rational function
++ consisting of the sum of all terms of f of degree <= k.
+ ++
+ ++X w:SparseUnivariateLaurentSeries(Fraction(Integer),'z,0):=0
+ ++X rationalFunction(w,0)
+
rationalFunction: (%,I,I) -> Fraction Polynomial Coef
++ \spad{rationalFunction(f,k1,k2)} returns a rational function
++ consisting of the sum of all terms of f of degree d with
++ \spad{k1 <= d <= k2}.
if Coef has Algebra Fraction Integer then
+
integrate: % -> %
++ \spad{integrate(f(x))} returns an anti-derivative of the power
++ series \spad{f(x)} with constant coefficient 1.
++ We may integrate a series when we can divide coefficients
++ by integers.
+
if Coef has integrate: (Coef,Symbol) -> Coef and _
Coef has variables: Coef -> List Symbol then
+
integrate: (%,Symbol) -> %
++ \spad{integrate(f(x),y)} returns an anti-derivative of the power
++ series \spad{f(x)} with respect to the variable \spad{y}.
+
if Coef has TranscendentalFunctionCategory and _
Coef has PrimitiveFunctionCategory and _
Coef has AlgebraicallyClosedFunctionSpace Integer then
+
integrate: (%,Symbol) -> %
++ \spad{integrate(f(x),y)} returns an anti-derivative of
++ the power series \spad{f(x)} with respect to the variable
++ \spad{y}.
+
RadicalCategory
--++ We provide rational powers when we can divide coefficients
--++ by integers.
+
TranscendentalFunctionCategory
--++ We provide transcendental functions when we can divide
--++ coefficients by integers.
+
if Coef has Field then Field
--++ Univariate Laurent series over a field form a field.
--++ In fact, K((x)) is the quotient field of K[[x]].
diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet
index 6b21e76..4d83d51 100644
--- a/books/bookvol10.3.pamphlet
+++ b/books/bookvol10.3.pamphlet
@@ -71003,7 +71003,7 @@ InnerPrimeField(p:PositiveInteger): Exports == Implementation where
)set message auto off
)clear all
---S 1 of 1
+--S 1 of 3
)show InnerSparseUnivariatePowerSeries
--R
--R InnerSparseUnivariatePowerSeries(Coef: Ring) is a domain constructor
@@ -71110,6 +71110,24 @@ InnerPrimeField(p:PositiveInteger): Exports == Implementation where
--R
--E 1
+-- test fix to iOrder internal function for finite case
+
+--S 2 of 5
+L := SparseUnivariateLaurentSeries(Fraction(Integer),'z,0)
+--E 2
+
+--S 3 of 5
+w:L := 0
+--E 3
+
+--S 4 of 5
+order(w,0)
+--E 4
+
+--S 5 of 5
+rationalFunction(w,0)
+--E 5
+
)spool
)lisp (bye)
\end{chunk}
@@ -71501,7 +71519,9 @@ InnerSparseUnivariatePowerSeries(Coef): Exports == Implementation where
elt(x:%,n:Integer) == coefficient(x,n)
iOrder(st,n,refer) ==
- explicitlyEmpty? st => error "order: series has infinite order"
+ explicitlyEmpty? st =>
+ finite?(n) => retract(n)@Integer
+ error "order: series has infinite order"
explicitEntries? st =>
((r := getExpon frst st) :: COM) >= n => retract(n)@Integer
r
@@ -76606,26 +76626,42 @@ LaurentPolynomial(R, UP): Exports == Implementation where
Exports ==> Join(DifferentialExtension UP, IntegralDomain,
ConvertibleTo RF, FullyRetractableTo R, RetractableTo UP) with
- monomial? : % -> B
+
+ monomial? : % -> B
++ monomial?(x) is not documented
- degree : % -> Z
+
+ degree : % -> Z
++ degree(x) is not documented
- order : % -> Z
+
+ order : % -> Z
++ order(x) is not documented
- reductum : % -> %
+ ++
+ ++X w:SparseUnivariateLaurentSeries(Fraction(Integer),'z,0):=0
+ ++X order(w,0)
+
+ reductum : % -> %
++ reductum(x) is not documented
+
leadingCoefficient : % -> R
++ leadingCoefficient is not documented
+
trailingCoefficient: % -> R
++ trailingCoefficient is not documented
- coefficient : (%, Z) -> R
+
+ coefficient : (%, Z) -> R
++ coefficient(x,n) is not documented
- monomial : (R, Z) -> %
+
+ monomial : (R, Z) -> %
++ monomial(x,n) is not documented
+
if R has CharacteristicZero then CharacteristicZero
+
if R has CharacteristicNonZero then CharacteristicNonZero
+
if R has Field then
+
EuclideanDomain
+
separate: RF -> Record(polyPart:%, fracPart:RF)
++ separate(x) is not documented
diff --git a/changelog b/changelog
index 53c8269..597476f 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20141123 wxh src/axiom-website/patches.html 20141123.03.wxh.patch
+20141123 wxh books/bookvol10.3 fix iOrder in ISUPS for finite args
+20141123 wxh books/bookvol10.2 rationalFunction from ULSCAT example
20141123 tpd src/axiom-website/patches.html 20141123.02.tpd.patch
20141123 tpd books/bookvol10.3 add help for AntiSymm
20141123 tpd src/axiom-website/patches.html 20141123.01.tpd.patch
diff --git a/patch b/patch
index 9a19ba3..f1abbf5 100644
--- a/patch
+++ b/patch
@@ -1,3 +1,11 @@
-books/bookvol10.3 add help for AntiSymm
+books/bookvol10.3 fix iOrder in ISUPS for finite args
-add help for exported functions in AntiSymm
+ iOrder(st,n,refer) ==
+ explicitlyEmpty? st =>
+ finite?(n) => retract(n)@Integer
+ error "order: series has infinite order"
+
+in order to make this work:
+ w:SparseUnivariateLaurentSeries(Fraction(Integer),'z,0):=0
+ order(w,0)
+ rationalFunction(w,0)
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 8ca95fb..57547ca 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4722,6 +4722,8 @@ buglist add bug 7262: bad expression parse ^/2
buglist add bug 7263: missing function from POLY(ANTISYM)
20141123.02.tpd.patch
books/bookvol10.3 add help for AntiSymm
+20141123.03.wxh.patch
+books/bookvol10.3 fix iOrder in ISUPS for finite args