Orlik-Solomon Algebras¶
-
sage.algebras.orlik_solomon.
OrlikSolomonAlgebra
¶ An Orlik-Solomon algebra.
Let \(R\) be a commutative ring. Let \(M\) be a matroid with ground set \(X\). Let \(C(M)\) denote the set of circuits of \(M\). Let \(E\) denote the exterior algebra over \(R\) generated by \(\{ e_x \mid x \in X \}\). The Orlik-Solomon ideal \(J(M)\) is the ideal of \(E\) generated by
\[\partial e_S := \sum_{i=1}^t (-1)^{i-1} e_{j_1} \wedge e_{j_2} \wedge \cdots \wedge \widehat{e}_{j_i} \wedge \cdots \wedge e_{j_t}\]for all \(S = \left\{ j_1 < j_2 < \cdots < j_t \right\} \in C(M)\), where \(\widehat{e}_{j_i}\) means that the term \(e_{j_i}\) is being omitted. The notation \(\partial e_S\) is not a coincidence, as \(\partial e_S\) is actually the image of \(e_S := e_{j_1} \wedge e_{j_2} \wedge \cdots \wedge e_{j_t}\) under the unique derivation \(\partial\) of \(E\) which sends all \(e_x\) to \(1\).
It is easy to see that \(\partial e_S \in J(M)\) not only for circuits \(S\), but also for any dependent set \(S\) of \(M\). Moreover, every dependent set \(S\) of \(M\) satisfies \(e_S \in J(M)\).
The Orlik-Solomon algebra \(A(M)\) is the quotient \(E / J(M)\). This is a graded finite-dimensional skew-commutative \(R\)-algebra. Fix some ordering on \(X\); then, the NBC sets of \(M\) (that is, the subsets of \(X\) containing no broken circuit of \(M\)) form a basis of \(A(M)\). (Here, a broken circuit of \(M\) is defined to be the result of removing the smallest element from a circuit of \(M\).)
In the current implementation, the basis of \(A(M)\) is indexed by the NBC sets, which are implemented as frozensets.
INPUT:
R
– the base ringM
– the defining matroidordering
– (optional) an ordering of the ground set
EXAMPLES:
We create the Orlik-Solomon algebra of the uniform matroid \(U(3, 4)\) and do some basic computations:
sage: M = matroids.Uniform(3, 4) sage: OS = M.orlik_solomon_algebra(QQ) sage: OS.dimension() 14 sage: G = OS.algebra_generators() sage: M.broken_circuits() frozenset({frozenset({1, 2, 3})}) sage: G[1] * G[2] * G[3] OS{0, 1, 2} - OS{0, 1, 3} + OS{0, 2, 3}
REFERENCES: