next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Macaulay2Doc :: quotient(Ideal,Ideal)

quotient(Ideal,Ideal) -- ideal or submodule quotient

Synopsis

Description

If I and J are both monomial ideals, then the result will be as well. If I and J are both submodules of the same module, then the result will be an ideal, otherwise if J is an ideal or ring element, then the result is a submodule containing I.

Gröbner bases will be computed as needed.

The colon operator : may be used as an abbreviation of quotient if no options need to be supplied.

If the second input J is a ring element f, then the principal ideal generated by f is used.

The computation is not stored anywhere yet, BUT, it will soon be stored under I.cache.QuotientComputation{J}, or I.QuotientComputation{J}, so that the computation can be restarted after an interrupt.

i1 : R = ZZ[a,b,c];
i2 : F = a^3-b^2*c-11*c^2

      3    2       2
o2 = a  - b c - 11c

o2 : R
i3 : I = ideal(F,diff(a,F),diff(b,F),diff(c,F))

             3    2       2    2            2
o3 = ideal (a  - b c - 11c , 3a , -2b*c, - b  - 22c)

o3 : Ideal of R
i4 : I : (ideal(a,b,c))^3

                                2        2
o4 = ideal (11c, 3b, 33a, b*c, b , a*b, a )

o4 : Ideal of R
If both arguments are submodules, the annihilator of J/I (or (J+I)/I) is returned.
i5 : S = QQ[x,y,z];
i6 : J = image vars S

o6 = image | x y z |

                             1
o6 : S-module, submodule of S
i7 : I = image symmetricPower(2,vars S)

o7 = image | x2 xy xz y2 yz z2 |

                             1
o7 : S-module, submodule of S
i8 : (I++I) : (J++J)

o8 = ideal (z, y, x)

o8 : Ideal of S
i9 : (I++I) : x+y+z

o9 = image | z y x 0 0 0 |
           | 0 0 0 z y x |

                             2
o9 : S-module, submodule of S
i10 : quotient(I,J)

o10 = ideal (z, y, x)

o10 : Ideal of S
i11 : quotient(gens I, gens J)        

o11 = {1} | x y z 0 0 0 |
      {1} | 0 0 0 y z 0 |
      {1} | 0 0 0 0 0 z |

              3       6
o11 : Matrix S  <--- S
Ideal quotients and saturations are useful for manipulating components of ideals. For example,
i12 : I = ideal(x^2-y^2, y^3)

              2    2   3
o12 = ideal (x  - y , y )

o12 : Ideal of S
i13 : J = ideal((x+y+z)^3, z^2)

              3     2        2    3     2               2        2       2  
o13 = ideal (x  + 3x y + 3x*y  + y  + 3x z + 6x*y*z + 3y z + 3x*z  + 3y*z  +
      -----------------------------------------------------------------------
       3   2
      z , z )

o13 : Ideal of S
i14 : L = intersect(I,J)

              2 2    2 2    3      2 2       3     4     3      2          2 
o14 = ideal (x z  - y z , 2x y + 6x y  + 6x*y  + 2y  - 3x z - 3x y*z + 3x*y z
      -----------------------------------------------------------------------
          3    4     2 2       3     4     3      2          2      3    3 2
      + 3y z, x  - 6x y  - 8x*y  - 3y  + 6x z + 6x y*z - 6x*y z - 6y z, y z )

o14 : Ideal of S
i15 : L : z^2

              2    2   3
o15 = ideal (x  - y , y )

o15 : Ideal of S
i16 : L : I == J

o16 = true

See also