Here is described the operations on power series and Laurent series available in Magma; these facilities are mostly taken from the PARI system.
Power series and Laurent series are stored in truncated form, unless only finitely many terms are non-zero. Elements r_(v)X^(v) + r_(v + 1)X^(v + 1) + ... (with v in Z and r_v != 0) of the ring of formal Laurent series R((X)) over a commutative ring R will be stored in the form of approximations r_(v)X^(v) + r_(v + 1)X^(v + 1) + ... + O(X^p) to a certain precision p >= v. The O(X^p) notation is used to refer to terms of degree at least the precision p in X.
Power series, that is, elements r_(v)X^(v) + r_(v + 1)X^(v + 1) + ... with v in Z_( >= 0) and r_v != 0, of the ring of formal power series R[[X]] over a commutative ring R, are treated similarly. For power series the precision has to be positive p>0, unless it is infinite.
There are four basic types of series structure in Magma, two of them relating to Laurent series, and two relating to power series. In both cases there is a structure type for elements of arbitrary precision, and a type for elements of some fixed precision. We will sometimes refer to the structures relating to Laurent series as the free field of Laurent series and the field of Laurent series to fixed precision and to the structures relating to power series as the free ring of power series and the ring of power series to fixed precision. Note that this nomenclature is somewhat inaccurate, firstly because we are dealing with finite approximations (and their collective may not even form a commutative ring), and secondly because R((X)) will be a field only if R is a field.
By series we will mean any of the elements
of the above four type of structures.
Precision
Associated with any series there are two types of precision: the absolute precision and the relative precision. For r_(v)X^(v) + r_(v + 1)X^(v + 1) + ... + O(x^p) (with v in Z and r_v != 0) they are the integers p and r=p - v respectively. The absolute precision indicates the largest known term, and the relative precision indicates the size of the range over which terms are known. The two types of precision and the valuation of the series, which equals v in the above, are therefore always related via p=v + r.
Every series ring or field will have a default precision stored with it,
indicating the (maximum relative) precision to which elements are
created and printed, although some elements may well be stored
to a higher precision.
Free and Fixed Precision
The Magma structures in which elements can have arbitrary precision most closely resemble the mathematical objects R[[X]] and R((X)). Elements in these free rings and fields carry their own precision with them. Operations usually return results to a precision that is maximal given the input (and the nature of the operation). Elements of free structures that have finite series expansion (i.e., polynomials) can be created and stored exactly, with infinite (absolute and relative) precision. Also note that the relative precision will be 0 for approximations to 0.
The structures with fixed precision, which we will sometimes refer to
as quotient structures, behave differently. All elements in a
series field of fixed precision
have the same fixed relative precision; the only exception to this
rule is that 0 in the quotient field is stored as zero with infinite absolute
precision. The absolute precision of elements in a free series ring
can be anything. All elements in a series ring of fixed precision
have the same fixed absolute precision p, and the relative precision
may be anything from 0 to p. This means that the ring
with fixed precision p behaves like a quotient of a polynomial ring,
R[X]/X^p.
Equality
Since a given ring of power series or Laurent series will contain
series truncated at arbitrary precision, care has to be taken as to
the meaning of equality of two elements. We will call two series A and B in
the same ring equal if and only if their coefficients are the same
whenever both are defined, that is, if and only if
for every n <= p the coefficients A_n and B_n are equal, where
p is the minimum of the precisions of A and B.
Thus, for example, A=3 + X + O(x^2) and B=3 + X + 17X^2 + O(x^4) are the same,
but C=3 + X + 17X^2 + X^3 + O(X^4) is different from B. Note that
A and C are equal under this definition, and hence equality is
not transitive!
Coercion
Homomorphisms
Special Options
AssertAttribute(R, "Precision", n) : FldPow, MonStgElt, RngIntElt -> Null
Procedure to change the default precision on a free ring or field of series R; the default precision will be set to n, which must be a non-negative integer. Note that the default precision is used in printing of elements and in the creation of new elements: they will have the default relative precision unless specifically created at a different precision.
Function that returns a Boolean indicating whether a default precision has been set on a free series ring or field (which will always be true), as well as its (non-negative) integer value (which is 20 by default).
Procedure to change the name of the `indeterminate' transcendental element generating the series ring or field R; the name (used in printing elements of R) is changed to the string x. Note that no assignment to the identifier x is made (so x cannot be used for the specification of elements of R without further assignment).
Return the element of the series ring or field with a name attached to it, that is, return the `indeterminate' transcendental element generating R over its coefficient ring.[Next] [Prev] [Right] [____] [Up] [Index] [Root]