up previous next
NewQuotientRing --
create a new quotient ring
|
NewQuotientRing(R: RING, I: IDEAL): RING
NewQuotientRing(R: RING, s: STRING): RING
R/I -- R: RING, I: IDEAL |
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
.
/**/ 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)
|