isadofschi / posets

GAP Package for posets and finite spaces
GNU General Public License v3.0
5 stars 1 forks source link

implement the Coxeter polynomial #5

Open fchapoton opened 2 months ago

fchapoton commented 2 months ago

which is an interesting non-trivial polynomial invariant of posets, depending only on the derived category of modules.

This is the characteristic polynomial of the matrix

- self.lequal_matrix() * self.moebius_function_matrix().transpose()

See https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/posets/posets.html#sage.combinat.posets.posets.FinitePoset.coxeter_polynomial

fchapoton commented 2 months ago

pseudo code, not tested:

InstallMethod(CoxeterPolynomial,
"for Poset",
[IsPoset],
function(X)
        zeta := OrderMatrix(X);
        mu := MobiusMatrix(X);
        cox := -zeta * TransposedMat(mu);
        return CharacteristicPolynomial(cox)
end);
kpiterman commented 2 months ago

You can implement it and run a few examples. If you have concrete computations that depend on this polynomial, you can add some examples for the documentation. Then we can see if we merge this with the main branch.

fchapoton commented 2 months ago

yes, but I have difficulties : CharacteristicPolynomial refuses this kind of matrix as input..