|
There are various ways in which to order the families of
rings . We look at some in this section.
It is important to realize at the outset that to work comfortably with
a ring, it should be finitely generated (over some subring); indeed,
the only violations of this rule occur for real and complex fields,
and p-adic and power series type structures, in which we necessarily
have to cope with approximations. All other rings we will label as
exact.
All rings in Magma can be
obtained from the ring of rational integers Z
by repeated application of a handful of fundamental mathematical
constructions. The first such construction is forming fractions:
the rational field Q can be obtained as the field of fractions of Z.
The second construction is that of forming quotients: in this way the rings
Z/mZ are obtained from Z. The third important construction is that
of transcendental extension: by adjoining an element that satisfies
no relation over the coefficient ring, a polynomial ring is obtained.
An algebraic extension can be obtained by a combination of
a transcendental extension and a quotient. Finally, completion
of a ring at a prime leads in general to the rings that were labelled above
as not exact. Some other constructions are: tensoring, taking
direct products (leading to tuple modules), and taking valuation
rings (an operation inverse to taking fields of fractions).
Most of these constructions are supported by Magma. In many situations
the quo and ext constructors will perform the quotient
and algebraic extension operations, just like sub creates
sub-structures. Note an important distinction: usually sub
creates structures of exactly the same type as the original structure---this
is precisely why the construction of sub-object does not appear as an
important construction for creating new objects in the previous paragraph.
Care should be taken not to confuse the mathematical properties of rings
(or objects in Magma in general) and the properties of the object that
Magma is aware of. For example, if one creates the ring of residue classes
Z/pZ for a prime number p, using the command IntegerRing(p),
the Magma object created is a residue class ring (whose
modulus happens to be prime) and not a finite field; the functions
applicable are the residue class ring functions, and it is, for instance,
not possible to create a field extension over this object. If the intention
was to create a finite field, the FiniteField(p) command should have
been used, and for that object it is possible to create a field extension.
Similarly, a convenient way of thinking about a number field K=Q(α)
is to regard it as a quotient of the polynomial ring Q[X] and the ideal
generated by the minimal polynomial f of the primitive element α:
K=Q(α) isomorphic to Q[X]/(f).
This is, however, not the way to create number fields in Magma. The quotient
ring of a polynomial ring will be an object to which only the generic
ring functions apply, whereas to obtain the number field with all the
machinery to manipulate it one has to use a command like NumberField(f).
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|