# Strategy => "Hybrid" -- strategy for computing Noetherian operators

This strategy implements a numerical-symbolic hybrid algorithm for computing Noetherian operators. The output is symbolic. "Hybrid" supports computing Noetherian operators of either primary ideals (noetherianOperators(Ideal)), or primary components of unmixed ideals (noetherianOperators(Ideal,Ideal)).

The "Hybrid" strategy finds a point on the variety of the component of interest, and computes a set of specialized Noetherian operators (see specializedNoetherianOperators). Using this numerical data is then used as a starting point for the symbolic computation of Noetherian operators, which in many cases lead to significant performance improvements over the fully symbolic methods.

The strategy accepts the following optional arguments:

Sampler => f, where f is a function taking a primary ideal and returning a single point on the variety. The default sampler uses a combination of bertiniSample and bertiniPosDimSolve. The user can supply a point to used by using a dummy sampler, as in the example below:

 i1 : R = QQ[x,y,t]; i2 : I = ideal(x^2, y^2-x*t); o2 : Ideal of R i3 : p = point{{0_CC,0, 3}}; i4 : noetherianOperators(I, Strategy => "Hybrid", Sampler => I -> p) -- warning: experimental computation over inexact field begun -- results not reliable (one warning given per session) o4 = {| 1 |, | dy |, | tdy^2+2dx |, | tdy^3+6dxdy |} o4 : List

Tolerance => a positive real number. This specifies the numerical precision when computing the specialized Noetherian operators. The default value is 1e-6. See See Tolerance (NoetherianOperators).

DependentSet => a list of variables. For details, see DependentSet.