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

normalize -- rescale a differential operator

Synopsis

Description

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

i1 : S = diffOpRing (QQ[x,y,t]);
i2 : D = diffOp(3*x^3*dx^2*dt + (x+y)*dt^2)

o2 = | 3x3dx^2dt+(x+y)dt^2 |

                1
o2 : DiffOp in S
i3 : normalize D

o3 = | x3dx^2dt+(1/3x+1/3y)dt^2 |

                1
o3 : DiffOp in S

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 QQ[x..y, t]
i5 : nops = noetherianOperators(I, Strategy => "MacaulayMatrix");
i6 : nops / normalize == {diffOp 1_S, diffOp dy, diffOp(t*dy^2 + 2*dx), diffOp(t*dy^3 + 6*dx*dy)}

o6 = true

Ways to use normalize :

For the programmer

The object normalize is a method function.