up previous next
NewQuotientRing    --    create a new quotient ring


Syntax
NewQuotientRing(R: RING, I: IDEAL): RING
NewQuotientRing(R: RING, s: STRING): RING
R/I    -- R: RING, I: IDEAL

Description
This function makes a new ring R/I. The syntax with the STRING is a shortcut for quotienting by the principal ideal generated by the RINGELEM it represents. This syntax is expecially useful when the base ring is contextually created (see example below).

NOTE: calling twice NewQuotientRing will produce two different rings, even with identical input: equality test is performed on the pointers. See RingID .

Example
/**/  use Qi ::= QQ[i];
/**/  CC := Qi/ideal(i^2+1);  -- sort of  ;-)
/**/  use CC[x];
/**/  (x+i)^2;  --> round brackets in output indicate class in CC
x^2 +(2*i)*x +(-1)

/**/  -- string shortcut
/**/  RmodI := NewQuotientRing(NewPolyRing(QQ, "x,y,z"), "y-3, z^2-5");
/**/  use RmodI;
/**/  (x+y)^2;  --> round brackets in output indicate class in RmodI
(x^2 +6*x +9)

See Also