Skip to content

Commit

Permalink
sagemathgh-37140: Add Matsumoto's matroid database and AllMatroids() …
Browse files Browse the repository at this point in the history
…driver function

    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->
This enables the generation of all matroids of certain number of
elements (and, optionally, of certain rank or type). There exist
restrictions based on the underlying database (Yoshitake Matsumoto's
Database of Matroids: https://www-
imai.is.s.u-tokyo.ac.jp/~ymatsu/matroid/index.html). Note that the
database files consume ~75MB of space, which drops to ~1.5MB upon a
standard compression.

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->
Partially addresses sagemath#35464 (the type can be set to `paving`).

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [x] I have created tests covering the changes.
- [x] I have updated the documentation accordingly.
    
URL: sagemath#37140
Reported by: gmou3
Reviewer(s): Travis Scrimshaw
  • Loading branch information
Release Manager committed Jan 29, 2024
2 parents 8b4f4db + e4e2d24 commit 84bb337
Show file tree
Hide file tree
Showing 51 changed files with 524,653 additions and 4 deletions.
5 changes: 3 additions & 2 deletions src/doc/en/reference/references/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4598,14 +4598,15 @@ REFERENCES:
.. [Mat1978] \R. A. Mathon, *Symmetric conference matrices of order `pq^2 + 1`*,
Canad. J. Math. 30 (1978) 321-331, :doi:`10.4153/CJM-1978-029-1`.
.. [Mat2012] Yoshitake Matsumoto, *Database of Matroids*, 2012,
https://www-imai.is.s.u-tokyo.ac.jp/~ymatsu/matroid/index.html
.. [Mat2015] \A. Mathas. *Cyclotomic quiver Hecke algebras of type A*,
in "Modular representation theory of finite and p-adic groups",
165–266, Lect. Notes Ser. Inst. Math. Sci. Natl. Univ. Singap.,
**30**, World Sci. Publ., Hackensack, NJ, 2015.
:mathscinet:`MR3495747`
.. [MatroidDatabase] `Database of Matroids <http://www-imai.is.s.u-tokyo.ac.jp/~ymatsu/matroid/index.html>`_
.. [May1964] \J. P. May, "The cohomology of restricted Lie algebras
and of Hopf algebras; application to the Steenrod
algebra." Thesis, Princeton Univ., 1964.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*
2 changes: 2 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr1n02.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
**
0*
3 changes: 3 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr1n03.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
***
0**
00*
4 changes: 4 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr1n04.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
****
0***
00**
000*
5 changes: 5 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr1n05.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*****
0****
00***
000**
0000*
6 changes: 6 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr1n06.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
******
0*****
00****
000***
0000**
00000*
7 changes: 7 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr1n07.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
*******
0******
00*****
000****
0000***
00000**
000000*
8 changes: 8 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr1n08.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
********
0*******
00******
000*****
0000****
00000***
000000**
0000000*
9 changes: 9 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr1n09.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
*********
0********
00*******
000******
0000*****
00000****
000000***
0000000**
00000000*
10 changes: 10 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr1n10.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
**********
0*********
00********
000*******
0000******
00000*****
000000****
0000000***
00000000**
000000000*
11 changes: 11 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr1n11.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
***********
0**********
00*********
000********
0000*******
00000******
000000*****
0000000****
00000000***
000000000**
0000000000*
12 changes: 12 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr1n12.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
************
0***********
00**********
000*********
0000********
00000*******
000000******
0000000*****
00000000****
000000000***
0000000000**
00000000000*
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*
3 changes: 3 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr2n03.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
***
0**
00*
7 changes: 7 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr2n04.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
******
0*****
0****0
00*0**
000***
0000**
00000*
13 changes: 13 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr2n05.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
**********
0*********
0****0****
00*0**0***
000*******
000******0
0000**0***
0000**0**0
00000*00**
000000****
0000000***
00000000**
000000000*
23 changes: 23 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr2n06.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
***************
0**************
0****0*********
0****0********0
00*0**0***0****
000************
000******0*****
000******0***00
0000**0***0****
0000**0**00****
00000*00**00***
000000*********
000000********0
0000000***0****
0000000***0***0
00000000**00***
00000000**00**0
000000000*000**
0000000000*****
00000000000****
000000000000***
0000000000000**
00000000000000*
37 changes: 37 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr2n07.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
*********************
0********************
0****0***************
0****0********0******
00*0**0***0****0*****
000******************
000******0***********
000******0**********0
000******0***00******
0000**0***0****0*****
0000**0**00****0*****
0000**0**00****0****0
00000*00**00***00****
000000***************
000000********0******
000000********0****00
0000000***0****0*****
0000000***0***00*****
0000000***0***00***00
00000000**00***00****
00000000**00**000****
000000000*000**000***
0000000000***********
0000000000**********0
00000000000****0*****
00000000000****0****0
000000000000***00****
000000000000***00***0
0000000000000**000***
0000000000000**000**0
00000000000000*0000**
000000000000000******
0000000000000000*****
00000000000000000****
000000000000000000***
0000000000000000000**
00000000000000000000*
58 changes: 58 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr2n08.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
****************************
0***************************
0****0**********************
0****0********0*************
0****0********0************0
00*0**0***0****0*****0******
000*************************
000******0******************
000******0**********0*******
000******0***00*************
000******0***00************0
0000**0***0****0*****0******
0000**0**00****0*****0******
0000**0**00****0****00******
00000*00**00***00****00*****
000000**********************
000000********0*************
000000********0************0
000000********0****00*******
000000********0****00****000
0000000***0****0*****0******
0000000***0***00*****0******
0000000***0***00*****0*****0
0000000***0***00***000******
00000000**00***00****00*****
00000000**00**000****00*****
00000000**00**000****00****0
000000000*000**000***000****
0000000000******************
0000000000**********0*******
0000000000**********0*****00
00000000000****0*****0******
00000000000****0****00******
00000000000****0****00****00
000000000000***00****00*****
000000000000***00***000*****
000000000000***00***000***00
0000000000000**000***000****
0000000000000**000**0000****
00000000000000*0000**0000***
000000000000000*************
000000000000000************0
0000000000000000*****0******
0000000000000000*****0*****0
00000000000000000****00*****
00000000000000000****00****0
000000000000000000***000****
000000000000000000***000***0
0000000000000000000**0000***
0000000000000000000**0000**0
00000000000000000000*00000**
000000000000000000000*******
0000000000000000000000******
00000000000000000000000*****
000000000000000000000000****
0000000000000000000000000***
00000000000000000000000000**
000000000000000000000000000*
87 changes: 87 additions & 0 deletions src/sage/ext_data/matroids/database/all_matroids/allr2n09.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
************************************
0***********************************
0****0******************************
0****0********0*********************
0****0********0************0********
00*0**0***0****0*****0******0*******
000*********************************
000******0**************************
000******0**********0***************
000******0**********0**************0
000******0***00*********************
000******0***00************0********
000******0***00************0******00
0000**0***0****0*****0******0*******
0000**0**00****0*****0******0*******
0000**0**00****0****00******0*******
0000**0**00****0****00******0******0
00000*00**00***00****00*****00******
000000******************************
000000********0*********************
000000********0************0********
000000********0****00***************
000000********0****00**************0
000000********0****00****000********
0000000***0****0*****0******0*******
0000000***0***00*****0******0*******
0000000***0***00*****0*****00*******
0000000***0***00***000******0*******
0000000***0***00***000******0******0
00000000**00***00****00*****00******
00000000**00**000****00*****00******
00000000**00**000****00****000******
000000000*000**000***000****000*****
0000000000**************************
0000000000**********0***************
0000000000**********0**************0
0000000000**********0*****00********
0000000000**********0*****00*****000
00000000000****0*****0******0*******
00000000000****0****00******0*******
00000000000****0****00******0******0
00000000000****0****00****000*******
00000000000****0****00****000****000
000000000000***00****00*****00******
000000000000***00***000*****00******
000000000000***00***000*****00*****0
000000000000***00***000***0000******
0000000000000**000***000****000*****
0000000000000**000**0000****000*****
0000000000000**000**0000****000****0
00000000000000*0000**0000***0000****
000000000000000*********************
000000000000000************0********
000000000000000************0******00
0000000000000000*****0******0*******
0000000000000000*****0*****00*******
0000000000000000*****0*****00*****00
00000000000000000****00*****00******
00000000000000000****00****000******
00000000000000000****00****000****00
000000000000000000***000****000*****
000000000000000000***000***0000*****
000000000000000000***000***0000***00
0000000000000000000**0000***0000****
0000000000000000000**0000**00000****
00000000000000000000*00000**00000***
000000000000000000000***************
000000000000000000000**************0
0000000000000000000000******0*******
0000000000000000000000******0******0
00000000000000000000000*****00******
00000000000000000000000*****00*****0
000000000000000000000000****000*****
000000000000000000000000****000****0
0000000000000000000000000***0000****
0000000000000000000000000***0000***0
00000000000000000000000000**00000***
00000000000000000000000000**00000**0
000000000000000000000000000*000000**
0000000000000000000000000000********
00000000000000000000000000000*******
000000000000000000000000000000******
0000000000000000000000000000000*****
00000000000000000000000000000000****
000000000000000000000000000000000***
0000000000000000000000000000000000**
00000000000000000000000000000000000*
Loading

0 comments on commit 84bb337

Please sign in to comment.