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 .00733321) #primes = 0 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000202507) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0107345) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0184421) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0278196) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0130184) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0103313) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0102102) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00185909) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00136966) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .001339) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00915422) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0105684) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0139097) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0141871) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00935169) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0127106) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .010523) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0115973) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .012475) #primes = 0 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000041766) #primes = 1 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000119947) #primes = 1 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00003608) #primes = 2 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000035573) #primes = 3 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000147527) #primes = 3 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000035667) #primes = 4 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00603404) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000141933) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000115587) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00102197) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .000989941) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00382865) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00450015) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .0007522) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .000548186) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00133154) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00132921) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00529474) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00589776) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00005238) #primes = 7 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000051066) #primes = 8 #prunedViaCodim = 0 Strategy: IndependentSet (time .000063706) #primes = 9 #prunedViaCodim = 0 Strategy: IndependentSet (time .000054786) #primes = 10 #prunedViaCodim = 0 Converting annotated ideals to ideals and selecting minimal primes... Time taken : .0262247 #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 .00736696) #primes = 0 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000204386) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0107734) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0183617) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0278813) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .012956) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0102447) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .0102379) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00185245) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00134786) #primes = 0 #prunedViaCodim = 0 Strategy: Factorization (time .00137144) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00913173) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0105307) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0138189) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0141937) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .00932903) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0127235) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0105957) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0116851) #primes = 0 #prunedViaCodim = 0 Strategy: Linear (time .0123165) #primes = 0 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000041967) #primes = 1 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000147334) #primes = 1 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000036274) #primes = 2 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000035313) #primes = 3 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000137574) #primes = 3 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000036213) #primes = 4 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00602775) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00013278) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000115253) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00101516) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .000987599) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00384011) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .00449641) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .000746613) #primes = 6 #prunedViaCodim = 0 Strategy: Factorization (time .000525054) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00130705) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00135775) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00531363) #primes = 6 #prunedViaCodim = 0 Strategy: Linear (time .00594855) #primes = 6 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000036993) #primes = 7 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000039446) #primes = 8 #prunedViaCodim = 0 Strategy: Birational (time .024962) #primes = 8 #prunedViaCodim = 0 Strategy: Birational (time .0232115) #primes = 8 #prunedViaCodim = 0 Strategy: Birational (time .00119396) #primes = 8 #prunedViaCodim = 0 Strategy: Birational (time .00115425) #primes = 8 #prunedViaCodim = 0 Strategy: Linear (time .000296994) #primes = 8 #prunedViaCodim = 0 Strategy: Linear (time .00027702) #primes = 8 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .000040813) #primes = 9 #prunedViaCodim = 0 Strategy: DecomposeMonomials(time .00003808) #primes = 10 #prunedViaCodim = 0 Converting annotated ideals to ideals and selecting minimal primes... Time taken : .0261819 #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.