If X has codimension 1, then we intersect X with a randomly choosen line, and hope that the decomposition of the the intersection contains a K-rational point. If n=degree X then the probabilty P that this happens, is the proportion of permutations in Sn with a fix point on {1,...,n }, i.e.
P=∑j=1n (-1)j-1 binomial(n,j)(n-j)!/n! = 1-1/2+1/3! + ...
which arroaches 1-exp(-1) = 0.63.... Thus a probabilistic approach works.i1 : p=10007 o1 = 10007 |
i2 : kk=ZZ/p;R=kk[x_0..x_3]; |
i4 : I=minors(4,random(R^5,R^{4:-1})); o4 : Ideal of R |
i5 : codim I, degree I o5 = (2, 10) o5 : Sequence |
i6 : time randomKRationalPoint(I) -- used 0.0204808 seconds o6 = ideal (x + 1081x , x - 4484x , x - 4309x ) 2 3 1 3 0 3 o6 : Ideal of R |
i7 : R=kk[x_0..x_5]; |
i8 : I=minors(3,random(R^5,R^{3:-1})); o8 : Ideal of R |
i9 : codim I, degree I o9 = (3, 10) o9 : Sequence |
i10 : time randomKRationalPoint(I) -- used 0.0832981 seconds o10 = ideal (x + 3541x , x + 3307x , x + 1223x , x + 3441x , x + 4579x ) 4 5 3 5 2 5 1 5 0 5 o10 : Ideal of R |
i11 : p=10007,kk=ZZ/p,R=kk[x_0..x_2] o11 = (10007, kk, R) o11 : Sequence |
i12 : n=5; sum(1..n,j->(-1)^(j-1)*binomial(n,j)*(n-j)!/n!)+0.0 o13 = .633333333333333 o13 : RR (of precision 53) |
i14 : I=ideal random(n,R); o14 : Ideal of R |
i15 : time (#select(apply(100,i->(degs=apply(decompose(I+ideal random(1,R)),c->degree c); #select(degs,d->d==1))),f->f>0)) -- used 0.335444 seconds o15 = 70 |