Macaulay2 » Documentation
Packages » PseudomonomialPrimaryDecomposition :: primaryDecompositionPseudomonomial
next | previous | forward | backward | up | index | toc

# primaryDecompositionPseudomonomial -- primary decomposition of a square free pseudomonomial ideal

- Usage:
    `primaryDecompositionPseudomonomial(I)`
- Inputs:
  - I, an ideal, a square free pseudomonomial ideal
- Outputs:
  - L, a list, list L={P1,P2,...,Pk} of primary ideals with intersection equal to I

## Description

The algorithm is implemented bitwise (using Macaulay2 bitwise operations), which makes calculations faster. Examples:

    i1 : R=ZZ/2[x1,x2,x3,x4,x5];

    i2 : I = ideal(x1*x2,x3*x4,x5);

    o2 : Ideal of R

    i3 : primaryDecompositionPseudomonomial(I)

    o3 = {ideal (x5, x1, x3), ideal (x5, x1, x4), ideal (x5, x2, x3), ideal (x5,
         ------------------------------------------------------------------------
         x2, x4)}

    o3 : List

    i4 : R=QQ[x1,x2,x3,x4,x5];

    i5 : I = ideal(x1*(x2-1),(x3-1)*x4,x5);

    o5 : Ideal of R

    i6 : primaryDecompositionPseudomonomial(I)

    o6 = {ideal (x5, x1, x3 - 1), ideal (x5, x1, x4), ideal (x5, x2 - 1, x3 - 1),
         ------------------------------------------------------------------------
         ideal (x5, x2 - 1, x4)}

    o6 : List

    i7 : R=ZZ/2[x1,x2];

    i8 : I = ideal(x1*(x2-1),(x1-1)*(x2-1),x1*x2,(x1-1)*x2);

    o8 : Ideal of R

    i9 : primaryDecompositionPseudomonomial(I)

    o9 = {}

    o9 : List

    i10 : R=QQ[x1,x2,x3,x4,x5];

    i11 : I = ideal(x5,x1*(x3-1)*(x5-1));

    o11 : Ideal of R

    i12 : primaryDecompositionPseudomonomial(I)

    o12 = {ideal (x5, x1), ideal (x5, x3 - 1)}

    o12 : List

    i13 : R=ZZ/3[x1,x2];

    i14 : I = ideal(x5,(x3-1));

    o14 : Ideal of QQ[x1, x2, x3, x4, x5]

    i15 : primaryDecompositionPseudomonomial(I)

    o15 = {ideal (x5, x3 - 1)}

    o15 : List

## Caveat

The algorithm finds a decomposition even if the base field is not QQ or ZZ/p

## See also

- primaryDecomposition (missing documentation)

## Ways to use primaryDecompositionPseudomonomial:

- `primaryDecompositionPseudomonomial(Ideal)`

## For the programmer

The object primaryDecompositionPseudomonomial is a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/PseudomonomialPrimaryDecomposition.m2:489:0.