Given a ring and an ideal,
regularSequence attempts to generate a regular sequence contained in
I. The algorithm is based on one found in Chapter 5.5 of W. Vasconcelos' book:
Computational Methods in Commutative Algebra and Algebraic Geometry.
A = ZZ/5051[x, y, z]; |
I = ideal (x, x*y, y*z); |
X = regularSequence(I,A) |
isRegularSequence(X,A) |
Here are examples with optional inputs:
A = ZZ/5051[x, y, z]; |
I = ideal (x, x*y, y*z); |
regularSequence(I,A,Attempts=>1,Bound=>100,Sparseness=>.9) |
Here are examples with the optional input
Maximal => false:
x = symbol x; y = symbol y; |
n = 2; |
A = ZZ/101[x_(1,1)..x_(n,n),y_(1,1)..y_(n,n)]; |
X = transpose genericMatrix(A,n,n); |
Y = transpose genericMatrix(A,y_(1,1),n,n); |
b = ideal(X*Y - Y*X); |
B = A/b; |
regularSequence(B,Attempts=>1,Maximal=>false) |
This symbol is provided by the package Depth.