minimalPresentation(Ideal) -- compute a minimal presentation of the quotient ring defined by an ideal

Synopsis

• Function: minimalPresentation
• Usage:
J = minimalPresentation I
• Inputs:
• I, an ideal, in a ring S
• Optional inputs:
• Exclude => ..., default value {}, compute a minimal presentation of a quotient ring
• Outputs:
• J, an ideal, in a new ring Q with S/I isomorphic to Q/J
• Consequences:
• minimalPresentation stores the isomorphism from S/I to Q/J as I.cache.minimalPresentationMap , where I is the input ideal and the inverse of this map as I.cache.minimalPresentationMapInv

Description

If the ideal I is homogeneous, then the ideal J, in a new ring Q is the defining ideal for a minimal presentation of the ring S/I where S is the ring of I. This is accomplished as follows. If a variable occurs as a term of a generator of I and in no other terms of the same polynomial, then the variable is replaced by the remaining terms and removed from the ring. A minimal generating set for the resulting ideal is then computed. If I is not homogeneous, then an attempt is made to improve the presentation of S/I.
 i1 : C = ZZ/101[x,y,z,u,w]; i2 : I = ideal(x-x^2-y,z+x*y,w^2-u^2); o2 : Ideal of C i3 : minPres I 2 2 o3 = ideal(- u + w ) ZZ o3 : Ideal of ---[x, u, w] 101 i4 : I.cache.minimalPresentationMap ZZ 2 3 2 o4 = map (---[x, u, w], C, {x, - x + x, x - x , u, w}) 101 ZZ o4 : RingMap ---[x, u, w] <--- C 101 i5 : I.cache.minimalPresentationMapInv ZZ o5 = map (C, ---[x, u, w], {x, u, w}) 101 ZZ o5 : RingMap C <--- ---[x, u, w] 101
If the Exclude option is present, then those variables with the given indices are not simplified away (remember that ring variable indices start at 0).
 i6 : R = ZZ/101[x,y,z,u,w]; i7 : I = ideal(x-x^2-y,z+x*y,w^2-u^2); o7 : Ideal of R i8 : minimalPresentation(I, Exclude=>{1}) 2 2 2 o8 = ideal (- x + x - y, - u + w ) ZZ o8 : Ideal of ---[x..y, u, w] 101