next | previous | forward | backward | up | index | toc

# Ideal -- the class of all ideals

## Description

For basic information about ideals in Macaulay2, see ideals.

Common ways to make an ideal:
Common ways to get information about an ideal:
Common operations on ideals:
Gröbner bases, normal forms, free resolutions
• gb -- compute a Gröbner basis
• leadTerm -- get the greatest term
• codim -- compute the codimension
• dim -- compute the Krull dimension
• Matrix % Ideal -- normal form of ring elements and matrices
• resolution -- projective resolution
• betti -- display or modify a Betti diagram
Primary decomposition and components of an ideal
Ideals from geometry
Common ways to use an ideal:

An ideal I is an immutable object, so if you want to cache information about it, put it in the hash table I.cache.

## Types of ideal :

• MonomialIdeal -- the class of all monomial ideals handled by the engine

## Functions and methods returning an ideal :

• Ideal * Ring -- see * -- a binary operator, usually used for multiplication
• MonomialIdeal * Ring -- see * -- a binary operator, usually used for multiplication
• Ring * Ideal -- see * -- a binary operator, usually used for multiplication
• Ring * MonomialIdeal -- see * -- a binary operator, usually used for multiplication
• RingElement * Ideal -- see * -- a binary operator, usually used for multiplication
• annihilator(Ideal) -- see annihilator -- the annihilator ideal
• annihilator(Module) -- see annihilator -- the annihilator ideal
• annihilator(RingElement) -- see annihilator -- the annihilator ideal
• annihilator(CoherentSheaf) -- the annihilator ideal
• conductor(RingMap) -- see conductor -- the conductor of a finite ring map
• content(RingElement) -- see content -- the content of a polynomial
• content(RingElement,RingElement) -- see content -- the content of a polynomial
• expectedReesIdeal(Module) -- see expectedReesIdeal -- symmetric algebra ideal plus jacobian dual
• Fano(ZZ,Ideal) -- Fano scheme
• Fano(ZZ,Ideal,Ring) -- Fano scheme
• fittingIdeal -- Fitting ideal of a module
• graphIdeal(RingMap) -- the ideal of the graph of the regular map corresponding to a ring map
• Grassmannian -- see Grassmannian(ZZ,ZZ) -- the Grassmannian of linear subspaces of a vector space
• homogenize(Ideal,RingElement) -- see homogenize -- homogenize with respect to a variable
• icPIdeal(RingElement,RingElement,ZZ) -- see icPIdeal -- compute the integral closure in prime characteristic of a principal ideal
• ideal -- make an ideal
• Ideal * Ideal -- product of ideals
• Ideal * MonomialIdeal -- see Ideal * Ideal -- product of ideals
• MonomialIdeal * Ideal -- see Ideal * Ideal -- product of ideals
• Ideal * RingElement (missing documentation)
• Ideal + Ideal -- sum of ideals
• Ideal + MonomialIdeal -- see Ideal + Ideal -- sum of ideals
• MonomialIdeal + Ideal -- see Ideal + Ideal -- sum of ideals
• Ideal ^ ZZ -- power of an ideal
• ideal(List) -- make an ideal
• ideal(Sequence) -- see ideal(List) -- make an ideal
• ideal(Matrix) -- make an ideal
• ideal(Module) -- converts a module to an ideal
• ideal(Number) -- see ideal(RingElement) -- make an ideal
• ideal(RingElement) -- make an ideal
• ideal(String) -- make an ideal using classic Macaulay syntax
• integralClosure(Ideal) -- see integralClosure(Ideal,RingElement,ZZ) -- integral closure of an ideal in an affine domain
• integralClosure(Ideal,RingElement) -- see integralClosure(Ideal,RingElement,ZZ) -- integral closure of an ideal in an affine domain
• integralClosure(Ideal,ZZ) -- see integralClosure(Ideal,RingElement,ZZ) -- integral closure of an ideal in an affine domain
• intersect(Ideal) -- see intersect(Ideal,Ideal) -- compute an intersection of a sequence of ideals or modules
• intersect(Ideal,Ideal) -- compute an intersection of a sequence of ideals or modules
• kernel(RingMap) -- kernel of a ringmap
• lift(Ideal,type of RingElement) -- see lift -- lift to another ring
• localize(Ideal,Ideal) -- see localize -- localize an ideal at a prime ideal
• minimalPresentation(Ideal) -- compute a minimal presentation of the quotient ring defined by an ideal
• prune(Ideal) -- see minimalPresentation(Ideal) -- compute a minimal presentation of the quotient ring defined by an ideal
• minimalReduction(Ideal) -- see minimalReduction -- Find a minimal reduction of an ideal
• minors(ZZ,Matrix) -- ideal generated by minors
• Ideal ** Ring -- see Module ** Ring -- tensor product
• Ring ** Ideal -- see Module ** Ring -- tensor product
• permanents(ZZ,Matrix) -- see permanents -- ideal generated by square permanents of a matrix
• pfaffians -- ideal generated by Pfaffians
• preimage(RingMap,Ideal) -- see preimage -- preimage of a map
• primaryComponent(Ideal,Ideal) -- see primaryComponent -- find a primary component corresponding to an associated prime
• Ideal : Ideal -- see quotient(Module,Module) -- ideal or submodule quotient
• Ideal : RingElement -- see quotient(Module,Module) -- ideal or submodule quotient
• Module : Module -- see quotient(Module,Module) -- ideal or submodule quotient
• quotient(Ideal,Ideal) -- see quotient(Module,Module) -- ideal or submodule quotient
• quotient(Ideal,RingElement) -- see quotient(Module,Module) -- ideal or submodule quotient
• quotient(Module,Module) -- ideal or submodule quotient
• reesIdeal(Ideal) -- see reesIdeal -- Compute the defining ideal of the Rees Algebra
• reesIdeal(Ideal,RingElement) -- see reesIdeal -- Compute the defining ideal of the Rees Algebra
• reesIdeal(Module) -- see reesIdeal -- Compute the defining ideal of the Rees Algebra
• reesIdeal(Module,RingElement) -- see reesIdeal -- Compute the defining ideal of the Rees Algebra
• regSeqInIdeal(Ideal) -- see regSeqInIdeal -- a regular sequence contained in an ideal
• regSeqInIdeal(Ideal,ZZ) -- see regSeqInIdeal -- a regular sequence contained in an ideal
• regSeqInIdeal(Ideal,ZZ,ZZ,ZZ) -- see regSeqInIdeal -- a regular sequence contained in an ideal
• removeLowestDimension(Ideal) -- see removeLowestDimension -- remove components of lowest dimension
• RingMap Ideal -- see RingMap RingElement -- apply a ring map
• saturate(Ideal) -- see saturate -- saturation of ideal or submodule
• saturate(Ideal,Ideal) -- see saturate -- saturation of ideal or submodule
• saturate(Ideal,RingElement) -- see saturate -- saturation of ideal or submodule
• Schubert -- see Schubert(ZZ,ZZ,VisibleList) -- find the Plücker ideal of a Schubert variety
• specialFiberIdeal -- Special fiber of a blowup
• substitute(Ideal,List) -- see substitute -- substituting values for variables
• substitute(Ideal,Matrix) -- see substitute -- substituting values for variables
• substitute(Ideal,Ring) -- see substitute -- substituting values for variables
• substitute(Ideal,RingFamily) -- see substitute -- substituting values for variables
• symmetricAlgebraIdeal(Ideal) -- see symmetricAlgebraIdeal -- Ideal of the symmetric algebra of an ideal or module
• symmetricAlgebraIdeal(Module) -- see symmetricAlgebraIdeal -- Ideal of the symmetric algebra of an ideal or module
• symmetricKernel(Matrix) -- see symmetricKernel -- Compute the Rees ring of the image of a matrix
• tangentCone -- see tangentCone(Ideal)
• topComponents(Ideal) -- see topComponents -- compute top dimensional component of an ideal or module
• trim(Ideal) -- see trim -- minimize generators and relations
• truncate(List,Ideal) -- see truncate(List,Module) -- truncation of the graded ring, ideal or module at a specified degree or set of degrees
• truncate(List,Ring) -- see truncate(List,Module) -- truncation of the graded ring, ideal or module at a specified degree or set of degrees

## Methods that use an ideal :

• Number % Ideal -- see % -- a binary operator, usually used for remainder and reduction
• Ideal * Module -- see * -- a binary operator, usually used for multiplication
• Ideal * Vector -- see * -- a binary operator, usually used for multiplication
• Ideal + RingElement -- see + -- a unary or binary operator, usually used for addition
• Ideal == Ideal -- see == -- equality
• Ideal == Module -- see == -- equality
• Ideal == MonomialIdeal -- see == -- equality
• Ideal == Ring -- see == -- equality
• Ideal == ZZ -- see == -- equality
• Module == Ideal -- see == -- equality
• MonomialIdeal == Ideal -- see == -- equality
• Ring == Ideal -- see == -- equality
• ZZ == Ideal -- see == -- equality
• associatedPrimes(Ideal) -- see associatedPrimes -- find associated primes
• basis(Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• basis(InfiniteNumber,InfiniteNumber,Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• basis(InfiniteNumber,List,Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• basis(InfiniteNumber,ZZ,Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• basis(List,Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• basis(List,InfiniteNumber,Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• basis(List,List,Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• basis(List,ZZ,Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• basis(ZZ,Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• basis(ZZ,InfiniteNumber,Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• basis(ZZ,List,Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• basis(ZZ,ZZ,Ideal) -- see basis -- basis or generating set of all or part of a ring, ideal or module
• betti(Ideal) -- see betti -- display or modify a Betti diagram
• codim(Ideal) -- compute the codimension
• CoherentSheaf / Ideal -- see CoherentSheaf / CoherentSheaf -- quotient of coherent sheaves
• comodule(Ideal) -- see comodule -- submodule to quotient module
• quotient(Ideal) -- see comodule -- submodule to quotient module
• degree(Ideal)
• degrees(Ideal) -- see degrees(Ring) -- degrees of generators
• dim(Ideal) -- compute the Krull dimension
• distinguished(Ideal) -- see distinguished -- Compute the distinguished subvarieties of a pullback, intersection or cone
• distinguished(Ideal,Ideal) -- see distinguished -- Compute the distinguished subvarieties of a pullback, intersection or cone
• distinguished(RingMap,Ideal) -- see distinguished -- Compute the distinguished subvarieties of a pullback, intersection or cone
• eliminate(List,Ideal) -- see eliminate
• eliminate(RingElement,Ideal) -- see eliminate
• euler(Ideal)
• eulers(Ideal)
• expectedReesIdeal(Ideal) -- see expectedReesIdeal -- symmetric algebra ideal plus jacobian dual
• Ext(Ideal,Ideal) -- see Ext(Module,Module) -- total Ext module
• Ext(Ideal,Module) -- see Ext(Module,Module) -- total Ext module
• Ext(Ideal,Ring) -- see Ext(Module,Module) -- total Ext module
• Ext(Module,Ideal) -- see Ext(Module,Module) -- total Ext module
• Ext(Ring,Ideal) (missing documentation)
• Ext^ZZ(Matrix,Ideal) -- see Ext^ZZ(Matrix,Module) -- map between Ext modules
• Ext^ZZ(Ideal,Matrix) -- see Ext^ZZ(Module,Matrix) -- map between Ext modules
• Ext^ZZ(Ideal,Ideal) -- see Ext^ZZ(Module,Module) -- Ext module
• Ext^ZZ(Ideal,Module) -- see Ext^ZZ(Module,Module) -- Ext module
• Ext^ZZ(Ideal,Ring) -- see Ext^ZZ(Module,Module) -- Ext module
• Ext^ZZ(Module,Ideal) -- see Ext^ZZ(Module,Module) -- Ext module
• Ext^ZZ(Ring,Ideal) (missing documentation)
• flattenRing(Ideal) -- see flattenRing -- write a ring as a (quotient of a) polynomial ring
• gb(Ideal) -- see gb -- compute a Gröbner basis
• gbRemove(Ideal) -- see gbRemove -- remove Gröbner basis
• gbSnapshot(Ideal) -- see gbSnapshot -- the Gröbner basis matrix as so far computed
• genera(Ideal)
• generator(Ideal) -- see generator -- provide a single generator
• Ideal _ ZZ -- see generators of ideals and modules
• generators(Ideal) -- the generator matrix of an ideal
• genus(Ideal) -- see genus(CoherentSheaf)
• groebnerBasis(Ideal) -- see groebnerBasis -- Gröbner basis, as a matrix
• hilbertFunction(Ideal) -- see hilbertFunction -- the Hilbert function
• hilbertFunction(List,Ideal) -- see hilbertFunction -- the Hilbert function
• hilbertFunction(ZZ,Ideal) -- see hilbertFunction -- the Hilbert function
• hilbertPolynomial(Ideal) -- compute the Hilbert polynomial of the quotient of the ambient ring by the ideal
• hilbertSeries(Ideal) -- compute the Hilbert series of the quotient of the ambient ring by the ideal
• Hom(Ideal,Ideal) -- see Hom -- module of homomorphisms
• Hom(Ideal,Module) -- see Hom -- module of homomorphisms
• Hom(Ideal,Ring) -- see Hom -- module of homomorphisms
• Hom(Module,Ideal) -- see Hom -- module of homomorphisms
• Hom(Ring,Ideal) -- see Hom -- module of homomorphisms
• Ideal * CoherentSheaf (missing documentation)
• Ideal * ZZ (missing documentation)
• Ideal + Number (missing documentation)
• Function \ Ideal -- see Ideal / Function -- apply a function to generators of an ideal
• Ideal / Function -- apply a function to generators of an ideal
• Ideal / Ideal -- quotient module
• Ideal ^ Array -- bracket power of an ideal
• Ideal _* -- get the list of generators of an ideal
• idealizer(Ideal,RingElement) -- see idealizer -- compute Hom(I,I) as a quotient ring
• independentSets(Ideal) -- see independentSets -- some size-maximal independent subsets of variables modulo an ideal
• installHilbertFunction(Ideal,RingElement) (missing documentation)
• integralClosure(Ideal,RingElement,ZZ) -- integral closure of an ideal in an affine domain
• intersectInP(Ideal,Ideal) -- see intersectInP -- Compute distinguished varieties for an intersection in A^n or P^n
• inverseSystem(Ideal) -- see inverseSystem -- Inverse systems with equivariance
• inverseSystem(ZZ,Ideal) -- see inverseSystem -- Inverse systems with equivariance
• irreducibleCharacteristicSeries(Ideal) -- see irreducibleCharacteristicSeries -- irreducible characteristic series of an ideal
• isHomogeneous(Ideal) -- see isHomogeneous -- whether something is homogeneous (graded)
• isIdeal(Ideal) -- see isIdeal -- whether something is an ideal
• isLinearType(Ideal) -- see isLinearType -- Determine whether module has linear type
• isLinearType(Ideal,RingElement) -- see isLinearType -- Determine whether module has linear type
• isMember(Number,Ideal) -- see isMember(RingElement,Ideal) -- test membership in an ideal
• isMember(RingElement,Ideal) -- test membership in an ideal
• isMonomialIdeal(Ideal) -- see isMonomialIdeal -- whether something is a monomial ideal
• isPrimary(Ideal) -- see isPrimary -- determine whether a submodule is primary
• isPrimary(Ideal,Ideal) -- see isPrimary -- determine whether a submodule is primary
• isPrime(Ideal) -- whether an ideal is prime
• isReduction(Ideal,Ideal) -- see isReduction -- Determine whether an ideal is a reduction
• isReduction(Ideal,Ideal,RingElement) -- see isReduction -- Determine whether an ideal is a reduction
• isSubset(Ideal,Ideal) -- whether one object is a subset of another
• isSubset(Ideal,Module) -- see isSubset(Module,Module) -- whether one object is a subset of another
• isSubset(Module,Ideal) -- see isSubset(Module,Module) -- whether one object is a subset of another
• isSupportedInZeroLocus(Ideal,GradedModule) -- see isSupportedInZeroLocus -- whether support of a module is contained in the zero locus of the (irrelevant) ideal
• isSupportedInZeroLocus(Ideal,Ideal) -- see isSupportedInZeroLocus -- whether support of a module is contained in the zero locus of the (irrelevant) ideal
• isSupportedInZeroLocus(Ideal,Module) -- see isSupportedInZeroLocus -- whether support of a module is contained in the zero locus of the (irrelevant) ideal
• jacobian(Ideal) -- the Jacobian matrix of the generators of an ideal
• kernelOfLocalization(Module,Ideal) -- see kernelOfLocalization -- the kernel of the localization map
• leadTerm(Ideal) -- get the ideal of greatest terms
• lift(Ideal,type of QQ) -- see lift -- lift to another ring
• lift(Ideal,type of ZZ) -- see lift -- lift to another ring
• Matrix % Ideal -- see methods for normal forms and remainder -- normal form of ring elements and matrices
• RingElement % Ideal -- see methods for normal forms and remainder -- normal form of ring elements and matrices
• mingens(Ideal) -- see mingens(Module) -- minimal generator matrix
• minimalBetti(Ideal) -- see minimalBetti -- minimal betti numbers of (the minimal free resolution of) a homogeneous ideal or module
• decompose(Ideal) -- see minimalPrimes -- minimal primes of an ideal
• minimalPrimes(Ideal) -- see minimalPrimes -- minimal primes of an ideal
• Module / Ideal -- see Module / Module -- quotient module
• Ideal _ List -- see Module _ List -- map from free module to some generators
• module(Ideal) (missing documentation)
• monomialIdeal(Ideal) -- monomial ideal of lead monomials of a Gröbner basis
• monomialSubideal(Ideal) -- see monomialSubideal -- find the largest monomial ideal in an ideal
• multidegree(Ideal) -- see multidegree -- multidegree
• multiplicity(Ideal) -- see multiplicity -- Compute the Hilbert-Samuel multiplicity of an ideal
• multiplicity(Ideal,RingElement) -- see multiplicity -- Compute the Hilbert-Samuel multiplicity of an ideal
• normalCone(Ideal) -- see normalCone -- The normal cone of a subscheme
• normalCone(Ideal,RingElement) -- see normalCone -- The normal cone of a subscheme
• Number + Ideal (missing documentation)
• numgens(Ideal) -- number of generators of an ideal
• poincare(Ideal) -- see poincare -- assemble degrees of a ring, module, or ideal into a polynomial
• primaryDecomposition(Ideal) -- see primaryDecomposition -- irredundant primary decomposition of an ideal
• Module : Ideal -- see quotient(Module,Module) -- ideal or submodule quotient
• quotient(Module,Ideal) -- see quotient(Module,Module) -- ideal or submodule quotient
• radicalContainment(Ideal,Ideal) -- see radicalContainment -- whether an element is contained in the radical of an ideal
• radicalContainment(RingElement,Ideal) -- see radicalContainment -- whether an element is contained in the radical of an ideal
• random(List,Ideal) -- see random(ZZ,Ideal) -- get a random homogeneous element from a graded ideal
• random(ZZ,Ideal) -- get a random homogeneous element from a graded ideal
• randomKRationalPoint(Ideal) -- see randomKRationalPoint -- Pick a random K rational point on the scheme X defined by I
• reductionNumber(Ideal,Ideal) -- see reductionNumber -- Reduction number of one ideal with respect to another
• reesAlgebra(Ideal) -- see reesAlgebra -- Compute the defining ideal of the Rees Algebra
• reesAlgebra(Ideal,RingElement) -- see reesAlgebra -- Compute the defining ideal of the Rees Algebra
• regularity(Ideal) -- see regularity -- compute the Castelnuovo-Mumford regularity
• resolution(Ideal) -- compute a projective resolution of (the quotient ring corresponding to) an ideal
• ring(Ideal) -- see ring -- get the associated ring of an object
• Ring / Ideal -- make a quotient ring
• RingElement + Ideal (missing documentation)
• saturate(Module,Ideal) -- see saturate -- saturation of ideal or submodule
• saturate(Vector,Ideal) -- see saturate -- saturation of ideal or submodule
• singularLocus(Ideal) -- see singularLocus -- singular locus
• specialFiber(Ideal) -- see specialFiber -- Special fiber of a blowup
• specialFiber(Ideal,RingElement) -- see specialFiber -- Special fiber of a blowup
• specialFiberIdeal(Ideal) -- see specialFiberIdeal -- Special fiber of a blowup
• specialFiberIdeal(Ideal,RingElement) -- see specialFiberIdeal -- Special fiber of a blowup
• substitute(Ideal,Option) -- see substitute -- substituting values for variables
• support(Ideal) -- list of variables occurring in the generators of an ideal
• tangentCone(Ideal)
• toDual(ZZ,Ideal) -- see toDual -- finds the inverse system to an ideal up to a given degree
• Tor_ZZ(Ideal,Matrix) (missing documentation)
• Tor_ZZ(Matrix,Ideal) (missing documentation)
• Tor_ZZ(Ideal,Ideal) -- see Tor_ZZ(Module,Module) -- compute a Tor module
• Tor_ZZ(Ideal,Module) -- see Tor_ZZ(Module,Module) -- compute a Tor module
• Tor_ZZ(Ideal,Ring) -- see Tor_ZZ(Module,Module) -- compute a Tor module
• Tor_ZZ(Module,Ideal) -- see Tor_ZZ(Module,Module) -- compute a Tor module
• Tor_ZZ(Ring,Ideal) (missing documentation)
• truncate(ZZ,Ideal) -- see truncate(List,Module) -- truncation of the graded ring, ideal or module at a specified degree or set of degrees
• variety(Ideal) -- the closed projective subvariety defined by an ideal
• Vector % Ideal (missing documentation)
• versalEmbedding(Ideal) -- see versalEmbedding -- Compute a versal embedding
• whichGm(Ideal) -- see whichGm -- Largest Gm satisfied by an ideal

## For the programmer

The object Ideal is a type, with ancestor classes HashTable < Thing.