Macaulay2 » Documentation
Packages » ReesAlgebra :: isReduction
next | previous | forward | backward | up | index | toc

# isReduction -- Determine whether an ideal is a reduction

- Usage:
    `t=isReduction(I,J)`
    `t=isReduction(I,J,f)`
- Inputs:
  - I, an ideal,
  - J, an ideal,
  - f, a ring element, an optional element, which is a non-zerodivisor modulo M and the ring of M
- Optional inputs:
  - BasisElementLimit => ..., default value infinity, Bound the number of Groebner basis elements to compute in the saturation step
  - DegreeLimit => ..., default value {}, Bound the degrees considered in the saturation step. Defaults to infinity
  - MinimalGenerators => ..., default value true, Whether the saturation step returns minimal generators
  - PairLimit => ..., default value infinity, Bound the number of s-pairs considered in the saturation step
  - Strategy => ..., default value null, Choose a strategy for the saturation step
  - Variable => ..., default value "w", Choose name for variables in the created ring
- Outputs:
  - t, a Boolean value, true if J is a reduction of I, false otherwise

## Description

For an ideal $I$, a subideal $J$ of $I$ is said to be a reduction of $I$ if there exists a nonnegative integer n such that $JI^{n}=I^{n+1}$.

This function returns true if $J$ is a reduction of $I$ and returns false if $J$ is not a subideal of $I$ or $J$ is a subideal but not a reduction of $I$.

    i1 : S = ZZ/5[x,y]

    o1 = S

    o1 : PolynomialRing

    i2 : I = ideal(x^3,x*y,y^4)

                 3        4
    o2 = ideal (x , x*y, y )

    o2 : Ideal of S

    i3 : J = ideal(x*y, x^3+y^4)

                      4    3
    o3 = ideal (x*y, y  + x )

    o3 : Ideal of S

    i4 : isReduction(I,J)

    o4 = true

    i5 : isReduction(J,I)

    o5 = false

    i6 : isReduction(I,I)

    o6 = true

    i7 : g = I_0

          3
    o7 = x

    o7 : S

    i8 : isReduction(I,J,g)

    o8 = true

    i9 : isReduction(J,I,g)

    o9 = false

    i10 : isReduction(I,I,g)

    o10 = true

## See also

- minimalReduction -- Find a minimal reduction of an ideal
- reductionNumber -- Reduction number of one ideal with respect to another

## Ways to use isReduction:

- `isReduction(Ideal,Ideal)`
- `isReduction(Ideal,Ideal,RingElement)`
- `isReduction(Module,Module)`
- `isReduction(Module,Module,RingElement)`

## For the programmer

The object isReduction is a method function with options.

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