|
3.3.1 Examples of ring declarations
The exact syntax of a ring declaration is given in the next two
subsections; this subsection lists some examples first. Note that the
ordering has to be chosen such that the unit-elements of the
ring are precisely those elements with leading monomial 1. For more
information, see Monomial orderings.
Every floating point number in a ring consists of two parts, which may be
chosen from the user. The leading part represents the number and the rest
is for the numerical stability. Two numbers with a difference only in the
rest are equal.
-
the ring
with degree reverse lexicographical
ordering. The exact ring declaration may be omitted in the first
example since this is the default ring:
| ring r;
ring r = 32003,(x,y,z),dp;
|
-
the ring
with lexicographical ordering:
-
the ring
with local degree reverse lexicographical
ordering. The non-prime 10 is converted to the next lower prime in the
second example:
| ring r = 7,(x,y,z),ds;
ring r = 10,(x,y,z),ds;
|
-
the ring
with lexicographical ordering for
and degree reverse lexicographical ordering for
:
| ring r = 7,(x(1..6)),(lp(3),dp);
|
-
the localization of
at the maximal ideal
:
| ring r = 0,(x,y,z,a,b,c),(ds(3), dp(3));
|
-
the ring
with weighted reverse lexicographical ordering.
The variables
,
, and
have the weights 2, 1,
and 3, respectively, and vectors are first ordered by components (in
descending order) and then by monomials:
| ring r = 0,(x,y,z),(c,wp(2,1,3));
|
For ascending component order, the component ordering C has to be
used.
-
the ring
, where
denotes the transcendental
extension of
by
,
and
with degree
lexicographical ordering:
| ring r = (7,a,b,c),(x,y,z),Dp;
|
-
the ring
, where
denotes the algebraic extension of
degree 2 of
by
In other words,
is the finite field with
49 elements. In the first case,
denotes an algebraic
element over
with minimal polynomial
,
in the second case,
refers to some generator of the cyclic group of units of
:
| ring r = (7,a),(x,y,z),dp; minpoly = a^2+a+3;
ring r = (7^2,a),(x,y,z),dp;
|
-
the ring
, where
denotes the field of real
numbers represented by simple precision floating point numbers. This is
a special case:
| ring r = real,(x,y,z),dp;
|
-
the ring
, where
denotes the field of real
numbers represented by floating point numbers of 50 valid decimal digits
and the same number of digits for the rest:
| ring r = (real,50),(x,y,z),dp;
|
-
the ring
, where
denotes the field of real
numbers represented by floating point numbers of 10 valid decimal digits
and with 50 digits for the rest:
| ring r = (real,10,50),(x,y,z),dp;
|
-
the ring
, where
denotes the field of real
numbers represented by floating point numbers of 30 valid decimal digits
and the same number for the rest.
denotes the imaginary unit.
| ring r = (complex,30,j),(x,y,z),dp;
|
-
the ring
, where
denotes the field of real
numbers represented by floating point numbers of 6 valid decimal digits
and the same number for the rest.
is the default for the imaginary unit.
| ring r = complex,(x,y,z),dp;
|
-
the quotient ring
modulo the square of the maximal
ideal
:
| ring R = 7,(x,y,z), dp;
qring r = std(maxideal(2));
|
|