# Self-dual matroids from canonical curves¶

The code for our project can be found on the git repository <https://github.com/sachihashimoto/self-dual> so that users can easily access the data and track changes to the repository.

This page and the presentation and accessibility of the data are a work in progress. If you have any questions, please email us.

In our paper, we study self-dual matroids, i.e. matroids that are equal to their own dual. E.g. in rank 3, the two self-dual matroids on the set [6] are the uniform matroid, with no nonbases, and the matroid with nonbases {123, 456}. For rank 4, the non-uniform self-dual matroids by nonbases can be found here. The data of their realization spaces and self-dual realization spaces can be found in this file which contains colon-separated values of the line number of the matroid from the previous file, its bases, a Groebner basis for the closure of the realization space, the dimension of the realization space, a Groebner basis of the closure of the self-dual realization space, the dimension fo the self-dual realization space, a boolean saying whether the two spaces are equal, and finally a template for the self-dual realizations of the matroid (to help the user, however this template matrix is still subject to the constraints of the self-dual Groebner basis given).

This file is meant to be machine readable using the python program here. Sample output of this python program looks like this:

We see that specializing the template gives the the self-dual configurations of the matroid (avoiding certain bad values like x[14] = 1, which belong to the closure of the self-dual realization space but not he self-dual realization space) subject to the extra constraint that x[7]*x[8]*x[11]-x[7]*x[8]*x[12]-x[7]*x[11]*x[12]+x[7]*x[12]+x[8]*x[11]*x[12]-x[8]*x[11].

The python program above also parses the data on the rank 5 matroids on 10 elements. The list of 1041 nonuniform rank 5 matroids on 10 elements are available at this link (they are labeled by line number, but this file also gives the matroids along with the label). This data was computed using the code here. When available, the analogous data to the rank 4 case (of the realization and self-dual realization space) is available here. That file can be read in the same manner above, using the python program.

The data of the Groebner bases for all but 9 of the realization spaces is available here. The code to compute this data is here (and for the exceptional unframed case, it is here). For the remaining 9, a heuristic computation was done by intersecting the realization space with hyperplanes, this code is available here.

Additionally, for almost all matroids with non-empty self-dual realization space, we obtained example self-dual realizations of the matroid using the code here and variations of it. The sage code here verifies the output. The point configurations that were defined over the rationals are given in this file and the ones over number fields are in this file. Using the Macaulay2 code found here we pass genus 6 curves through the rational point configurations, and the genus 6 curves are recorded here.

The files here and here give the Maple code for our proof of Theorem 2.6 about the shape of the Cayley Octad map.

We also provide data on graph curves and a census of matroids arising from graph curves in small genus. This can be found in this file. This file is a work in progress: a better, more readable version will be available soon.

Project page created: 30/11/2022.

Project contributors: Alheydis Geiger, Sachi Hashimoto, Bernd Sturmfels, Raluca Vlad.

Corresponding author of this page: Sachi Hashimoto, sachi.hashimoto@mis.mpg.de.

Software used: Magma V2.26-11, Julia Version 1.8.3, OSCAR version 0.11.0, SageMath version 9.7, Python 3.10.6, Polymake 4.6, Singular 4.3.1, Maple, GNU Parallel, Macaulay2 version 1.19.1

Last updated 1/12/22.