[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Creation Functions

Creation Functions

Subsections

Creation of Structures

PowerSeriesRing(R) : Rng -> AlgPowSer
PowerSeriesAlgebra(R) : Rng -> AlgPowSer
    Precision: RngIntElt                Default: 20
Given a commutative ring R, create the ring R[[X]] of formal power series over R. The angle bracket notation can be used to assign a name to the indeterminate: P<X> := PowerSeriesRing(R). The optional argument Precision may be used to set the default precision for elements of the power series ring. If no value is set this precision will be 20 by default.
LaurentSeriesRing(R) : Rng -> AlgPowSer
LaurentSeriesAlgebra(R) : Rng -> AlgPowSer
    Precision: RngIntElt                Default: 20
Given a commutative ring R, create the ring R((X)) of formal power series over R. The angle bracket notation can be used to assign a name to the indeterminate: P<X> := LaurentSeriesRing(R). The optional argument Precision may be used to set the default precision for elements of the power series ring. If no value is set this precision will be 20 by default.

Changing Default Precision

Upon creation of a ring of series it is possible to set the default precision by using Precision as an optional argument. Once the ring has been created the default precision for elements can be changed by using AssertAttribute.

AssertAttribute(A, "Precision", n) : AlgPowSer, MonStgElt, RngIntElt ->
Given a ring of (Laurent or power) series A, this procedure changes the default precision on elements created to n.

Creation of Elements

The easiest way to create power and Laurent series in a given ring is to use the angle bracket construction to attach names to the indeterminate, and to use these names to express the series (see the examples). Below we list other options.

One(Q) : FldLau -> FldLauElt
One(Q) : RngPow -> RngPowElt
Identity(Q) : FldLau -> FldLauElt
Identity(Q) : RngPow -> RngPowElt
Zero(Q) : FldLau -> FldLauElt
Zero(Q) : RngPow -> RngPowElt
Representative(Q) : FldLau -> FldLauElt
Representative(Q) : RngPow -> RngPowElt
R . 1 : RngPowSer, RngInt -> RngSerElt
R . 1 : RngLauSer, RngInt -> RngSerElt
Return the generator (indeterminate) for the power series or Laurent series ring R.
elt< R | v, [ a_1, ..., a_d], p > : RngIntElt, SeqEnum, RngIntElt -> RngPowSerElt
elt< R | v, [ a_1, ..., a_d], p > : RngIntElt, SeqEnum, RngIntElt -> RngLauSerElt
Given a power series ring R[[X]] or Laurent series ring R((X)), integers v and p (where p > 0 or p = (-1)), and a sequence a=[a_1, ..., a_d] of elements of R, create the element with valuation v, known coefficients given by a and relative precision p. That is, this function returns the series a_1X^v + ... + a_dX^(v + d - 1) + O(X^(v + p)), or, if p = (-1), the exact series a_1X^v + ... + a_dX^(v + d - 1). If R is a power series ring, then v must be non-negative.

The integer v or the integer p or both may be omitted. If v is omitted, it will be set to zero by default; if p is omitted it will be taken to be v + d, where d is the length of the sequence a.

R ! s : RngPowSer, SeqEnum -> RngPowSerElt
R ! s : RngLauSer, SeqEnum -> RngLauSerElt
Coerce s into the power series ring or Laurent series ring R. Here s is allowed to be a sequence of elements from (or coercible into) the coefficient ring of R, or just an element from (or coercible into) R. A sequence [a_1, ..., a_d] is converted into the series a_1 + a_2X^1 + ... + a_dX^(d - 1) + O(X^d).
BigO(x^n) : RngSerElt -> RngIntElt
O(x^n) : RngSerElt -> RngIntElt
Create the series 0 + O(x^n) where x is the `generator' of a (power or Laurent) series ring R and where n must be positive if R is a power series ring.
[Next] [Prev] [Right] [Left] [Up] [Index] [Root]