next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
VectorFields :: stratifyByRank

stratifyByRank -- compute ideals describing where the vector fields have a particular rank

Synopsis

Description

Computes ideals describing where the provided vector fields have a particular rank. For 1≤i≤n, where n is the dimension of the space, (stratifyByRank(M))#i will be an ideal defining the set of points p such that the generators of M evaluated at p span a subspace of dimension less than i. If the vector fields generate a Lie algebra, then this gives some information about their ’orbits’ or their maximal integral submanifolds.

For details on the parts of the calculation, make debugLevel positive.

i1 : R=QQ[a,b,c];
i2 : f=a*b*(a-b)*(a-c*b)

        2 2       3     3     2 2
o2 = - a b c + a*b c + a b - a b

o2 : R
i3 : D=derlog(ideal (f))

o3 = image | -a 0     0      |
           | -b 0     -ab+b2 |
           | 0  -bc+a ac-a   |

                             3
o3 : R-module, submodule of R
i4 : S=stratifyByRank(D);

D has rank 0 on a=b=0, that is, the vector fields all vanish there:

i5 : S#1

o5 = monomialIdeal (a, b)

o5 : MonomialIdeal of R

D has rank <3 precisely on the hypersurface f=0, and hence rank 3 off the hypersurface:

i6 : S#3

            2 2       3     3     2 2
o6 = ideal(a b c - a*b c - a b + a b )

o6 : Ideal of R

This submodule of D has rank <3 everywhere since it only has 2 generators:

i7 : Df=derlogH(f)

o7 = image | ab      a2          |
           | b2      -3ab+4b2    |
           | -4bc+4a 4ac-12bc+8a |

                             3
o7 : R-module, submodule of R
i8 : isSubset(Df,D)

o8 = true
i9 : S=stratifyByRank(Df);
i10 : S#3

o10 = ideal 0

o10 : Ideal of R

See also

Ways to use stratifyByRank :