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 .004448) #primes = 0 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00012926) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00682596) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0119233) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .017981) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00848892) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00680948) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00680642) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00121048) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00082352) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0008587) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00583586) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00659504) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00872132) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00888756) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00588092) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0080473) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00655592) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00730692) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0077695) #primes = 0 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00002664) #primes = 1 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00008984) #primes = 1 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .0000218) #primes = 2 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00003004) #primes = 3 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00011122) #primes = 3 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00002468) #primes = 4 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .0039766) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00010432) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .0000681) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .0006806) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00062988) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00250306) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .0029405) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00052796) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00036172) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00080636) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00076264) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00333724) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00375528) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .0000452) #primes = 7 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .0000522) #primes = 8 #prunedViaCodim = 0 Strategy: IndependentSet (time .00003576) #primes = 9 #prunedViaCodim = 0 Strategy: IndependentSet (time .00004016) #primes = 10 #prunedViaCodim = 0 Converting annotated ideals to ideals and selecting minimal primes... Time taken : .0169071 #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 .0044757) #primes = 0 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00012862) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00682586) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0119109) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0180175) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00848226) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00673292) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0066325) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00117648) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00088206) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00088814) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00579162) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00671134) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00871446) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00890572) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00587438) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00803306) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00670112) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00736272) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0077641) #primes = 0 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00002632) #primes = 1 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00014086) #primes = 1 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .0000233) #primes = 2 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .0000284) #primes = 3 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00009958) #primes = 3 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00002146) #primes = 4 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00491776) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .0001102) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00007074) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00073662) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00066004) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00272728) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00302342) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00048958) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00036738) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00084492) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00082064) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00339184) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .0038089) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00002602) #primes = 7 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00002898) #primes = 8 #prunedViaCodim = 0 Strategy: Birational (time .0161525) #primes = 8 #prunedViaCodim = 0 Strategy: Birational (time .015066) #primes = 8 #prunedViaCodim = 0 Strategy: Birational (time .00083624) #primes = 8 #prunedViaCodim = 0 Strategy: Birational (time .000798) #primes = 8 #prunedViaCodim = 0 Strategy: Linear (time .00016938) #primes = 8 #prunedViaCodim = 0 Strategy: Linear (time .00015124) #primes = 8 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00002836) #primes = 9 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00003046) #primes = 10 #prunedViaCodim = 0 Converting annotated ideals to ideals and selecting minimal primes... Time taken : .0168962 #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.