# quotient(Module,Module) -- ideal or submodule quotient

## Synopsis

• Function: quotient
• Usage:
quotient(I, J)
I:J
• Inputs:
• Optional inputs:
• Strategy => , default value null, specifies the algorithm
• MinimalGenerators => , default value true, indicates whether the output should be trimmed
• BasisElementLimit => ..., default value infinity,
• DegreeLimit => ..., default value {},
• PairLimit => ..., default value infinity,
• Outputs:
• an ideal, an ideal or , the quotient $I:J = \{f | f J\subset I\}$

## Description

If I and J are both monomial ideals, then the result will be as well. If I and J are both ideals or 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.

The arguments should be ideals in the same ring, or submodules of the same module. If the second input J is a ring element f, then the principal ideal generated by f is used. The infix colon operator : may be used as an abbreviation, if no options need to be supplied.

For ideals, the quotient is the set of ring elements $r$ such that $rJ$ is contained in $I$. If $I$ is a submodule of a module $M$, and $J$ is an ideal, the quotient is the set of elements $m \in M$ such that $Jm$ is contained in $I$. Finally, if $I$ and $J$ are submodules of the same module $M$, then the result is the set of ring elements $r$ such that $rJ$ is contained in $I$.

 i1 : R = ZZ/32003[a..d]; i2 : J = monomialCurveIdeal(R,{1,4,7}) 2 3 3 4 3 o2 = ideal (c - b*d, b c - a d, b - a c) o2 : Ideal of R i3 : I = ideal(J_1-a^2*J_0,J_2-d*c*J_0) 3 2 2 3 2 4 3 3 2 o3 = ideal (b c - a c - a d + a b*d, b - a c - c d + b*c*d ) o3 : Ideal of R i4 : I : J 3 2 2 3 2 2 o4 = ideal (b - a c + c*d , a - a b + c d) o4 : Ideal of R

When needed, Gröbner bases will be computed, and if the computation succeeds the result is cached inside the first argument. Partial computations are not yet cached, but this may change in a future version.

 i5 : R = ZZ[a,b,c]; i6 : F = a^3-b^2*c-11*c^2 3 2 2 o6 = a - b c - 11c o6 : R i7 : I = ideal(F,diff(a,F),diff(b,F),diff(c,F)) 3 2 2 2 2 o7 = ideal (a - b c - 11c , 3a , -2b*c, - b - 22c) o7 : Ideal of R i8 : I : (ideal(a,b,c))^3 2 2 o8 = ideal (11c, 3b, 33a, b*c, b , a*b, a ) o8 : Ideal of R

If the arguments are submodules of the same module, the annihilator of J/I (or (J+I)/I) is returned.

 i9 : S = QQ[x,y,z]; i10 : J = image vars S o10 = image | x y z | 1 o10 : S-module, submodule of S i11 : I = image symmetricPower(2,vars S) o11 = image | x2 xy xz y2 yz z2 | 1 o11 : S-module, submodule of S i12 : (I++I) : (J++J) o12 = ideal (z, y, x) o12 : Ideal of S i13 : (I++I) : x+y+z o13 = image | z y x 0 0 0 | | 0 0 0 z y x | 2 o13 : S-module, submodule of S i14 : quotient(I,J) o14 = ideal (z, y, x) o14 : Ideal of S i15 : quotient(gens I, gens J) o15 = {1} | x y z 0 0 0 | {1} | 0 0 0 y z 0 | {1} | 0 0 0 0 0 z | 3 6 o15 : Matrix S <--- S

Ideal quotients and saturations are useful for manipulating components of ideals.

 i16 : I = ideal(x^2-y^2, y^3) 2 2 3 o16 = ideal (x - y , y ) o16 : Ideal of S i17 : J = ideal((x+y+z)^3, z^2) 3 2 2 3 2 2 2 2 o17 = ideal (x + 3x y + 3x*y + y + 3x z + 6x*y*z + 3y z + 3x*z + 3y*z + ----------------------------------------------------------------------- 3 2 z , z ) o17 : Ideal of S i18 : L = intersect(I,J) 2 2 2 2 3 2 2 3 4 3 2 2 o18 = 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 ) o18 : Ideal of S i19 : L : z^2 2 2 3 o19 = ideal (x - y , y ) o19 : Ideal of S i20 : L : I == J o20 = true