Description
This function has two different uses. The most common use is for differentiation: differentiate the second input by the first.
The second use, less common but sometimes useful, is to compute the difference polynomial of a Hilbert polynomial.
The arguments can also be ring elements or vectors.
i1 : R = ZZ[x,y,z]
o1 = R
o1 : PolynomialRing
|
i2 : f = vars R ** vars R
o2 = | x2 xy xz xy y2 yz xz yz z2 |
1 9
o2 : Matrix R <-- R
|
i3 : diff(transpose vars R, f)
o3 = {1} | 2x y z y 0 0 z 0 0 |
{1} | 0 x 0 x 2y z 0 z 0 |
{1} | 0 0 x 0 0 y x y 2z |
3 9
o3 : Matrix R <-- R
|
i4 : diff(x, f)
o4 = | 2x y z y 0 0 z 0 0 |
1 9
o4 : Matrix R <-- R
|
i5 : diff(y, f)
o5 = | 0 x 0 x 2y z 0 z 0 |
1 9
o5 : Matrix R <-- R
|
i6 : diff(z, f)
o6 = | 0 0 x 0 0 y x y 2z |
1 9
o6 : Matrix R <-- R
|