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

# numericalNoetherianOperators -- Noetherian operators via numerical interpolation

- Usage:
    `numericalNoetherianOperators(I)`
- Inputs:
  - I, an ideal, unmixed
- Outputs:
  - a list, of expressions

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

- rationalInterpolation -- numerically interpolate rational functions

## Ways to use numericalNoetherianOperators:

- `numericalNoetherianOperators(Ideal)`

## For the programmer

The object numericalNoetherianOperators is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/NoetherianOperators.m2:3115:0.