next | previous | forward | backward | up | top | index | toc | Macaulay2 website
NoetherianOperators :: normalize

normalize -- rescale a differential operator to a canonical form

Synopsis

Description

Rescales a differential operator so that the leading term of the leading coefficient is 1.

i1 : R = QQ[x,y,t];
i2 : D = diffOp{x^2*t => 3*x^3 + 2*y, t^2 => x+y}

        3        2              2
o2 = (3x  + 2y)dx dt + (x + y)dt

o2 : DiffOp
i3 : normalize D

       3   2    2      1    1    2
o3 = (x  + -y)dx dt + (-x + -y)dt
           3           3    3

o3 : DiffOp

This can be useful when computing "canonical" sets of Noetherian operators, as a valid set of Noetherian operators stays valid even after rescaling.

i4 : I = ideal(x^2,y^2 - x*t);

o4 : Ideal of R
i5 : nops = noetherianOperators(I, Strategy => "MacaulayMatrix");
i6 : nops // sort / normalize == {diffOp{1_R => 1}, diffOp{y => 1}, diffOp{y^2 => t, x => 2}, diffOp{y^3 => t, x*y => 6}}

o6 = true

Ways to use normalize :

For the programmer

The object normalize is a method function.