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

isFiniteStratification -- checks if a stratification by integral submanifolds is finite

Synopsis

Description

Let strat be the output of stratifyByRank applied to a module L of vector fields. When L is a Lie algebra, strat contains information about the integral submanifolds of L; under the assumption that L is a Lie algebra, this function checks whether there are a finite number of connected integral submanifolds.

The algorithm used, and perhaps even the term integral submanifold, is only valid in real or complex geometry. This routine checks that, for all j, each component of strat#j has dimension <j. It is up to the user to check that the answers obtained by Macaulay2 (e.g., in QQ[x,y,z]) would not change if the calculation was done over the real or complex numbers.

The algorithm is motivated by the results of section 4.3 of “James Damon and Brian Pike. Solvable groups, free divisors and nonisolated matrix singularities II: Vanishing topology. Geom. Topol., 18(2):911-962, 2014”, available at http://dx.doi.org/10.2140/gt.2014.18.911 or http://arxiv.org/abs/1201.1579.

To display progress reports, make debugLevel>1.

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);

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

i5 : S#1

o5 = monomialIdeal (a, b)

o5 : MonomialIdeal of R

the stratification cannot be finite (every point on a=b=0 is its own stratum):

i6 : isFiniteStratification(S)
isFiniteStratification: Component monomialIdeal (a,b) has dim 1 but should be of dim <1 to have a finite stratification.

o6 = false

This stratification is finite:

i7 : D=derlog(ideal (a*b*c))

o7 = image | a 0 0 |
           | 0 b 0 |
           | 0 0 c |

                             3
o7 : R-module, submodule of R
i8 : isFiniteStratification(stratifyByRank(D))

o8 = true

Caveat

The assumption that L is a Lie algebra is not checked.

See also

Ways to use isFiniteStratification :