Macaulay2 » Documentation
Packages » NoetherianOperators :: numericalNoetherianOperators
next | previous | forward | backward | up | index | toc

numericalNoetherianOperators -- Noetherian operators via numerical interpolation

Synopsis

Description

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 maximal 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

See also

Ways to use numericalNoetherianOperators :

For the programmer

The object numericalNoetherianOperators is a method function with options.