### 4.20.5 qring declaration

Syntax:
  `qring` name `=` ideal_expression `;`
Default:
  none
Purpose:
  declares a quotient ring as the basering modulo ideal_expression and sets it as current basering.

  Operations based on standard bases (e.g. `std`,`groebner`, etc., `reduce`) and functions which require a standard basis (e.g. `dim`,`hilb`, etc.) operated with the residue classes; all others on the polynomial objects.

Example:

      ring r=0,(x,y,z),dp;
      ideal i=xy;
      qring q=std(i);
      basering;
      ==> // coefficients: QQ considered as a field
      ==> // number of vars : 3
      ==> //        block   1 : ordering dp
      ==> //                  : names    x y z
      ==> //        block   2 : ordering C
      ==> // quotient ring from ideal
      ==> _[1]=xy
      // simplification is not immediate:
      (x+y)^2;
      ==> x2+2xy+y2
      reduce(_,std(0));
      ==> x2+y2
      // polynomial and residue class:
      ring R=0,(x,y),dp;
      qring Q=std(y);
      poly p1=x;
      poly p2=x+y;
      // comparing polynomial objects:
      p1==p2;
      ==> 0
      // comparing residue classes:
      reduce(p1,std(0))==reduce(p2,std(0));
      ==> 1

User manual for Singular version 4.4.1, 2025, generated by texi2html.