Given an ideal in a polynomial ring, or a quotient of a polynomial ring whose base ring is either QQ or ZZ/p, return a list of minimal primes of the ideal.
i1 : R = ZZ/32003[a..e] o1 = R o1 : PolynomialRing |
i2 : I = ideal"a2b-c3,abd-c2e,ade-ce2"
2 3 2 2
o2 = ideal (a b - c , a*b*d - c e, a*d*e - c*e )
o2 : Ideal of R
|
i3 : C = minprimes I; |
i4 : netList C
+---------------------------+
o4 = |ideal (c, a) |
+---------------------------+
| 2 3 |
|ideal (e, d, a b - c ) |
+---------------------------+
|ideal (e, c, b) |
+---------------------------+
|ideal (d, c, b) |
+---------------------------+
|ideal (d - e, b - c, a - c)|
+---------------------------+
|ideal (d + e, b - c, a + c)|
+---------------------------+
|
i5 : C2 = minprimes(I, Strategy=>"NoBirational", Verbosity=>2)
Strategy: Linear (time .00451402) #primes = 0 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00013682) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .00702022) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .0119643) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .018132) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .0086276) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .0071142) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .00690666) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .00122114) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .00091472) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .00089354) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00610018) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00693142) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00907316) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .0089407) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .0058787) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00805646) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00669302) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00741548) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .0078422) #primes = 0 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00002928) #primes = 1 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .0000948) #primes = 1 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00002326) #primes = 2 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00003018) #primes = 3 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00015562) #primes = 3 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00002584) #primes = 4 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .0041672) #primes = 6 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .0001275) #primes = 6 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00007526) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .0007547) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .00065388) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .00261988) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .0031567) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .00053464) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .0004097) #primes = 6 #prunedViaCodim = 0
Strategy: Linear (time .00099108) #primes = 6 #prunedViaCodim = 0
Strategy: Linear (time .00082356) #primes = 6 #prunedViaCodim = 0
Strategy: Linear (time .00366714) #primes = 6 #prunedViaCodim = 0
Strategy: Linear (time .00383716) #primes = 6 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00004222) #primes = 7 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .0000452) #primes = 8 #prunedViaCodim = 0
Strategy: IndependentSet (time .00003738) #primes = 9 #prunedViaCodim = 0
Strategy: IndependentSet (time .00004222) #primes = 10 #prunedViaCodim = 0
Converting annotated ideals to ideals and selecting minimal primes... Time taken : .0170635
#minprimes=6 #computed=10
2 3
o5 = {ideal (c, a), ideal (e, d, a b - c ), ideal (e, c, b), ideal (d, c, b),
------------------------------------------------------------------------
ideal (d - e, b - c, a - c), ideal (d + e, b - c, a + c)}
o5 : List
|
i6 : C1 = minprimes(I, Strategy=>"Birational", Verbosity=>2)
Strategy: Linear (time .00450644) #primes = 0 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00013116) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .0070138) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .0120328) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .0181621) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .00852304) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .0067665) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .00677492) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .00121848) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .00086706) #primes = 0 #prunedViaCodim = 0
Strategy: Factorization (time .00089986) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00592878) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00671472) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00881498) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .0092601) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00592156) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00817396) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00675808) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .0074708) #primes = 0 #prunedViaCodim = 0
Strategy: Linear (time .00784072) #primes = 0 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .0000277) #primes = 1 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00011832) #primes = 1 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00002288) #primes = 2 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00003118) #primes = 3 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00010436) #primes = 3 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00002612) #primes = 4 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00413392) #primes = 6 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00010922) #primes = 6 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00010646) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .00071528) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .00066818) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .00259768) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .00295082) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .00048726) #primes = 6 #prunedViaCodim = 0
Strategy: Factorization (time .00040774) #primes = 6 #prunedViaCodim = 0
Strategy: Linear (time .00086178) #primes = 6 #prunedViaCodim = 0
Strategy: Linear (time .00083832) #primes = 6 #prunedViaCodim = 0
Strategy: Linear (time .0034756) #primes = 6 #prunedViaCodim = 0
Strategy: Linear (time .00381304) #primes = 6 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00002582) #primes = 7 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00002936) #primes = 8 #prunedViaCodim = 0
Strategy: Birational (time .016784) #primes = 8 #prunedViaCodim = 0
Strategy: Birational (time .0155531) #primes = 8 #prunedViaCodim = 0
Strategy: Birational (time .000864) #primes = 8 #prunedViaCodim = 0
Strategy: Birational (time .00078712) #primes = 8 #prunedViaCodim = 0
Strategy: Linear (time .00017648) #primes = 8 #prunedViaCodim = 0
Strategy: Linear (time .00014506) #primes = 8 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00003144) #primes = 9 #prunedViaCodim = 0
Strategy: DecomposeMonomials(time .00003298) #primes = 10 #prunedViaCodim = 0
Converting annotated ideals to ideals and selecting minimal primes... Time taken : .0170324
#minprimes=6 #computed=10
2 3
o6 = {ideal (c, a), ideal (e, d, a b - c ), ideal (e, c, b), ideal (d, c, b),
------------------------------------------------------------------------
ideal (d - e, b - c, a - c), ideal (d + e, b - c, a + c)}
o6 : List
|
This will eventually be made to work over GF(q), and over other fields too.