# newRing -- make a copy of a ring, with some features changed

## Synopsis

• Usage:
S = newRing(R,options)
• Inputs:
• R, a polynomial ring or a quotient of a polynomial ring
• Optional inputs:
• Outputs:
• S, a ring, a new ring, constructed in the same way R was, over the same coefficient ring, but with the newly specified options overriding those used before. See monoid for a description of those options. If R was a quotient ring, then the number of variables must be the same, and S will be a quotient ring, too, with defining ideal obtained from the old by substituting the new variables for the old, preserving their order.

## Description

If a different number of variables is given with Variables, then the list of degrees in R will be ignored. If a new degree rank is specified with DegreeRank then the list of degrees and the heft vector of R will be ignored. If a new nonempty list of degrees is specified with Degrees, then the degree rank and and the heft vector of R will be ignored.

 `i1 : R = QQ[x,y,MonomialOrder => Lex,Degrees=>{3,5}];` ```i2 : describe newRing(R,MonomialOrder => GRevLex) o2 = QQ[x..y, Degrees => {3, 5}, Heft => {1}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 1] {GRevLex => {3, 5} } {Position => Up }``` ```i3 : describe newRing(R,Variables=>4) o3 = QQ[p ..p , Degrees => {4:1}, Heft => {1}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 1] 0 3 {Lex => 2 } {Position => Up } {GRevLex => {2:1} }``` ```i4 : describe newRing(R,Heft=>{2}) o4 = QQ[x..y, Degrees => {3, 5}, Heft => {2}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 1] {Lex => 2 } {Position => Up }``` `i5 : S = R/(x^2+y^3);` ```i6 : describe newRing(R,Variables=>2) o6 = QQ[p ..p , Degrees => {3, 5}, Heft => {1}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 1] 0 1 {Lex => 2 } {Position => Up }```

The default values for the options of newRing are all set to a non-accessible private symbol whose name is nothing.

## Ways to use newRing :

• newRing(PolynomialRing)
• newRing(QuotientRing)