The method computes specialized Noetherian operators from many sampled points, and attempts to find fitting rational functions using rational function interpolation.
i1 : R = CC[x,y,t]; |
i2 : I = ideal(x^2, y^2 - x*t); o2 : Ideal of R |
i3 : numericalNoetherianOperators(I, DependentSet => {x,y}) 2 1 t 3 o3 = {1, 1*dy, dy + ---*dx, -*dy + 1*dx*dy} .5t 6 o3 : List |
The behavior of the function can be adjusted using options. Currently only the option DependentSet is required. The following are supported:
TrustedPoint => a point. The function does not compute specialized Noetherian operators from scratch for each point. Instead, it computes it for a "trusted" point on the variety, and uses the obtained Noetherian operators as a template for the rest of the computation. If TrustedPoint is unset, the first point returned by the sampler will be used as the trusted point.
NoetherianDegreeLimit => a non-negative integer. Limits the degrees of the Noetherian operators (with respect to the variables $dx_i$). If unset, will compute the full Noetherian operators of the "trusted" point. Can introduce speed-ups when the maxmial degree of the Noetherian operators is known in advance.
Tolerance => a positive real number. This specifies the numerical precision when computing the specialized Noetherian operators. The default value is 1e-6. See Tolerance (NoetherianOperators).
Sampler => a function, taking inputs (n,I), where I is an ideal, and n is an integer. The sampler function returns a list of n points on the component of interest of I. If unset, the default sampler uses Bertini, and assumes that I is primary.
DependentSet => a list of variables that are algebraically dependent. See DependentSet for details.
InterpolationTolerance => a positive real number. This specifies the numerical precision for the interpolation routines. The default value is 1e-6. See Tolerance (NoetherianOperators).
InterpolationDegreeLimit => a non-negative integer. Limits the degree of the interpolated rational function coefficients. If no rational functions are found within the degree limit, outputs an incomplete differential operator
i1 : R = CC[x,y,t]; |
i2 : I = ideal(x^2, y^2 - x*t); o2 : Ideal of R |
i3 : numericalNoetherianOperators(I, DependentSet => {x,y}, InterpolationDegreeLimit => 0) 2 ? ? 3 o3 = {1, 1*dy, 1*dy + -*dx, -*dy + 1*dx*dy} ? ? o3 : List |
The object numericalNoetherianOperators is a method function with options.