whitneyStratifyPol(I)
For a variety $X$ this command computes a Whitney stratification WS where WS#i is a list of strata closures in (complex) dimension $i$; for a prime ideal $P$ in WS#i the associated open (connected) strata is given by the connected components of $V(P)-Z$ where $Z$ is the union of the varieties defined by the entries of WS#(i-1).
This function uses an algorithm based on the computation of polar varieties and is probabilisitic (unlike the conormal based whitneyStratify which is deterministic).
There are several options which can be used to change how the polar varieties are computed and which may be faster on some examples.
We demonstrate the method for the Whitney umbrella below. Note that the polar variety method always generates unnecessary strata (which are random) and need not be present in a minimal Whitney stratification.
|
|
|
|
Note that since the "extra" strata are random we can generate the minimal stratification by taking the common strata closures which appear in two different calculations (with high probability). We do this as follows:
|
|
|
|
There are also several different options to preform the underlying polar variety calculations. The default algorithm uses the M2 saturate command to compute the polar variteies, this option is Algorithm=>. The other options are: Algorithm=>"msolve" and Algorithm=>"M2F4". The Algorithm=>"msolve" only works in versions 1.25.06 and above of Macualay2. The Algorithm=>"M2F4" is mostly beneficial when working over a finite field. Note that over a finite field we can still sometimes obtain useful information about the stratification, but the coefficients appearing in the resulting polynomials may (or likely will) be incorrect.
|
|
|
|
|
On harder examples the whitneyStratifyPol can be much faster than other methods. The following example, while taking some seconds below, takes many minutes or hours with other methods. In the example below the output is in fact the minimal Whitney stratification (though more often the output Whitney stratification returned by whitneyStratifyPol is not minimal).
|
|
|
|
The object whitneyStratifyPol is a method function with options.
The source of this document is in WhitneyStratifications.m2:1799:0.