J = systemOfParameters I
J = systemOfParameters (i,I)
First sorts the generators of trim ideal gens gb I by ascending degree, ascending monomial order. Looks first for as much of a system of parameters among the generators as possible, then tries up to Attempts sparse random combinations of given Density. The default value of Density is (1+codim I)/(numgens trim I).
If the option Seed is not null then it should be an ideal of ring I generated by a part of a sop in I, and it is used as the beginning of the system of parameters constructed.
If no sop is found after Attempts tries, and the Density is < 1 then the Density is increased by .1, and 20 more attempts are made. If the Density is already == 1, then the program stops with an error.
|
|
|
|
|
|
|
Could be rewritten to take into account the codimensions of the sub ideals generated by the elements of degree up to d for each d.
The routine tries to find generators among linear combinations, with field coefficients, of generators of I; but over very small fields there may not be any! For example there is no linear form that is a parameter in the 1-dimensional ring R = ZZ/2[x,y]/intersect(ideal"x", ideal"x+y", ideal"y")
The object systemOfParameters is a method function with options.