coincident-root-loci: Equivariant CSM classes of coincident root loci

[ bsd3, library, math ] [ Propose Tags ]

This library contians a set of function to compute, among others, the GL(2)-equivariant Chern-Schwartz-MacPherson classes of coincident root loci, which are subvarieties of the space of unordered n-tuples of points in the complex projective line. To such an n-tuples we can associate a partition of n given by the multiplicities of the distinct points; this stratifies the set of all n-tuples, and we call these strata "coincident root loci". This package is supplementary software for a forthcoming paper.

[Skip to Readme]
Versions [RSS] [faq] 0.2, 0.3
Dependencies array (>=0.5), base (==4.*), combinat (>=, containers (>=0.5), polynomial-algebra (>=0.1), random, transformers [details]
License BSD-3-Clause
Copyright (c) 2015-2021 Balazs Komuves
Author Balazs Komuves
Maintainer bkomuves (plus) hackage (at) gmail (dot) com
Category Math
Home page
Source repo head: darcs get
Uploaded by BalazsKomuves at 2021-07-26T16:22:19Z
Distributions NixOS:0.3
Downloads 899 total (1 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2021-07-28 [all 1 reports]


[Index] [Quick Jump]


Maintainer's Corner

For package maintainers and hackage trustees


Readme for coincident-root-loci-0.3

[back to package description]

Characteristic classes of coincident root loci

Coincident root loci (or discriminant strata) are subsets of the space of homogeneous polynomials in two variables defined by root multiplicities: A nonzero degree n polynomial has n roots in the complex projective line P^1, but some of these can coincide, which gives us a partition of n. Hence for each partition lambda we get a set of polynomials (those with root multiplicities given by lambda), which together stratify the space of these polynomials, which (modulo multiplying by scalars) is P^n. These are quasi-projective varieties, invariant under the action of GL(2); their closures are highly singular projective varieties, making them a good example for studying invariants of singular varieties.

This package contains a number of different algorithms to compute invariants and characteristic classes of these varieties:

  • degree
  • Euler characteristic
  • the fundamental class in equivariant cohomology
  • Chern-Schwartz-MacPherson (CSM) class, Segre-SM class
  • equivariant CSM class
  • Hirzebruch Chi-y genus
  • Todd class, motivic Hirzebruch class
  • motivic Chern class
  • equivariant motivic Chern class

Some of the algorithms are implemented in Mathematica instead of (or in addition to) Haskell.

Another (better organized) Mathematica implementation is available at

Example usage

For example if you want to know what is the equivariant CSM class of the (open) loci corresponding to the partition [2,2,1,1], you can use the following piece of code:

{-# LANGUAGE TypeApplications #-}

import Math.Combinat.Partitions
import Math.RootLoci.Algebra.SymmPoly ( AB )
import Math.Algebra.Polynomial.Pretty ( pretty )
import Math.RootLoci.CSM.Equivariant.Umbral

csm ps = umbralOpenCSM @AB (mkPartition ps)

main = do
  putStrLn $ pretty $ csm [2,2,1,1]