/usr/share/axiom-20170501/src/algebra/UPXSCCA.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | )abbrev category UPXSCCA UnivariatePuiseuxSeriesConstructorCategory
++ Author: Clifton J. Williamson
++ Date Created: 6 February 1990
++ Date Last Updated: 22 March 1990
++ Description:
++ This is a category of univariate Puiseux series constructed
++ from univariate Laurent series. A Puiseux series is represented
++ by a pair \spad{[r,f(x)]}, where r is a positive rational number and
++ \spad{f(x)} is a Laurent series. This pair represents the Puiseux
++ series \spad{f(x^r)}.
UnivariatePuiseuxSeriesConstructorCategory(Coef,ULS) : Category == SIG where
Coef : Ring
ULS : UnivariateLaurentSeriesCategory Coef
I ==> Integer
RN ==> Fraction Integer
SIG ==> Join(UnivariatePuiseuxSeriesCategory(Coef),RetractableTo ULS) with
puiseux : (RN,ULS) -> %
++ \spad{puiseux(r,f(x))} returns \spad{f(x^r)}.
rationalPower : % -> RN
++ \spad{rationalPower(f(x))} returns r where the Puiseux series
++ \spad{f(x) = g(x^r)}.
laurentRep : % -> ULS
++ \spad{laurentRep(f(x))} returns \spad{g(x)} where the Puiseux series
++ \spad{f(x) = g(x^r)} is represented by \spad{[r,g(x)]}.
degree : % -> RN
++ \spad{degree(f(x))} returns the degree of the leading term of the
++ Puiseux series \spad{f(x)}, which may have zero as a coefficient.
coerce : ULS -> %
++ \spad{coerce(f(x))} converts the Laurent series \spad{f(x)} to a
++ Puiseux series.
laurent : % -> ULS
++ \spad{laurent(f(x))} converts the Puiseux series \spad{f(x)} to a
++ Laurent series if possible. Error: if this is not possible.
laurentIfCan : % -> Union(ULS,"failed")
++ \spad{laurentIfCan(f(x))} converts the Puiseux series \spad{f(x)}
++ to a Laurent series if possible.
++ If this is not possible, "failed" is returned.
add
zero? x == zero? laurentRep x
retract(x:%):ULS == laurent x
retractIfCan(x:%):Union(ULS,"failed") == laurentIfCan x
|