# UnivariatePowerSeriesCategory(Coef, Expon)ΒΆ

pscat.spad line 51 [edit on github]

Coef: Ring

Expon: OrderedAbelianMonoid

UnivariatePowerSeriesCategory is the most general univariate power series category with exponents in an ordered abelian monoid. Note: this category exports a substitution function if it is possible to multiply exponents. Note: this category exports a derivative operation if it is possible to multiply coefficients by exponents.

- 0: %
from AbelianMonoid

- 1: %
from MagmaWithUnit

- *: (%, %) -> %
from LeftModule %

- *: (%, Coef) -> %
from RightModule Coef

- *: (%, Fraction Integer) -> % if Coef has Algebra Fraction Integer
from RightModule Fraction Integer

- *: (Coef, %) -> %
from LeftModule Coef

- *: (Fraction Integer, %) -> % if Coef has Algebra Fraction Integer
from LeftModule Fraction Integer

- *: (Integer, %) -> %
from AbelianGroup

- *: (NonNegativeInteger, %) -> %
from AbelianMonoid

- *: (PositiveInteger, %) -> %
from AbelianSemiGroup

- +: (%, %) -> %
from AbelianSemiGroup

- -: % -> %
from AbelianGroup

- -: (%, %) -> %
from AbelianGroup

- /: (%, Coef) -> % if Coef has Field
from AbelianMonoidRing(Coef, Expon)

- ^: (%, NonNegativeInteger) -> %
from MagmaWithUnit

- ^: (%, PositiveInteger) -> %
from Magma

- annihilate?: (%, %) -> Boolean
from Rng

- antiCommutator: (%, %) -> %

- approximate: (%, Expon) -> Coef if Coef has coerce: Symbol -> Coef and Coef has ^: (Coef, Expon) -> Coef
`approximate(f)`

returns a truncated power series with the series variable viewed as an element of the coefficient domain.

- associates?: (%, %) -> Boolean if Coef has IntegralDomain
from EntireRing

- associator: (%, %, %) -> %
from NonAssociativeRng

- center: % -> Coef
`center(f)`

returns the point about which the series`f`

is expanded.

- characteristic: () -> NonNegativeInteger
from NonAssociativeRing

- charthRoot: % -> Union(%, failed) if Coef has CharacteristicNonZero

- coefficient: (%, Expon) -> Coef
from AbelianMonoidRing(Coef, Expon)

- coerce: % -> % if Coef has CommutativeRing
from Algebra %

- coerce: % -> OutputForm
from CoercibleTo OutputForm

- coerce: Coef -> % if Coef has CommutativeRing
from Algebra Coef

- coerce: Fraction Integer -> % if Coef has Algebra Fraction Integer
- coerce: Integer -> %
from NonAssociativeRing

- commutator: (%, %) -> %
from NonAssociativeRng

- complete: % -> %
from PowerSeriesCategory(Coef, Expon, SingletonAsOrderedSet)

- construct: List Record(k: Expon, c: Coef) -> %
from IndexedProductCategory(Coef, Expon)

- constructOrdered: List Record(k: Expon, c: Coef) -> %
from IndexedProductCategory(Coef, Expon)

- D: % -> % if Coef has *: (Expon, Coef) -> Coef
from DifferentialRing

- D: (%, List Symbol) -> % if Coef has *: (Expon, Coef) -> Coef and Coef has PartialDifferentialRing Symbol
- D: (%, List Symbol, List NonNegativeInteger) -> % if Coef has *: (Expon, Coef) -> Coef and Coef has PartialDifferentialRing Symbol
- D: (%, NonNegativeInteger) -> % if Coef has *: (Expon, Coef) -> Coef
from DifferentialRing

- D: (%, Symbol) -> % if Coef has *: (Expon, Coef) -> Coef and Coef has PartialDifferentialRing Symbol
- D: (%, Symbol, NonNegativeInteger) -> % if Coef has *: (Expon, Coef) -> Coef and Coef has PartialDifferentialRing Symbol

- degree: % -> Expon
from PowerSeriesCategory(Coef, Expon, SingletonAsOrderedSet)

- differentiate: % -> % if Coef has *: (Expon, Coef) -> Coef
from DifferentialRing

- differentiate: (%, List Symbol) -> % if Coef has *: (Expon, Coef) -> Coef and Coef has PartialDifferentialRing Symbol
- differentiate: (%, List Symbol, List NonNegativeInteger) -> % if Coef has *: (Expon, Coef) -> Coef and Coef has PartialDifferentialRing Symbol
- differentiate: (%, NonNegativeInteger) -> % if Coef has *: (Expon, Coef) -> Coef
from DifferentialRing

- differentiate: (%, Symbol) -> % if Coef has *: (Expon, Coef) -> Coef and Coef has PartialDifferentialRing Symbol
- differentiate: (%, Symbol, NonNegativeInteger) -> % if Coef has *: (Expon, Coef) -> Coef and Coef has PartialDifferentialRing Symbol

- elt: (%, Expon) -> Coef
`elt(f(x), r)`

returns the coefficient of the term of degree`r`

in`f(x)`

. This is the same as the function coefficient.

- eval: (%, Coef) -> Stream Coef if Coef has ^: (Coef, Expon) -> Coef
`eval(f, a)`

evaluates a power series at a value in the ground ring by returning a stream of partial sums.

- exquo: (%, %) -> Union(%, failed) if Coef has IntegralDomain
from EntireRing

- extend: (%, Expon) -> %
`extend(f, n)`

causes all terms of`f`

of degree`<=`

`n`

to be computed.

- hash: % -> SingleInteger
from SetCategory

- hashUpdate!: (HashState, %) -> HashState
from SetCategory

- latex: % -> String
from SetCategory

- leadingCoefficient: % -> Coef
from PowerSeriesCategory(Coef, Expon, SingletonAsOrderedSet)

- leadingMonomial: % -> %
from PowerSeriesCategory(Coef, Expon, SingletonAsOrderedSet)

- leadingSupport: % -> Expon
from IndexedProductCategory(Coef, Expon)

- leadingTerm: % -> Record(k: Expon, c: Coef)
from IndexedProductCategory(Coef, Expon)

- leftPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit

- leftPower: (%, PositiveInteger) -> %
from Magma

- leftRecip: % -> Union(%, failed)
from MagmaWithUnit

- map: (Coef -> Coef, %) -> %
from IndexedProductCategory(Coef, Expon)

- monomial?: % -> Boolean
from IndexedProductCategory(Coef, Expon)

- monomial: (Coef, Expon) -> %
from IndexedProductCategory(Coef, Expon)

- multiplyExponents: (%, PositiveInteger) -> %
`multiplyExponents(f, n)`

multiplies all exponents of the power series`f`

by the positive integer`n`

.

- one?: % -> Boolean
from MagmaWithUnit

- opposite?: (%, %) -> Boolean
from AbelianMonoid

- order: % -> Expon
`order(f)`

is the degree of the lowest order non-zero term in`f`

. This will result in an infinite loop if`f`

has no non-zero terms.

- order: (%, Expon) -> Expon
`order(f, n) = min(m, n)`

, where`m`

is the degree of the lowest order non-zero term in`f`

.

- pole?: % -> Boolean
from PowerSeriesCategory(Coef, Expon, SingletonAsOrderedSet)

- recip: % -> Union(%, failed)
from MagmaWithUnit

- reductum: % -> %
from IndexedProductCategory(Coef, Expon)

- rightPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit

- rightPower: (%, PositiveInteger) -> %
from Magma

- rightRecip: % -> Union(%, failed)
from MagmaWithUnit

- sample: %
from AbelianMonoid

- subtractIfCan: (%, %) -> Union(%, failed)

- terms: % -> Stream Record(k: Expon, c: Coef)
`terms(f(x))`

returns a stream of non-zero terms, where a a term is an exponent-coefficient pair. The terms in the stream are ordered by increasing order of exponents. Warning: If the series`f`

has only finitely many non-zero terms, then accessing the resulting stream might lead to an infinite search for the next non-zero coefficient.

- truncate: (%, Expon) -> %
`truncate(f, k)`

returns a (finite) power series consisting of the sum of all terms of`f`

of degree`<= k`

.

- truncate: (%, Expon, Expon) -> %
`truncate(f, k1, k2)`

returns a (finite) power series consisting of the sum of all terms of`f`

of degree`d`

with`k1 <= d <= k2`

.

- unit?: % -> Boolean if Coef has IntegralDomain
from EntireRing

- unitCanonical: % -> % if Coef has IntegralDomain
from EntireRing

- unitNormal: % -> Record(unit: %, canonical: %, associate: %) if Coef has IntegralDomain
from EntireRing

- variable: % -> Symbol
`variable(f)`

returns the (unique) power series variable of the power series`f`

.

- zero?: % -> Boolean
from AbelianMonoid

AbelianMonoidRing(Coef, Expon)

Algebra % if Coef has CommutativeRing

Algebra Coef if Coef has CommutativeRing

Algebra Fraction Integer if Coef has Algebra Fraction Integer

BiModule(%, %)

BiModule(Coef, Coef)

BiModule(Fraction Integer, Fraction Integer) if Coef has Algebra Fraction Integer

CharacteristicNonZero if Coef has CharacteristicNonZero

CharacteristicZero if Coef has CharacteristicZero

CommutativeRing if Coef has CommutativeRing

CommutativeStar if Coef has CommutativeRing

DifferentialRing if Coef has *: (Expon, Coef) -> Coef

Eltable(%, %) if Expon has SemiGroup

EntireRing if Coef has IntegralDomain

IndexedProductCategory(Coef, Expon)

IntegralDomain if Coef has IntegralDomain

LeftModule Coef

LeftModule Fraction Integer if Coef has Algebra Fraction Integer

Module % if Coef has CommutativeRing

Module Coef if Coef has CommutativeRing

Module Fraction Integer if Coef has Algebra Fraction Integer

noZeroDivisors if Coef has IntegralDomain

PartialDifferentialRing Symbol if Coef has *: (Expon, Coef) -> Coef and Coef has PartialDifferentialRing Symbol

PowerSeriesCategory(Coef, Expon, SingletonAsOrderedSet)

RightModule Coef

RightModule Fraction Integer if Coef has Algebra Fraction Integer

TwoSidedRecip if Coef has CommutativeRing