# Singular

### 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^3-2); 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 ```