Computing Minimal Associated Primes
This page describes the Magma implementation of an algorithm to compute the set
of minimal associated primes of an ideal defined over the integers (see [1]).
To use the algorithm, after starting magma, type
> Attach("minass.magma");
Basic usage
The main method is MinimalAssociatedPrimes,
which takes an ideal defined over the integers.
> R := PolynomialRing(Integers(), 3);
> I := ideal< R | x^3 + 2*x + y, y^2 + z^2, z^2 + x, z^2 + y >;
> MinimalAssociatedPrimes(I);
[
Ideal of Polynomial ring of rank 3 over Integer Ring
Order: Lexicographical
Variables: x, y, z
Homogeneous
Basis:
[
x,
y,
z
],
Ideal of Polynomial ring of rank 3 over Integer Ring
Order: Lexicographical
Variables: x, y, z
Inhomogeneous, Dimension 0
Groebner basis:
[
x + 1,
y + 1,
z + 1,
2
]
]
Advanced usage
There are several parameters to influence the run of
MinimalAssociatedPrimes
useRandomTechniques
If the optional boolean parameter
useRandomTechniques is
true (this is the default),
then the method described in [1] is used. That is, a Groebner basis computation over the integers is replaced by several Groebner basis computations
over prime fields.
sufficient
A list L of primes is
sufficient for an ideal I, if L contains all primes p contained in a minimal associated prime ideal of I.
If the optional parameter
sufficient is
[] (this is the default), then the
algorithm computes a list of sufficient primes automatically. If
sufficient is a non-empty list of primes,
then the algorithm assumes that this list is indeed a sufficient list of primes and skips this computation.
If
sufficient := [0], then only prime ideals which do not contain any prime number are computed.
exclude
The optional parameter
exclude is a list of primes (default:
[])
which are excluded from the computation. That is, the result does not contain prime ideals which contain a prime number of
exclude.
saturate
The optional parameter
saturate is a polynomial.
Prior to primary decomposition, the ideal is saturated at this polynomial.
The effect is that the algorithm returns all minimal associated primes which do not contain this polynomial.
By default,
saturate := 1, which is equivalent to skipping the saturation step.
factorizationBound
The algorithm does not try to factorize integers bigger than
factorizationBound (default:
10^60).
trialDivisionBound
Prior to factorization, try to divide integers by all primes smaller than
trialDivisionBound (default:
10^4).
groebnerBasisBound
Compute up to
groebnerBasisBound Groebner bases over the rationals, until
all divisors have size at most
factorizationBound.
After
groebnerBasisBound Groebner bases have been computed,
try to factor all divisors, regardless of their size.
References
[1] |
S. Jambor
Computing minimal associated primes in polynomial rings over the integers
J. Symbolic Comput., 46 (2011), no. 10, 1098-1104.
|