# PrimaryDecomposition -- primary decomposition and associated primes routines for ideals and modules

## Description

This package provides routines for computation involving components of ideals and modules, including associated primes and primary decompositions.

The following simple example illustrates the use of removeLowestDimension, topComponents, radical, minimalPrimes, associatedPrimes, and primaryDecomposition.

 i1 : R = ZZ/32003[a..d]; i2 : I = monomialCurveIdeal(R,{1,3,4}) 3 2 2 2 3 2 o2 = ideal (b*c - a*d, c - b*d , a*c - b d, b - a c) o2 : Ideal of R i3 : J = ideal(a^3,b^3,c^3-d^3) 3 3 3 3 o3 = ideal (a , b , c - d ) o3 : Ideal of R i4 : I = intersect(I,J) 4 3 3 3 4 3 3 4 6 3 2 o4 = ideal (b - a d, a*b - a c, b*c - a*c d - b*c*d + a*d , c - b*c d - ------------------------------------------------------------------------ 3 3 5 5 2 3 2 3 2 4 2 4 3 3 3 3 2 3 c d + b*d , a*c - b c d - a*c d + b d , a c - a d + b d - a c*d , ------------------------------------------------------------------------ 3 3 3 3 2 3 3 2 3 2 2 3 2 3 3 2 3 2 b c - a d , a*b c - a c*d + b c*d - a*b d , a b*c - a c d + b c d - ------------------------------------------------------------------------ 2 3 3 3 3 2 4 2 3 2 a b*d , a c - a b*d , a c - a b d) o4 : Ideal of R i5 : removeLowestDimension I 3 2 2 2 3 2 o5 = ideal (b*c - a*d, c - b*d , a*c - b d, b - a c) o5 : Ideal of R i6 : topComponents I 3 2 2 2 3 2 o6 = ideal (b*c - a*d, c - b*d , a*c - b d, b - a c) o6 : Ideal of R i7 : radical I 2 2 3 2 6 3 3 2 4 5 o7 = ideal (b*c - a*d, a*c - b d, b - a c, c - c d - b d + b*d ) o7 : Ideal of R i8 : minimalPrimes I 3 2 2 2 3 2 o8 = {ideal (b*c - a*d, c - b*d , a*c - b d, b - a c), ideal (c - d, b, ------------------------------------------------------------------------ 2 2 a), ideal (b, a, c + c*d + d )} o8 : List i9 : associatedPrimes I 3 2 2 2 3 2 o9 = {ideal (b*c - a*d, c - b*d , a*c - b d, b - a c), ideal (c - d, b, ------------------------------------------------------------------------ 2 2 a), ideal (b, a, c + c*d + d )} o9 : List i10 : primaryDecomposition I 3 2 2 2 3 2 3 o10 = {ideal (b*c - a*d, c - b*d , a*c - b d, b - a c), ideal (c - d, b , ----------------------------------------------------------------------- 3 2 2 3 3 a ), ideal (c + c*d + d , b , a )} o10 : List

## References

• Eisenbud-Huneke-Vasconcelos, Inventiones mathematicae, 110 207–235 (1992)
• Shimoyama-Yokoyama, Journal of Symbolic Computation, 22(3) 247–277 (1996)

• MinimalPrimes -- minimal primes and radical routines for ideals
• Saturation -- ideal and submodule quotient, saturation, and annihilator routines

## Version

This documentation describes version 2.0 of PrimaryDecomposition.

## Source code

The source code from which this documentation is derived is in the file PrimaryDecomposition.m2. The auxiliary files accompanying it are in the directory PrimaryDecomposition/.

## For the programmer

The object PrimaryDecomposition is .