up previous next
 2.9.2 Polynomial Rings
CoCoA starts with the default (polynomial) ring R = QQ[x,y,z] . Polynomial rings are created with the function NewPolyRing , but there is a special simplyfied syntax working in most cases: it must be preceded by the command use or by the symbol ::= (or both)
```     R ::= C[X:INDETS];           use C[X:INDETS];
R ::= C[X:INDETS], O;        use C[X:INDETS], O;
```
R is the identifier of a CoCoALanguage variable, C is a RING, X is an expression that defines the indeterminates, O is a pre-defined ordering ( lex , deglex , degrevlex ). The default ordering is DegRevLex.

After the ring is defined using the above syntax, it can be made to be the current ring with the command use .

 Example
 ```/**/ use R ::= QQ[a,b,c]; -- define and use the ring R /**/ K := NewFractionField(R); /**/ S ::= K[x,y], Lex; /**/ CurrentRing; -- the current ring is still R RingWithID(21, "QQ[a,b,c]") /**/ use S; -- now the ring S is the current ring /**/ CurrentRing; RingWithID(23, "RingWithID(22)[x,y]") ```