Dihedral sign patterns in \(\mathcal{M}_{0,n}\)

This page contains auxiliary files to the paper:
Veronica Calvo Cortes, and Hannah Tillmann-Morris: Dihedral sign patterns in \(\mathcal{M}_{0,n}\)
ARXIV: 2508.14714 <https://arxiv.org/abs/2508.14714>
ABSTRACT: The connected components of \(\mathcal{M}_{0,n}(\mathbb{R})\) are in bijection with dihedral orderings of \([n]\). They are all isomorphic and we provide a combinatorial algorithm to find monomial maps between them. We apply this to obtain our main result: the proof of a conjecture of Arkani-Hamed, He, and Lam in the case of \(\mathcal{M}_{0,n}\). Concretely, we provide a bijection between dihedral orderings and consistent sign patterns: certain combinatorially determined orthants for the dihedral embedding of \(\mathcal{M}_{0,n}\). This shows that each consistent sign pattern contains a unique connected component.

In this page, we provide Macaulay2 code to compute the objects appearing in the main result of the paper. We also explain how to use the functions and recreate some of the examples from the article.

In order to run our code you should download the file DihedralSignPatternsM0n.m2. After loading this file you will have access to the following main functions, most of them require the definition of some global parameters.

  • allConsistentSignPattern returns all consistent sign patterns for an \(n\)-gon with shortest negative chord of length \(l\). It has an optional parameter \(N\) to fix the number of negative chords.

  • isConsistent returns whether a sign pattern is consistent.

  • dihedralOrderFromSignPattern given a consistent sign pattern returns its corresponding dihedral ordering.

  • uRelationsIdeal returns the ideal of the u-relations in the dihedral order \(\{1,\ldots,n\}\).

We now illustrate how to use some of these functions to recreate examples in the paper.

Monomial maps in \(\mathcal{M}_{0,5}\)

To compute the monomial map for \(\mathcal{M}_{0,5}\) as in Example 2.6 you can use the following code.

n = 5;
u = symbol u;
R = QQ[apply(subsets(toList (1..n), 2), S -> u_(toSequence S))];
L = toList(1..n);
p = {2,2,1};
f = compMapFromPerm(L, p)

To see the exact monomials you have to apply the function f to the variables of the ring R.

Dihedral order from sign pattern in decagon

To compute the dihedral order in Example 3.10 you can use the following code.

n = 10;
u = symbol u;
R = QQ[apply(subsets(toList (1..n), 2), S -> u_(toSequence S))];
L = toList(1..n);
negs = {{3,8},{3,7},{6,10},{6,8},{7,10}}
s = signPatternFromList(negs);
isConsistent(s)
dihedralOrderFromSignPattern(s)

Inconsistent sign patterns in octagon

To reproduce the computations from Lemma 3.6 you can run the code in the file ComputationOctagon.m2. This code computes all consistent sign patterns for an octagon and verifies none of them have the sign patterns appearing in the first three rows of Table 2.


Project page created: 01/08/2025.

Project contributors: Veronica Calvo Cortes, and Hannah Tillmann-Morris.

Corresponding author of this page: Veronica Calvo Cortes, veronica.calvo@mis.mpg.de.

Software used: Macaulay2 (v1.25.06)

System setup used: MacBook Pro with macOS Sequoia 15.1.1, Processor Apple M3 Pro, Memory 18GB.

License for code of this project page: MIT License (https://spdx.org/licenses/MIT.html)

Last updated: 04/08/2025.