whitney

Functions related to computing Whitney stratifications.

sage_acsv.whitney.conormal_ideal(X, P, RZ)[source]

Compute the ideal associated with the map sending \(X\) to its conormal space.

The map is also denoted as \(\operatorname{Con}(X)\).

sage_acsv.whitney.decompose_variety(Y, X, P, R, RZ)[source]

Given varieties \(X\) and \(Y\), return the points in \(Y\) that fail Whitney’s condition \(B\) with respect to \(X\).

sage_acsv.whitney.merge_stratifications(Xs, Ys)[source]

Merge two stratifications.

sage_acsv.whitney.whitney_stratification(IX, R)[source]

Computes the Whitney Stratification of a pure-dimensional algebraic variety.

Uses an algorithm developed by Helmer and Nanda (2022).

INPUT:

  • IX – A \(k\)-dimensional polynomial ideal representation of the algebraic variety \(X\)

  • R – Base ring of the ideal. Should be a PolynomialRing object

OUTPUT:

A list [IX_0, IX_1, ..., IX_k] of polynomial ideals representing the Whitney stratification of \(X\). IX_j reprensents the \(j\)-dimensional stratum.

EXAMPLES:

sage: from sage_acsv.whitney import whitney_stratification
sage: R.<x,y,z> = PolynomialRing(QQ, 3)
sage: whitney_stratification(Ideal(y^2+x^3-y^2*z^2), R)
[Ideal (y, x, z^2 - 1) of Multivariate Polynomial Ring in x, y, z over Rational Field,
 Ideal (y, x) of Multivariate Polynomial Ring in x, y, z over Rational Field,
 Ideal (y^2*z^2 - x^3 - y^2) of Multivariate Polynomial Ring in x, y, z over Rational Field]
sage_acsv.whitney.whitney_stratification_projective(X, P)[source]

Computes a Whitney stratification of projective variety \(X\) in the ring \(P\).