m=der(I,J)
m=der(L,J)
This computes the module of vector fields that, as derivations, send each element of I (or L) to an element of J. This can be used to calculate, for example, the module of vector fields tangent to an algebraic variety (see derlog).
Note that der(I,J) is always a subset of der(list of generators of I,J), and frequently a proper subset.
For der(L,J), the computation is done by finding the syzygies between the partial derivatives of the entries of L and the generators of J. This method of computation was adapted from Singular's KVequiv.lib, written by Anne FrühbisKrüger.
For der(I,J), we intersect der(list of generators of I,J) with the free module consisting of vector fields with coefficients in J:I; the latter is unnecessary when I is a subset of J.
For example, consider the following ideals.




Every vector field sends the zero ideal to zero:


This finds the vector fields tangent to x*y=0 (see derlog):


This finds the vector fields annihilating x*y (see derlogH):

This is different than

because, for example, the generator of D does not annihilate x^2*y:

Another illustration of the difference is:


This illustrates a basic identity:

The object der is a method function.