This method finds (approximate) implicit degree $d$ equations for the image of a variety, by numerical interpolation. The option AttemptZZ specifies whether to use the LLL algorithm to compute "short" equations over ZZ. The default value is false.
If a numerical interpolation table has already been computed, then to avoid repetitive calculation one may run this function with the interpolation table as input.
For example, we determine the defining quadrics of the twisted cubic, as follows.
i1 : R = CC[s,t] o1 = R o1 : PolynomialRing |
i2 : F = basis(3, R) -- warning: experimental computation over inexact field begun -- results not reliable (one warning given per session) o2 = | s3 s2t st2 t3 | 1 4 o2 : Matrix R <--- R |
i3 : extractImageEquations(F, ideal 0_R, 2, AttemptZZ => true) Sampling image points ... -- used .0065983 seconds Creating interpolation matrix ... -- used .00602396 seconds Performing normalization preconditioning ... -- used .00125006 seconds Computing numerical kernel ... -- used .000371145 seconds o3 = | y_1^2-y_0y_2 y_1y_2-y_0y_3 y_2^2-y_1y_3 | 1 3 o3 : Matrix (CC [y ..y ]) <--- (CC [y ..y ]) 53 0 3 53 0 3 |
Here is how to do the same computation symbolically.
i4 : gens ker map(QQ[s,t], QQ[y_0..y_3], {s^3,s^2*t,s*t^2,t^3}) o4 = | y_2^2-y_1y_3 y_1y_2-y_0y_3 y_1^2-y_0y_2 | 1 3 o4 : Matrix (QQ[y ..y ]) <--- (QQ[y ..y ]) 0 3 0 3 |
We determine the $5$ Plücker quadrics defining the Grassmannian $Gr(3,5)$ of $P^2$'s in $P^4$, in the ambient space $P^9$.
i5 : R = CC[x_(1,1)..x_(3,5)]; I = ideal 0_R; o6 : Ideal of R |
i7 : F = (minors(3, genericMatrix(R, 3, 5)))_*; |
i8 : T = numericalHilbertFunction(F, I, 2, Verbose => false); |
i9 : extractImageEquations(T, AttemptZZ => true) o9 = | y_3y_5-y_2y_6+y_0y_9 y_2y_4-y_1y_5+y_0y_7 y_3y_4-y_1y_6+y_0y_8 ------------------------------------------------------------------------ y_3y_7-y_2y_8+y_1y_9 y_6y_7-y_5y_8+y_4y_9 | 1 5 o9 : Matrix (CC [y ..y ]) <--- (CC [y ..y ]) 53 0 9 53 0 9 |
The option Threshold sets the threshold for rounding the interpolation matrix. If this option has value $n$, then the interpolation matrix will be rounded to $n$ decimal digits, after which LLL will be performed. The default value is $5$.
The object extractImageEquations is a method function with options.