
5.1.14 create_ring
Procedure from library standard.lib (see standard_lib).
 Usage:
 create_ring(l1, l2, l3[, l4, "no_minpoly"]);
l1 int or list, l2 list or string, l3 list or string, l4 ideal
 Return:
 ring(list(l1, l2, l3, l4))
 Note:
 l1, l2, l3, l4 are assumed to be the four entries of ring_list(R)
where R is the ring to be returned.
Optional arguments: If l4 is not given, it is assumend to be
ideal(0). If "no_minpoly" is given, then the minimal polynomial
in l1, if present, is set to 0.
Shortcuts: Strings such as "0", "(32003)" or "(0,a,b,c)" can
be given as l1. Indexed parameters as in "(0,a(1..3))" are
not supported. Strings such as "(x,y,z)" can be given as l2.
Indexed variables as in "(x(1..3),y,z)" are not supported.
Strings representing orderings such as "dp" or "(lp(3), ds(2))"
can be given as l3, except matrix orderings given by
"M([intmat_expression])".
Example:
 ring R = (0,a), x, lp;
ring_list(R);
==> [1]:
==> 0,a
==> [2]:
==> [1]:
==> x
==> [3]:
==> [1]:
==> [1]:
==> lp
==> [2]:
==> 1
==> [2]:
==> [1]:
==> C
==> [2]:
==> 0
==> [4]:
==> _[1]=0
minpoly = a^2+1;
qring Q = ideal(x^32);
ring S = create_ring(ring_list(Q)[1], "(x,y,t)", "dp", "no_minpoly");
basering;
==> // coefficients: QQ[a]/(a2+1)
==> // number of vars : 3
==> // block 1 : ordering dp
==> // : names x y t
==> // block 2 : ordering C

