1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407
|
# Copyright (c) 1997-2024
# Ewgenij Gawrilow, Michael Joswig, and the polymake team
# Technische Universität Berlin, Germany
# https://polymake.org
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2, or (at your option) any
# later version: http://www.gnu.org/licenses/gpl.txt.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#-------------------------------------------------------------------------------
# @category Producing a matroid from scratch
# Create the matroid corresponding to Pappus' Theorem.
# Realizable if and only if the size of the field is not 2,3 or 5.
# An excluded minor for the field with 5 elements.
# @return Matroid
user_function pappus_matroid() {
my $m = new Matroid(BASES=> [[0, 1, 3], [0, 1, 4], [0, 1, 5], [0, 1, 6], [0, 1, 7], [0, 1, 8], [0, 2, 3], [0, 2, 4], [0, 2, 5], [0, 2, 6], [0, 2, 7], [0, 2, 8], [0, 3, 4], [0, 3, 5], [0, 3, 6], [0, 3, 7], [0, 3, 8], [0, 4, 5], [0, 4, 6], [0, 4, 7], [0, 5, 6], [0, 5, 8], [0, 6, 7], [0, 6, 8], [0, 7, 8], [1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 2, 6], [1, 2, 7], [1, 2, 8], [1, 3, 4], [1, 3, 5], [1, 3, 6], [1, 3, 7], [1, 4, 5], [1, 4, 6], [1, 4, 7], [1, 4, 8], [1, 5, 7], [1, 5, 8], [1, 6, 7], [1, 6, 8], [1, 7, 8], [2, 3, 4], [2, 3, 5], [2, 3, 6], [2, 3, 8], [2, 4, 5], [2, 4, 7], [2, 4, 8], [2, 5, 6], [2, 5, 7], [2, 5, 8], [2, 6, 7], [2, 6, 8], [2, 7, 8], [3, 4, 6], [3, 4, 7], [3, 4, 8], [3, 5, 6], [3, 5, 7], [3, 5, 8], [3, 6, 7], [3, 6, 8], [3, 7, 8], [4, 5, 6], [4, 5, 7], [4, 5, 8], [4, 6, 7], [4, 6, 8], [4, 7, 8], [5, 6, 7], [5, 6, 8], [5, 7, 8]],
N_ELEMENTS=>9,
RANK=>3);
$m->name="Pappus matroid";
$m->description="Matroid corresponding to Pappus' Theorem";
return $m;
}
# @category Producing a matroid from scratch
# Create the matroid encoding the violation of Pappus' Theorem. Not realizable over any field.
# An excluded minor for all finite fields with more than four elements.
# Algebraic over all field that do not have characteristic 0.
# @return Matroid
user_function non_pappus_matroid() {
my $m = new Matroid(BASES=> [[0, 1, 3], [0, 1, 4], [0, 1, 5], [0, 1, 6], [0, 1, 7], [0, 1, 8], [0, 2, 3], [0, 2, 4], [0, 2, 5], [0, 2, 6], [0, 2, 7], [0, 2, 8], [0, 3, 4], [0, 3, 5], [0, 3, 6], [0, 3, 7], [0, 3, 8], [0, 4, 5], [0, 4, 6], [0, 4, 7], [0, 5, 6], [0, 5, 8], [0, 6, 7], [0, 6, 8], [0, 7, 8], [1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 2, 6], [1, 2, 7], [1, 2, 8], [1, 3, 4], [1, 3, 5], [1, 3, 6], [1, 3, 7], [1, 4, 5], [1, 4, 6], [1, 4, 7], [1, 4, 8], [1, 5, 7], [1, 5, 8], [1, 6, 7], [1, 6, 8], [1, 7, 8], [2, 3, 4], [2, 3, 5], [2, 3, 6], [2, 3, 8], [2, 4, 5], [2, 4, 7], [2, 4, 8], [2, 5, 6], [2, 5, 7], [2, 5, 8], [2, 6, 7], [2, 6, 8], [2, 7, 8], [3, 4, 5], [3, 4, 6], [3, 4, 7], [3, 4, 8], [3, 5, 6], [3, 5, 7], [3, 5, 8], [3, 6, 7], [3, 6, 8], [3, 7, 8], [4, 5, 6], [4, 5, 7], [4, 5, 8], [4, 6, 7], [4, 6, 8], [4, 7, 8], [5, 6, 7], [5, 6, 8], [5, 7, 8]],
N_ELEMENTS=>9,
RANK=>3);
$m->name="Non-Pappus matroid";
$m->description="Matroid encoding the violation of Pappus' Theorem";
return $m;
}
# @category Producing a matroid from scratch
# A regular matroid that's not graphical nor cographical.
# Algebraic over all fields.
# @return Matroid
user_function r10_matroid() {
my $m = new Matroid(VECTORS=> [[1,0,0,0,0],[0,1,0,0,0],[0,0,1,0,0],[0,0,0,1,0],[0,0,0,0,1],[-1,1,0,0,1],[1,-1,1,0,0],[0,1,-1,1,0],[0,0,1,-1,1],[1,0,0,1,-1]]);
$m->name="R10 matroid";
$m->description="A regular matroid that's not graphical nor cographical";
return $m;
}
# @category Producing a matroid from scratch
# A minimal non-representable matroid.
# An excluded minor for all finite fields with more than four elements.
# Non-algebraic.
# @return Matroid
user_function vamos_matroid() {
my $m = new Matroid(BASES=> [[0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 2, 7], [0, 1, 3, 4], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 3, 7], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 5, 6], [0, 1, 5, 7], [0, 2, 3, 4], [0, 2, 3, 5], [0, 2, 3, 6], [0, 2, 3, 7], [0, 2, 4, 5], [0, 2, 4, 6], [0, 2, 4, 7], [0, 2, 5, 6], [0, 2, 5, 7], [0, 2, 6, 7], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 4, 7], [0, 3, 5, 6], [0, 3, 5, 7], [0, 3, 6, 7], [0, 4, 5, 6], [0, 4, 5, 7], [0, 4, 6, 7], [0, 5, 6, 7], [1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 6], [1, 2, 3, 7], [1, 2, 4, 5], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 5, 6], [1, 2, 5, 7], [1, 2, 6, 7], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 4, 7], [1, 3, 5, 6], [1, 3, 5, 7], [1, 3, 6, 7], [1, 4, 5, 6], [1, 4, 5, 7], [1, 4, 6, 7], [1, 5, 6, 7], [2, 3, 4, 6], [2, 3, 4, 7], [2, 3, 5, 6], [2, 3, 5, 7], [2, 3, 6, 7], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 6, 7], [2, 5, 6, 7], [3, 4, 5, 6], [3, 4, 5, 7], [3, 4, 6, 7], [3, 5, 6, 7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="Vamos matroid";
$m->description="The Vamos matroid, a minimal non-representable matroid";
return $m;
}
# @category Producing a matroid from scratch
# A matroid related to the Vamos matroid (see [Oxley:matroid theory (2nd ed.) page 72])
# @return Matroid
user_function non_vamos_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 2, 7], [0, 1, 3, 4], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 3, 7], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 5, 6], [0, 1, 5, 7], [0, 2, 3, 4], [0, 2, 3, 5], [0, 2, 3, 6], [0, 2, 3, 7], [0, 2, 4, 5], [0, 2, 4, 6], [0, 2, 4, 7], [0, 2, 5, 6], [0, 2, 5, 7], [0, 2, 6, 7], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 4, 7], [0, 3, 5, 6], [0, 3, 5, 7], [0, 3, 6, 7], [0, 4, 5, 6], [0, 4, 5, 7], [0, 4, 6, 7], [0, 5, 6, 7], [1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 6], [1, 2, 3, 7], [1, 2, 4, 5], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 5, 6], [1, 2, 5, 7], [1, 2, 6, 7], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 4, 7], [1, 3, 5, 6], [1, 3, 5, 7], [1, 3, 6, 7], [1, 4, 5, 6], [1, 4, 5, 7], [1, 4, 6, 7], [1, 5, 6, 7], [2, 3, 4, 6], [2, 3, 4, 7], [2, 3, 5, 6], [2, 3, 5, 7], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 6, 7], [2, 5, 6, 7], [3, 4, 5, 6], [3, 4, 5, 7], [3, 4, 6, 7], [3, 5, 6, 7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="Non-Vamos matroid";
$m->description="The Non-Vamos matroid, a matroid related to the Vamos matroid (see Oxley: Matroid theory (2nd ed.), page 72)";
return $m;
}
# @category Producing a matroid from scratch
# The only other ternary 3-spike apart from the non-Fano matroid.
# Non binary. Algebraic over all fields.
# @return Matroid
user_function p7_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2], [0, 1, 3], [0, 1, 5], [0, 1, 6], [0, 2, 3], [0, 2, 4], [0, 2, 6], [0, 3, 4], [0, 3, 5], [0, 4, 5], [0, 4, 6], [0, 5, 6], [1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 3, 4], [1, 3, 5], [1, 3, 6], [1, 4, 5], [1, 4, 6], [1, 5, 6], [2, 3, 4], [2, 3, 5], [2, 3, 6], [2, 4, 5], [2, 4, 6], [2, 5, 6], [3, 4, 6], [3, 5, 6], [4, 5, 6]],
N_ELEMENTS=>7,
RANK=>3);
$m->name="P7 matroid";
$m->description="The only other ternary 3-spike apart from the non-Fano matroid";
return $m;
}
# @category Producing a matroid from scratch
# The repesentation over the reals is obtained from a 3-cube where one face is rotated by 45°.
# Non-representable if and only if the characeristic of the field is 2. Algebraic over all fields.
# @return Matroid
user_function p8_matroid() {
my $m = new Matroid(TERNARY_VECTORS=>[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1],[0,1,1,2],[1,0,1,1],[1,1,0,1],[2,1,1,0]],
BASES=>[[0,1,2,3],[0,1,2,4],[0,1,2,5],[0,1,2,6],[0,1,3,4],[0,1,3,5],[0,1,3,7],[0,1,4,5],[0,1,4,6],[0,1,4,7],[0,1,5,6],[0,1,5,7],[0,1,6,7],[0,2,3,4],[0,2,3,6],[0,2,3,7],[0,2,4,5],[0,2,4,6],[0,2,4,7],[0,2,5,6],[0,2,5,7],[0,2,6,7],[0,3,4,5],[0,3,4,6],[0,3,5,6],[0,3,5,7],[0,3,6,7],[0,4,5,7],[0,4,6,7],[0,5,6,7],[1,2,3,5],[1,2,3,6],[1,2,3,7],[1,2,4,5],[1,2,4,6],[1,2,4,7],[1,2,5,7],[1,2,6,7],[1,3,4,5],[1,3,4,6],[1,3,4,7],[1,3,5,6],[1,3,5,7],[1,3,6,7],[1,4,5,6],[1,4,6,7],[1,5,6,7],[2,3,4,5],[2,3,4,6],[2,3,4,7],[2,3,5,6],[2,3,5,7],[2,3,6,7],[2,4,5,6],[2,4,5,7],[2,5,6,7],[3,4,5,6],[3,4,5,7],[3,4,6,7],[4,5,6,7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="P8 matroid";
$m->description="The repesentation over the reals is obtained from a 3-cube where one face is rotated by 45°.";
return $m;
}
# @category Producing a matroid from scratch
# Obtained from [[p8_matroid]] by relaxing its only pair of disjoint circuit-hyperplanes.
# @return Matroid
user_function non_p8_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3], [0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 2, 7], [0, 1, 3, 4], [0, 1, 3, 5], [0, 1, 3, 7], [0, 1, 4, 5], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 5, 6], [0, 1, 6, 7], [0, 2, 3, 4], [0, 2, 3, 6], [0, 2, 3, 7], [0, 2, 4, 5], [0, 2, 4, 6], [0, 2, 4, 7], [0, 2, 5, 6], [0, 2, 5, 7], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 5, 6], [0, 3, 5, 7], [0, 3, 6, 7], [0, 4, 5, 7], [0, 4, 6, 7], [0, 5, 6, 7], [1, 2, 3, 5], [1, 2, 3, 6], [1, 2, 3, 7], [1, 2, 4, 5], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 5, 7], [1, 2, 6, 7], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 4, 7], [1, 3, 5, 6], [1, 3, 5, 7], [1, 3, 6, 7], [1, 4, 5, 6], [1, 4, 5, 7], [1, 5, 6, 7], [2, 3, 4, 5], [2, 3, 4, 6], [2, 3, 4, 7], [2, 3, 5, 6], [2, 3, 5, 7], [2, 3, 6, 7], [2, 4, 5, 6], [2, 4, 6, 7], [2, 5, 6, 7], [3, 4, 5, 6], [3, 4, 5, 7], [3, 4, 6, 7], [4, 5, 6, 7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="Non-P8 matroid";
$m->description="Obtained from the P8 matroid by relaxing its only pair of disjoint circuit-hyperplanes";
return $m;
}
# @category Producing a matroid from scratch
# An excluded minor for some properties (see [Oxley:matroid theory (2nd ed.) page 650]).
# Non binary. Algebraic over all fields.
# @return Matroid
user_function j_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3], [0, 1, 2, 4], [0, 1, 2, 7], [0, 1, 3, 4], [0, 1, 3, 6], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 6, 7], [0, 2, 3, 4], [0, 2, 3, 5], [0, 2, 4, 5], [0, 2, 4, 7], [0, 2, 5, 7], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 5, 6], [0, 4, 5, 6], [0, 4, 5, 7], [0, 4, 6, 7], [0, 5, 6, 7], [1, 2, 3, 5], [1, 2, 3, 6], [1, 2, 3, 7], [1, 2, 4, 5], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 5, 7], [1, 2, 6, 7], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 4, 7], [1, 3, 5, 6], [1, 3, 6, 7], [1, 4, 5, 6], [1, 4, 5, 7], [1, 4, 6, 7], [1, 5, 6, 7], [2, 3, 4, 5], [2, 3, 4, 6], [2, 3, 4, 7], [2, 3, 5, 6], [2, 3, 5, 7], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 6, 7], [2, 5, 6, 7], [3, 4, 5, 6], [3, 4, 5, 7], [3, 4, 6, 7], [3, 5, 6, 7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="J-matroid";
$m->description="An excluded minor for some properties (see Oxley: Matroid theory (2nd ed.), page 650)";
return $m;
}
# @category Producing a matroid from scratch
# The 4-point planes are the six faces of the cube an the two twisted plannes.
# Identically self-dual. Representable over all field with more then 4 elements and algebraic over all fields.
# @return Matroid
user_function l8_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3], [0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 3, 4], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 3, 7], [0, 1, 4, 5], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 5, 7], [0, 1, 6, 7], [0, 2, 3, 4], [0, 2, 3, 5], [0, 2, 3, 6], [0, 2, 3, 7], [0, 2, 4, 5], [0, 2, 4, 7], [0, 2, 5, 6], [0, 2, 5, 7], [0, 2, 6, 7], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 4, 7], [0, 3, 5, 6], [0, 3, 5, 7], [0, 3, 6, 7], [0, 4, 5, 6], [0, 4, 6, 7], [0, 5, 6, 7], [1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 7], [1, 2, 4, 5], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 5, 6], [1, 2, 5, 7], [1, 2, 6, 7], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 4, 7], [1, 3, 5, 6], [1, 3, 6, 7], [1, 4, 5, 6], [1, 4, 5, 7], [1, 4, 6, 7], [1, 5, 6, 7], [2, 3, 4, 5], [2, 3, 4, 6], [2, 3, 5, 6], [2, 3, 5, 7], [2, 3, 6, 7], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 6, 7], [2, 5, 6, 7], [3, 4, 5, 7], [3, 4, 6, 7], [3, 5, 6, 7], [4, 5, 6, 7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="L8 matroid";
$m->description="The 4-point planes are the six faces of the cube an the two twisted plannes.
";
return $m;
}
# @category Producing a matroid from scratch
# An excluded minor for the dyadic matroids (see [Oxley:matroid theory (2nd ed.) page 558]).
# @return Matroid
user_function n1_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3, 4], [0, 1, 2, 3, 5], [0, 1, 2, 3, 6], [0, 1, 2, 3, 7], [0, 1, 2, 3, 8], [0, 1, 2, 4, 7], [0, 1, 2, 4, 8], [0, 1, 2, 4, 9], [0, 1, 2, 5, 7], [0, 1, 2, 5, 8], [0, 1, 2, 5, 9], [0, 1, 2, 6, 7], [0, 1, 2, 6, 8], [0, 1, 2, 6, 9], [0, 1, 2, 7, 9], [0, 1, 2, 8, 9], [0, 1, 3, 4, 6], [0, 1, 3, 4, 7], [0, 1, 3, 4, 9], [0, 1, 3, 5, 6], [0, 1, 3, 5, 7], [0, 1, 3, 5, 9], [0, 1, 3, 6, 7], [0, 1, 3, 6, 8], [0, 1, 3, 6, 9], [0, 1, 3, 7, 8], [0, 1, 3, 7, 9], [0, 1, 3, 8, 9], [0, 1, 4, 6, 7], [0, 1, 4, 6, 8], [0, 1, 4, 6, 9], [0, 1, 4, 7, 8], [0, 1, 4, 8, 9], [0, 1, 5, 6, 7], [0, 1, 5, 6, 8], [0, 1, 5, 6, 9], [0, 1, 5, 7, 8], [0, 1, 5, 8, 9], [0, 1, 6, 7, 8], [0, 1, 6, 7, 9], [0, 1, 7, 8, 9], [0, 2, 3, 4, 5], [0, 2, 3, 4, 6], [0, 2, 3, 4, 9], [0, 2, 3, 5, 6], [0, 2, 3, 5, 7], [0, 2, 3, 5, 8], [0, 2, 3, 5, 9], [0, 2, 3, 6, 7], [0, 2, 3, 6, 8], [0, 2, 3, 6, 9], [0, 2, 3, 7, 9], [0, 2, 3, 8, 9], [0, 2, 4, 5, 7], [0, 2, 4, 5, 8], [0, 2, 4, 5, 9], [0, 2, 4, 6, 7], [0, 2, 4, 6, 8], [0, 2, 4, 6, 9], [0, 2, 4, 7, 9], [0, 2, 4, 8, 9], [0, 2, 5, 6, 7], [0, 2, 5, 6, 8], [0, 2, 5, 6, 9], [0, 2, 6, 7, 9], [0, 2, 6, 8, 9], [0, 3, 4, 5, 6], [0, 3, 4, 5, 7], [0, 3, 4, 5, 9], [0, 3, 4, 6, 7], [0, 3, 4, 6, 9], [0, 3, 4, 7, 9], [0, 3, 5, 6, 8], [0, 3, 5, 7, 8], [0, 3, 5, 8, 9], [0, 3, 6, 7, 8], [0, 3, 6, 8, 9], [0, 3, 7, 8, 9], [0, 4, 5, 6, 7], [0, 4, 5, 6, 8], [0, 4, 5, 6, 9], [0, 4, 5, 7, 8], [0, 4, 5, 8, 9], [0, 4, 6, 7, 8], [0, 4, 6, 7, 9], [0, 4, 6, 8, 9], [0, 4, 7, 8, 9], [0, 5, 6, 7, 8], [0, 5, 6, 8, 9], [0, 6, 7, 8, 9], [1, 2, 3, 4, 5], [1, 2, 3, 4, 8], [1, 2, 3, 4, 9], [1, 2, 3, 5, 6], [1, 2, 3, 5, 7], [1, 2, 3, 5, 9], [1, 2, 3, 6, 8], [1, 2, 3, 6, 9], [1, 2, 3, 7, 8], [1, 2, 3, 7, 9], [1, 2, 3, 8, 9], [1, 2, 4, 5, 7], [1, 2, 4, 5, 8], [1, 2, 4, 5, 9], [1, 2, 4, 7, 8], [1, 2, 4, 7, 9], [1, 2, 5, 6, 7], [1, 2, 5, 6, 8], [1, 2, 5, 6, 9], [1, 2, 5, 7, 8], [1, 2, 5, 7, 9], [1, 2, 5, 8, 9], [1, 2, 6, 7, 8], [1, 2, 6, 7, 9], [1, 2, 7, 8, 9], [1, 3, 4, 5, 6], [1, 3, 4, 5, 7], [1, 3, 4, 5, 9], [1, 3, 4, 6, 8], [1, 3, 4, 6, 9], [1, 3, 4, 7, 8], [1, 3, 4, 7, 9], [1, 3, 4, 8, 9], [1, 3, 5, 6, 7], [1, 3, 5, 7, 9], [1, 3, 6, 7, 8], [1, 3, 6, 7, 9], [1, 3, 7, 8, 9], [1, 4, 5, 6, 7], [1, 4, 5, 6, 8], [1, 4, 5, 6, 9], [1, 4, 5, 7, 8], [1, 4, 5, 8, 9], [1, 4, 6, 7, 8], [1, 4, 6, 7, 9], [1, 4, 7, 8, 9], [1, 5, 6, 7, 8], [1, 5, 6, 7, 9], [1, 5, 7, 8, 9], [2, 3, 4, 5, 6], [2, 3, 4, 5, 8], [2, 3, 4, 5, 9], [2, 3, 4, 6, 8], [2, 3, 4, 6, 9], [2, 3, 4, 8, 9], [2, 3, 5, 6, 7], [2, 3, 5, 6, 8], [2, 3, 5, 7, 8], [2, 3, 5, 7, 9], [2, 3, 5, 8, 9], [2, 3, 6, 7, 8], [2, 3, 6, 7, 9], [2, 3, 6, 8, 9], [2, 3, 7, 8, 9], [2, 4, 5, 6, 7], [2, 4, 5, 6, 8], [2, 4, 5, 6, 9], [2, 4, 5, 7, 8], [2, 4, 5, 7, 9], [2, 4, 5, 8, 9], [2, 4, 6, 7, 8], [2, 4, 6, 7, 9], [2, 4, 7, 8, 9], [2, 5, 6, 7, 8], [2, 5, 6, 7, 9], [2, 5, 6, 8, 9], [2, 6, 7, 8, 9], [3, 4, 5, 6, 7], [3, 4, 5, 6, 8], [3, 4, 5, 7, 8], [3, 4, 5, 7, 9], [3, 4, 5, 8, 9], [3, 4, 6, 7, 8], [3, 4, 6, 7, 9], [3, 4, 6, 8, 9], [3, 4, 7, 8, 9], [3, 5, 6, 7, 8], [3, 5, 7, 8, 9], [3, 6, 7, 8, 9], [4, 5, 6, 7, 9], [4, 5, 6, 8, 9], [4, 5, 7, 8, 9], [4, 6, 7, 8, 9], [5, 6, 7, 8, 9]],
N_ELEMENTS=>10,
RANK=>5);
$m->name="N1 matroid";
$m->description="An excluded minor for the dyadic matroids";
return $m;
}
# @category Producing a matroid from scratch
# An excluded minor for the dyadic matroids (see [Oxley:matroid theory (2nd ed.) page 558]).
# @return Matroid
user_function n2_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 6], [0, 1, 2, 3, 4, 7], [0, 1, 2, 3, 4, 8], [0, 1, 2, 3, 4, 9], [0, 1, 2, 3, 4, 11], [0, 1, 2, 3, 5, 6], [0, 1, 2, 3, 5, 10], [0, 1, 2, 3, 5, 11], [0, 1, 2, 3, 6, 7], [0, 1, 2, 3, 6, 8], [0, 1, 2, 3, 6, 9], [0, 1, 2, 3, 6, 10], [0, 1, 2, 3, 7, 10], [0, 1, 2, 3, 7, 11], [0, 1, 2, 3, 8, 10], [0, 1, 2, 3, 8, 11], [0, 1, 2, 3, 9, 10], [0, 1, 2, 3, 9, 11], [0, 1, 2, 3, 10, 11], [0, 1, 2, 4, 5, 8], [0, 1, 2, 4, 5, 9], [0, 1, 2, 4, 5, 10], [0, 1, 2, 4, 6, 8], [0, 1, 2, 4, 6, 9], [0, 1, 2, 4, 6, 10], [0, 1, 2, 4, 7, 8], [0, 1, 2, 4, 7, 9], [0, 1, 2, 4, 7, 10], [0, 1, 2, 4, 8, 10], [0, 1, 2, 4, 8, 11], [0, 1, 2, 4, 9, 10], [0, 1, 2, 4, 9, 11], [0, 1, 2, 4, 10, 11], [0, 1, 2, 5, 6, 8], [0, 1, 2, 5, 6, 9], [0, 1, 2, 5, 6, 10], [0, 1, 2, 5, 8, 10], [0, 1, 2, 5, 8, 11], [0, 1, 2, 5, 9, 10], [0, 1, 2, 5, 9, 11], [0, 1, 2, 5, 10, 11], [0, 1, 2, 6, 7, 8], [0, 1, 2, 6, 7, 9], [0, 1, 2, 6, 7, 10], [0, 1, 2, 7, 8, 10], [0, 1, 2, 7, 8, 11], [0, 1, 2, 7, 9, 10], [0, 1, 2, 7, 9, 11], [0, 1, 2, 7, 10, 11], [0, 1, 3, 4, 5, 7], [0, 1, 3, 4, 5, 8], [0, 1, 3, 4, 5, 11], [0, 1, 3, 4, 6, 7], [0, 1, 3, 4, 6, 8], [0, 1, 3, 4, 6, 11], [0, 1, 3, 4, 7, 8], [0, 1, 3, 4, 7, 9], [0, 1, 3, 4, 7, 11], [0, 1, 3, 4, 8, 9], [0, 1, 3, 4, 9, 11], [0, 1, 3, 5, 6, 7], [0, 1, 3, 5, 6, 8], [0, 1, 3, 5, 6, 11], [0, 1, 3, 5, 7, 10], [0, 1, 3, 5, 7, 11], [0, 1, 3, 5, 8, 10], [0, 1, 3, 5, 8, 11], [0, 1, 3, 5, 10, 11], [0, 1, 3, 6, 7, 8], [0, 1, 3, 6, 7, 9], [0, 1, 3, 6, 7, 10], [0, 1, 3, 6, 7, 11], [0, 1, 3, 6, 8, 9], [0, 1, 3, 6, 8, 10], [0, 1, 3, 6, 8, 11], [0, 1, 3, 6, 9, 11], [0, 1, 3, 6, 10, 11], [0, 1, 3, 7, 8, 10], [0, 1, 3, 7, 8, 11], [0, 1, 3, 7, 9, 10], [0, 1, 3, 7, 9, 11], [0, 1, 3, 7, 10, 11], [0, 1, 3, 8, 9, 10], [0, 1, 3, 8, 9, 11], [0, 1, 3, 9, 10, 11], [0, 1, 4, 5, 7, 8], [0, 1, 4, 5, 7, 9], [0, 1, 4, 5, 7, 10], [0, 1, 4, 5, 8, 9], [0, 1, 4, 5, 8, 10], [0, 1, 4, 5, 8, 11], [0, 1, 4, 5, 9, 11], [0, 1, 4, 5, 10, 11], [0, 1, 4, 6, 7, 8], [0, 1, 4, 6, 7, 9], [0, 1, 4, 6, 7, 10], [0, 1, 4, 6, 8, 9], [0, 1, 4, 6, 8, 10], [0, 1, 4, 6, 8, 11], [0, 1, 4, 6, 9, 11], [0, 1, 4, 6, 10, 11], [0, 1, 4, 7, 8, 9], [0, 1, 4, 7, 8, 10], [0, 1, 4, 7, 8, 11], [0, 1, 4, 7, 9, 10], [0, 1, 4, 7, 9, 11], [0, 1, 4, 7, 10, 11], [0, 1, 4, 8, 9, 10], [0, 1, 4, 8, 9, 11], [0, 1, 4, 9, 10, 11], [0, 1, 5, 6, 7, 8], [0, 1, 5, 6, 7, 9], [0, 1, 5, 6, 7, 10], [0, 1, 5, 6, 8, 9], [0, 1, 5, 6, 8, 10], [0, 1, 5, 6, 8, 11], [0, 1, 5, 6, 9, 11], [0, 1, 5, 6, 10, 11], [0, 1, 5, 7, 8, 10], [0, 1, 5, 7, 8, 11], [0, 1, 5, 7, 9, 10], [0, 1, 5, 7, 9, 11], [0, 1, 5, 7, 10, 11], [0, 1, 5, 8, 9, 10], [0, 1, 5, 8, 9, 11], [0, 1, 5, 9, 10, 11], [0, 1, 6, 7, 8, 9], [0, 1, 6, 7, 8, 10], [0, 1, 6, 7, 8, 11], [0, 1, 6, 7, 9, 11], [0, 1, 6, 7, 10, 11], [0, 1, 7, 8, 9, 10], [0, 1, 7, 8, 9, 11], [0, 1, 7, 9, 10, 11], [0, 2, 3, 4, 5, 6], [0, 2, 3, 4, 5, 7], [0, 2, 3, 4, 5, 11], [0, 2, 3, 4, 6, 8], [0, 2, 3, 4, 6, 9], [0, 2, 3, 4, 7, 8], [0, 2, 3, 4, 7, 9], [0, 2, 3, 4, 8, 11], [0, 2, 3, 4, 9, 11], [0, 2, 3, 5, 6, 7], [0, 2, 3, 5, 6, 10], [0, 2, 3, 5, 7, 10], [0, 2, 3, 5, 7, 11], [0, 2, 3, 5, 10, 11], [0, 2, 3, 6, 7, 8], [0, 2, 3, 6, 7, 9], [0, 2, 3, 6, 8, 10], [0, 2, 3, 6, 9, 10], [0, 2, 3, 7, 8, 10], [0, 2, 3, 7, 8, 11], [0, 2, 3, 7, 9, 10], [0, 2, 3, 7, 9, 11], [0, 2, 3, 8, 10, 11], [0, 2, 3, 9, 10, 11], [0, 2, 4, 5, 6, 8], [0, 2, 4, 5, 6, 9], [0, 2, 4, 5, 6, 10], [0, 2, 4, 5, 7, 8], [0, 2, 4, 5, 7, 9], [0, 2, 4, 5, 7, 10], [0, 2, 4, 5, 8, 11], [0, 2, 4, 5, 9, 11], [0, 2, 4, 5, 10, 11], [0, 2, 4, 6, 8, 10], [0, 2, 4, 6, 9, 10], [0, 2, 4, 7, 8, 10], [0, 2, 4, 7, 9, 10], [0, 2, 4, 8, 10, 11], [0, 2, 4, 9, 10, 11], [0, 2, 5, 6, 7, 8], [0, 2, 5, 6, 7, 9], [0, 2, 5, 6, 7, 10], [0, 2, 5, 6, 8, 10], [0, 2, 5, 6, 9, 10], [0, 2, 5, 7, 8, 10], [0, 2, 5, 7, 8, 11], [0, 2, 5, 7, 9, 10], [0, 2, 5, 7, 9, 11], [0, 2, 5, 7, 10, 11], [0, 2, 5, 8, 10, 11], [0, 2, 5, 9, 10, 11], [0, 2, 6, 7, 8, 10], [0, 2, 6, 7, 9, 10], [0, 2, 7, 8, 10, 11], [0, 2, 7, 9, 10, 11], [0, 3, 4, 5, 6, 7], [0, 3, 4, 5, 6, 8], [0, 3, 4, 5, 6, 11], [0, 3, 4, 5, 7, 8], [0, 3, 4, 5, 7, 11], [0, 3, 4, 5, 8, 11], [0, 3, 4, 6, 7, 8], [0, 3, 4, 6, 7, 9], [0, 3, 4, 6, 8, 9], [0, 3, 4, 6, 8, 11], [0, 3, 4, 6, 9, 11], [0, 3, 4, 7, 8, 9], [0, 3, 4, 7, 8, 11], [0, 3, 4, 7, 9, 11], [0, 3, 4, 8, 9, 11], [0, 3, 5, 6, 7, 8], [0, 3, 5, 6, 7, 10], [0, 3, 5, 6, 7, 11], [0, 3, 5, 6, 8, 10], [0, 3, 5, 6, 10, 11], [0, 3, 5, 7, 8, 10], [0, 3, 5, 7, 8, 11], [0, 3, 5, 7, 10, 11], [0, 3, 5, 8, 10, 11], [0, 3, 6, 7, 8, 9], [0, 3, 6, 7, 8, 10], [0, 3, 6, 7, 8, 11], [0, 3, 6, 7, 9, 10], [0, 3, 6, 7, 9, 11], [0, 3, 6, 8, 9, 10], [0, 3, 6, 8, 10, 11], [0, 3, 6, 9, 10, 11], [0, 3, 7, 8, 9, 10], [0, 3, 7, 8, 9, 11], [0, 3, 7, 8, 10, 11], [0, 3, 7, 9, 10, 11], [0, 3, 8, 9, 10, 11], [0, 4, 5, 6, 7, 8], [0, 4, 5, 6, 7, 9], [0, 4, 5, 6, 7, 10], [0, 4, 5, 6, 8, 9], [0, 4, 5, 6, 8, 10], [0, 4, 5, 6, 8, 11], [0, 4, 5, 6, 9, 11], [0, 4, 5, 6, 10, 11], [0, 4, 5, 7, 8, 9], [0, 4, 5, 7, 8, 10], [0, 4, 5, 7, 8, 11], [0, 4, 5, 7, 9, 11], [0, 4, 5, 7, 10, 11], [0, 4, 5, 8, 9, 11], [0, 4, 5, 8, 10, 11], [0, 4, 6, 7, 8, 10], [0, 4, 6, 7, 9, 10], [0, 4, 6, 8, 9, 10], [0, 4, 6, 8, 10, 11], [0, 4, 6, 9, 10, 11], [0, 4, 7, 8, 9, 10], [0, 4, 7, 8, 10, 11], [0, 4, 7, 9, 10, 11], [0, 4, 8, 9, 10, 11], [0, 5, 6, 7, 8, 9], [0, 5, 6, 7, 8, 11], [0, 5, 6, 7, 9, 10], [0, 5, 6, 7, 9, 11], [0, 5, 6, 7, 10, 11], [0, 5, 6, 8, 9, 10], [0, 5, 6, 8, 10, 11], [0, 5, 6, 9, 10, 11], [0, 5, 7, 8, 9, 10], [0, 5, 7, 8, 9, 11], [0, 5, 7, 8, 10, 11], [0, 5, 7, 9, 10, 11], [0, 5, 8, 9, 10, 11], [0, 6, 7, 8, 9, 10], [0, 6, 7, 8, 10, 11], [0, 6, 7, 9, 10, 11], [0, 7, 8, 9, 10, 11], [1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 9], [1, 2, 3, 4, 5, 10], [1, 2, 3, 4, 5, 11], [1, 2, 3, 4, 6, 7], [1, 2, 3, 4, 6, 8], [1, 2, 3, 4, 6, 9], [1, 2, 3, 4, 6, 10], [1, 2, 3, 4, 6, 11], [1, 2, 3, 4, 7, 9], [1, 2, 3, 4, 7, 10], [1, 2, 3, 4, 7, 11], [1, 2, 3, 4, 8, 9], [1, 2, 3, 4, 8, 10], [1, 2, 3, 4, 8, 11], [1, 2, 3, 4, 9, 10], [1, 2, 3, 4, 10, 11], [1, 2, 3, 5, 6, 9], [1, 2, 3, 5, 6, 10], [1, 2, 3, 5, 6, 11], [1, 2, 3, 5, 9, 10], [1, 2, 3, 5, 9, 11], [1, 2, 3, 6, 7, 9], [1, 2, 3, 6, 7, 10], [1, 2, 3, 6, 7, 11], [1, 2, 3, 6, 8, 9], [1, 2, 3, 6, 8, 10], [1, 2, 3, 6, 8, 11], [1, 2, 3, 6, 9, 11], [1, 2, 3, 6, 10, 11], [1, 2, 3, 7, 9, 10], [1, 2, 3, 7, 9, 11], [1, 2, 3, 8, 9, 10], [1, 2, 3, 8, 9, 11], [1, 2, 3, 9, 10, 11], [1, 2, 4, 5, 6, 8], [1, 2, 4, 5, 6, 9], [1, 2, 4, 5, 6, 10], [1, 2, 4, 5, 8, 9], [1, 2, 4, 5, 8, 10], [1, 2, 4, 5, 8, 11], [1, 2, 4, 5, 9, 10], [1, 2, 4, 5, 9, 11], [1, 2, 4, 5, 10, 11], [1, 2, 4, 6, 7, 8], [1, 2, 4, 6, 7, 9], [1, 2, 4, 6, 7, 10], [1, 2, 4, 6, 8, 9], [1, 2, 4, 6, 8, 10], [1, 2, 4, 6, 8, 11], [1, 2, 4, 6, 9, 11], [1, 2, 4, 6, 10, 11], [1, 2, 4, 7, 8, 9], [1, 2, 4, 7, 8, 10], [1, 2, 4, 7, 8, 11], [1, 2, 4, 7, 9, 10], [1, 2, 4, 7, 9, 11], [1, 2, 4, 7, 10, 11], [1, 2, 4, 8, 9, 10], [1, 2, 4, 8, 9, 11], [1, 2, 4, 9, 10, 11], [1, 2, 5, 6, 8, 9], [1, 2, 5, 6, 8, 10], [1, 2, 5, 6, 8, 11], [1, 2, 5, 6, 9, 11], [1, 2, 5, 6, 10, 11], [1, 2, 5, 8, 9, 10], [1, 2, 5, 8, 9, 11], [1, 2, 5, 9, 10, 11], [1, 2, 6, 7, 8, 9], [1, 2, 6, 7, 8, 10], [1, 2, 6, 7, 8, 11], [1, 2, 6, 7, 9, 11], [1, 2, 6, 7, 10, 11], [1, 2, 7, 8, 9, 10], [1, 2, 7, 8, 9, 11], [1, 2, 7, 9, 10, 11], [1, 3, 4, 5, 6, 7], [1, 3, 4, 5, 6, 8], [1, 3, 4, 5, 6, 11], [1, 3, 4, 5, 7, 9], [1, 3, 4, 5, 7, 10], [1, 3, 4, 5, 7, 11], [1, 3, 4, 5, 8, 9], [1, 3, 4, 5, 8, 10], [1, 3, 4, 5, 8, 11], [1, 3, 4, 5, 9, 11], [1, 3, 4, 5, 10, 11], [1, 3, 4, 6, 7, 8], [1, 3, 4, 6, 7, 9], [1, 3, 4, 6, 7, 10], [1, 3, 4, 6, 8, 9], [1, 3, 4, 6, 8, 10], [1, 3, 4, 6, 8, 11], [1, 3, 4, 6, 9, 11], [1, 3, 4, 6, 10, 11], [1, 3, 4, 7, 8, 9], [1, 3, 4, 7, 8, 10], [1, 3, 4, 7, 8, 11], [1, 3, 4, 7, 9, 10], [1, 3, 4, 7, 9, 11], [1, 3, 4, 7, 10, 11], [1, 3, 4, 8, 9, 10], [1, 3, 4, 8, 9, 11], [1, 3, 4, 9, 10, 11], [1, 3, 5, 6, 7, 9], [1, 3, 5, 6, 7, 10], [1, 3, 5, 6, 7, 11], [1, 3, 5, 6, 8, 9], [1, 3, 5, 6, 8, 10], [1, 3, 5, 6, 8, 11], [1, 3, 5, 6, 9, 11], [1, 3, 5, 6, 10, 11], [1, 3, 5, 7, 9, 10], [1, 3, 5, 7, 9, 11], [1, 3, 5, 8, 9, 10], [1, 3, 5, 8, 9, 11], [1, 3, 5, 9, 10, 11], [1, 3, 6, 7, 8, 9], [1, 3, 6, 7, 8, 10], [1, 3, 6, 7, 8, 11], [1, 3, 6, 7, 9, 11], [1, 3, 6, 7, 10, 11], [1, 3, 7, 8, 9, 10], [1, 3, 7, 8, 9, 11], [1, 3, 7, 9, 10, 11], [1, 4, 5, 6, 7, 8], [1, 4, 5, 6, 7, 9], [1, 4, 5, 6, 7, 10], [1, 4, 5, 6, 8, 9], [1, 4, 5, 6, 8, 10], [1, 4, 5, 6, 8, 11], [1, 4, 5, 6, 9, 11], [1, 4, 5, 6, 10, 11], [1, 4, 5, 7, 8, 9], [1, 4, 5, 7, 8, 10], [1, 4, 5, 7, 8, 11], [1, 4, 5, 7, 9, 10], [1, 4, 5, 7, 9, 11], [1, 4, 5, 7, 10, 11], [1, 4, 5, 8, 9, 10], [1, 4, 5, 8, 9, 11], [1, 4, 5, 9, 10, 11], [1, 5, 6, 7, 8, 9], [1, 5, 6, 7, 8, 10], [1, 5, 6, 7, 8, 11], [1, 5, 6, 7, 9, 11], [1, 5, 6, 7, 10, 11], [1, 5, 7, 8, 9, 10], [1, 5, 7, 8, 9, 11], [1, 5, 7, 9, 10, 11], [2, 3, 4, 5, 6, 7], [2, 3, 4, 5, 6, 9], [2, 3, 4, 5, 6, 10], [2, 3, 4, 5, 6, 11], [2, 3, 4, 5, 7, 9], [2, 3, 4, 5, 7, 10], [2, 3, 4, 5, 7, 11], [2, 3, 4, 5, 9, 11], [2, 3, 4, 5, 10, 11], [2, 3, 4, 6, 7, 8], [2, 3, 4, 6, 7, 9], [2, 3, 4, 6, 8, 9], [2, 3, 4, 6, 8, 10], [2, 3, 4, 6, 8, 11], [2, 3, 4, 6, 9, 10], [2, 3, 4, 6, 9, 11], [2, 3, 4, 7, 8, 9], [2, 3, 4, 7, 8, 10], [2, 3, 4, 7, 8, 11], [2, 3, 4, 7, 9, 10], [2, 3, 4, 7, 9, 11], [2, 3, 4, 8, 9, 11], [2, 3, 4, 8, 10, 11], [2, 3, 4, 9, 10, 11], [2, 3, 5, 6, 7, 9], [2, 3, 5, 6, 7, 10], [2, 3, 5, 6, 7, 11], [2, 3, 5, 6, 9, 10], [2, 3, 5, 6, 10, 11], [2, 3, 5, 7, 9, 10], [2, 3, 5, 7, 9, 11], [2, 3, 5, 9, 10, 11], [2, 3, 6, 7, 8, 9], [2, 3, 6, 7, 8, 10], [2, 3, 6, 7, 8, 11], [2, 3, 6, 7, 9, 10], [2, 3, 6, 7, 9, 11], [2, 3, 6, 8, 9, 10], [2, 3, 6, 8, 10, 11], [2, 3, 6, 9, 10, 11], [2, 3, 7, 8, 9, 10], [2, 3, 7, 8, 9, 11], [2, 3, 8, 9, 10, 11], [2, 4, 5, 6, 7, 8], [2, 4, 5, 6, 7, 9], [2, 4, 5, 6, 7, 10], [2, 4, 5, 6, 8, 9], [2, 4, 5, 6, 8, 10], [2, 4, 5, 6, 8, 11], [2, 4, 5, 6, 9, 10], [2, 4, 5, 6, 9, 11], [2, 4, 5, 6, 10, 11], [2, 4, 5, 7, 8, 9], [2, 4, 5, 7, 8, 10], [2, 4, 5, 7, 8, 11], [2, 4, 5, 7, 9, 10], [2, 4, 5, 7, 9, 11], [2, 4, 5, 7, 10, 11], [2, 4, 5, 8, 9, 11], [2, 4, 5, 8, 10, 11], [2, 4, 5, 9, 10, 11], [2, 4, 6, 7, 8, 10], [2, 4, 6, 7, 9, 10], [2, 4, 6, 8, 9, 10], [2, 4, 6, 8, 10, 11], [2, 4, 6, 9, 10, 11], [2, 4, 7, 8, 9, 10], [2, 4, 7, 8, 10, 11], [2, 4, 7, 9, 10, 11], [2, 4, 8, 9, 10, 11], [2, 5, 6, 7, 8, 9], [2, 5, 6, 7, 8, 10], [2, 5, 6, 7, 8, 11], [2, 5, 6, 7, 9, 11], [2, 5, 6, 7, 10, 11], [2, 5, 6, 8, 9, 10], [2, 5, 6, 8, 10, 11], [2, 5, 6, 9, 10, 11], [2, 5, 7, 8, 9, 10], [2, 5, 7, 8, 9, 11], [2, 5, 7, 9, 10, 11], [2, 5, 8, 9, 10, 11], [2, 6, 7, 8, 9, 10], [2, 6, 7, 8, 10, 11], [2, 6, 7, 9, 10, 11], [2, 7, 8, 9, 10, 11], [3, 4, 5, 6, 7, 8], [3, 4, 5, 6, 7, 9], [3, 4, 5, 6, 7, 10], [3, 4, 5, 6, 8, 9], [3, 4, 5, 6, 8, 10], [3, 4, 5, 6, 8, 11], [3, 4, 5, 6, 9, 11], [3, 4, 5, 6, 10, 11], [3, 4, 5, 7, 8, 9], [3, 4, 5, 7, 8, 10], [3, 4, 5, 7, 8, 11], [3, 4, 5, 7, 9, 11], [3, 4, 5, 7, 10, 11], [3, 4, 5, 8, 9, 11], [3, 4, 5, 8, 10, 11], [3, 4, 6, 7, 8, 10], [3, 4, 6, 7, 9, 10], [3, 4, 6, 8, 9, 10], [3, 4, 6, 8, 10, 11], [3, 4, 6, 9, 10, 11], [3, 4, 7, 8, 9, 10], [3, 4, 7, 8, 10, 11], [3, 4, 7, 9, 10, 11], [3, 4, 8, 9, 10, 11], [3, 5, 6, 7, 8, 9], [3, 5, 6, 7, 8, 10], [3, 5, 6, 7, 8, 11], [3, 5, 6, 7, 9, 10], [3, 5, 6, 7, 9, 11], [3, 5, 6, 7, 10, 11], [3, 5, 6, 8, 9, 10], [3, 5, 6, 8, 10, 11], [3, 5, 6, 9, 10, 11], [3, 5, 7, 8, 9, 10], [3, 5, 7, 8, 9, 11], [3, 5, 7, 9, 10, 11], [3, 5, 8, 9, 10, 11], [3, 6, 7, 8, 9, 10], [3, 6, 7, 8, 10, 11], [3, 6, 7, 9, 10, 11], [3, 7, 8, 9, 10, 11], [4, 5, 6, 7, 8, 10], [4, 5, 6, 7, 9, 10], [4, 5, 6, 8, 9, 10], [4, 5, 6, 8, 10, 11], [4, 5, 6, 9, 10, 11], [4, 5, 7, 8, 9, 10], [4, 5, 7, 8, 10, 11], [4, 5, 7, 9, 10, 11], [4, 5, 8, 9, 10, 11], [5, 6, 7, 8, 9, 10], [5, 6, 7, 8, 10, 11], [5, 6, 7, 9, 10, 11], [5, 7, 8, 9, 10, 11]],
N_ELEMENTS=>12,
RANK=>6);
$m->name="N2 matroid";
$m->description="An excluded minor for the dyadic matroids";
return $m;
}
# @category Producing a matroid from scratch
# The complement of the rank-3 whirl in PG(2,3).
# Non binary. Algebraic over all fields.
# @return Matroid
user_function o7_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2], [0, 1, 3], [0, 1, 5], [0, 2, 4], [0, 2, 5], [0, 2, 6], [0, 3, 4], [0, 3, 5], [0, 3, 6], [0, 4, 5], [0, 5, 6], [1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 2, 6], [1, 3, 4], [1, 3, 6], [1, 4, 5], [1, 5, 6], [2, 3, 4], [2, 3, 5], [2, 3, 6], [2, 4, 5], [2, 4, 6], [3, 4, 5], [3, 4, 6], [3, 5, 6], [4, 5, 6]],
N_ELEMENTS=>7,
RANK=>3);
$m->name="O7 matroid";
$m->description="The complement of the rank-3 whirl in PG(2,3)";
return $m;
}
# @category Producing a matroid from scratch
# Configuration of all points in the affine 3-space AG(3,2) or the binary affine cube.
# @return Matroid
user_function ag32_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 2, 7], [0, 1, 3, 4], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 3, 7], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 5, 6], [0, 1, 5, 7], [0, 2, 3, 4], [0, 2, 3, 5], [0, 2, 3, 6], [0, 2, 3, 7], [0, 2, 4, 5], [0, 2, 4, 6], [0, 2, 5, 7], [0, 2, 6, 7], [0, 3, 4, 5], [0, 3, 4, 7], [0, 3, 5, 6], [0, 3, 6, 7], [0, 4, 5, 6], [0, 4, 5, 7], [0, 4, 6, 7], [0, 5, 6, 7], [1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 6], [1, 2, 3, 7], [1, 2, 4, 5], [1, 2, 4, 7], [1, 2, 5, 6], [1, 2, 6, 7], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 5, 7], [1, 3, 6, 7], [1, 4, 5, 6], [1, 4, 5, 7], [1, 4, 6, 7], [1, 5, 6, 7], [2, 3, 4, 6], [2, 3, 4, 7], [2, 3, 5, 6], [2, 3, 5, 7], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 6, 7], [2, 5, 6, 7], [3, 4, 5, 6], [3, 4, 5, 7], [3, 4, 6, 7], [3, 5, 6, 7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="AG(3,2)";
$m->description="Configuration of all points in the affine 3-space AG(3,2)";
return $m;
}
# @category Producing a matroid from scratch
# The unique relaxation of [[ag32_matroid]].
# @return Matroid
user_function ag32_prime_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3], [0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 3, 7], [0, 1, 4, 5], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 5, 7], [0, 1, 6, 7], [0, 2, 3, 4], [0, 2, 3, 6], [0, 2, 3, 7], [0, 2, 4, 5], [0, 2, 4, 7], [0, 2, 5, 6], [0, 2, 5, 7], [0, 2, 6, 7], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 4, 7], [0, 3, 5, 6], [0, 3, 5, 7], [0, 4, 5, 6], [0, 4, 6, 7], [0, 5, 6, 7], [1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 7], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 5, 6], [1, 2, 5, 7], [1, 2, 6, 7], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 4, 7], [1, 3, 5, 6], [1, 3, 5, 7], [1, 3, 6, 7], [1, 4, 5, 6], [1, 4, 5, 7], [1, 5, 6, 7], [2, 3, 4, 5], [2, 3, 4, 6], [2, 3, 5, 6], [2, 3, 5, 7], [2, 3, 6, 7], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 6, 7], [3, 4, 5, 7], [3, 4, 6, 7], [3, 5, 6, 7], [4, 5, 6, 7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="AG(3,2)'";
$m->description="The unique relaxation of AG(3,2)";
return $m;
}
# @category Producing a matroid from scratch
# The real affine cube.
# @return Matroid
user_function r8_matroid() {
my $m = new Matroid(VECTORS=> [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1],[-1,1,1,1],[1,-1,1,1],[1,1,-1,1],[1,1,1,-1]]);
$m->name="R8 matroid";
$m->description="The real affine cube";
return $m;
}
# @category Producing a matroid from scratch
# A minimal non-representable matroid.
# Non-algebraic.
# @return Matroid
user_function f8_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3], [0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 3, 7], [0, 1, 4, 5], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 5, 7], [0, 1, 6, 7], [0, 2, 3, 4], [0, 2, 3, 6], [0, 2, 3, 7], [0, 2, 4, 5], [0, 2, 4, 7], [0, 2, 5, 6], [0, 2, 5, 7], [0, 2, 6, 7], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 4, 7], [0, 3, 5, 6], [0, 3, 5, 7], [0, 4, 5, 6], [0, 4, 6, 7], [0, 5, 6, 7], [1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 7], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 5, 6], [1, 2, 5, 7], [1, 2, 6, 7], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 4, 7], [1, 3, 5, 6], [1, 3, 5, 7], [1, 3, 6, 7], [1, 4, 5, 6], [1, 4, 5, 7], [1, 4, 6, 7], [1, 5, 6, 7], [2, 3, 4, 5], [2, 3, 4, 6], [2, 3, 5, 6], [2, 3, 5, 7], [2, 3, 6, 7], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 6, 7], [3, 4, 5, 7], [3, 4, 6, 7], [3, 5, 6, 7], [4, 5, 6, 7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="F8 matroid";
$m->description="A minimal non-representable matroid. Not algebraic.";
return $m;
}
# @category Producing a matroid from scratch
# A minimal non-representable matroid.
# An excluded minor for fields that are not of characteristic 2 or have 3 elements. Non-algebraic.
# @return Matroid
user_function q8_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3], [0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 3, 7], [0, 1, 4, 5], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 5, 7], [0, 1, 6, 7], [0, 2, 3, 4], [0, 2, 3, 6], [0, 2, 3, 7], [0, 2, 4, 5], [0, 2, 4, 6], [0, 2, 4, 7], [0, 2, 5, 6], [0, 2, 5, 7], [0, 2, 6, 7], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 4, 7], [0, 3, 5, 6], [0, 3, 5, 7], [0, 4, 5, 6], [0, 4, 6, 7], [0, 5, 6, 7], [1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 7], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 5, 6], [1, 2, 5, 7], [1, 2, 6, 7], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 4, 7], [1, 3, 5, 6], [1, 3, 5, 7], [1, 3, 6, 7], [1, 4, 5, 6], [1, 4, 5, 7], [1, 4, 6, 7], [1, 5, 6, 7], [2, 3, 4, 5], [2, 3, 4, 6], [2, 3, 5, 6], [2, 3, 5, 7], [2, 3, 6, 7], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 6, 7], [3, 4, 5, 7], [3, 4, 6, 7], [3, 5, 6, 7], [4, 5, 6, 7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="Q8 matroid";
$m->description="A minimal non-representable matroid. An excluded minor for fields that are not of characteristic 2 or have 3 elements. Non-algebraic.";
return $m;
}
# @category Producing a matroid from scratch
# Representable if and only if the field has characteristic 3.
# An excluded minor for fields that are not of characteristic 2 or 3.
# @return Matroid
user_function t8_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3], [0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 3, 4], [0, 1, 3, 5], [0, 1, 3, 7], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 5, 6], [0, 1, 5, 7], [0, 1, 6, 7], [0, 2, 3, 4], [0, 2, 3, 6], [0, 2, 3, 7], [0, 2, 4, 5], [0, 2, 4, 7], [0, 2, 5, 6], [0, 2, 5, 7], [0, 2, 6, 7], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 5, 6], [0, 3, 5, 7], [0, 3, 6, 7], [0, 4, 5, 6], [0, 4, 5, 7], [0, 4, 6, 7], [0, 5, 6, 7], [1, 2, 3, 5], [1, 2, 3, 6], [1, 2, 3, 7], [1, 2, 4, 5], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 5, 7], [1, 2, 6, 7], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 4, 7], [1, 3, 5, 6], [1, 3, 6, 7], [1, 4, 5, 6], [1, 4, 5, 7], [1, 4, 6, 7], [1, 5, 6, 7], [2, 3, 4, 5], [2, 3, 4, 6], [2, 3, 4, 7], [2, 3, 5, 6], [2, 3, 5, 7], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 6, 7], [2, 5, 6, 7], [3, 4, 5, 6], [3, 4, 5, 7], [3, 4, 6, 7], [3, 5, 6, 7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="T8 matroid";
$m->description="Representable if and only if the field has characteristic 3. An excluded minor for fields that are not of characteristic 2 or 3.";
return $m;
}
# @category Producing a matroid from scratch
# The rank-4 wheel.
# @return Matroid
user_function wheel4_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3], [0, 1, 2, 6], [0, 1, 2, 7], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 5, 6], [0, 1, 5, 7], [0, 1, 6, 7], [0, 2, 3, 4], [0, 2, 3, 5], [0, 2, 4, 6], [0, 2, 4, 7], [0, 2, 5, 6], [0, 2, 5, 7], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 5, 6], [0, 4, 5, 6], [0, 4, 5, 7], [0, 4, 6, 7], [0, 5, 6, 7], [1, 2, 3, 4], [1, 2, 3, 7], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 6, 7], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 5, 7], [1, 3, 6, 7], [1, 4, 5, 6], [1, 4, 5, 7], [1, 4, 6, 7], [1, 5, 6, 7], [2, 3, 4, 5], [2, 3, 4, 7], [2, 3, 5, 7], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 6, 7], [2, 5, 6, 7], [3, 4, 5, 6], [3, 4, 5, 7], [3, 4, 6, 7], [3, 5, 6, 7]],
N_ELEMENTS=>8,
RANK=>4);
$m->name="Wheel(4) matroid";
$m->description="The rank-4 wheel";
return $m;
}
# @category Producing a matroid from scratch
# Configuration of the 9 points in the affine plane AG(2,3).
# @return Matroid
user_function ag23_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2], [0, 1, 3], [0, 1, 4], [0, 1, 5], [0, 1, 6], [0, 1, 7], [0, 2, 3], [0, 2, 5], [0, 2, 6], [0, 2, 7], [0, 2, 8], [0, 3, 4], [0, 3, 5], [0, 3, 7], [0, 3, 8], [0, 4, 5], [0, 4, 6], [0, 4, 7], [0, 4, 8], [0, 5, 6], [0, 5, 8], [0, 6, 7], [0, 6, 8], [0, 7, 8], [1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 2, 6], [1, 2, 8], [1, 3, 4], [1, 3, 6], [1, 3, 7], [1, 3, 8], [1, 4, 5], [1, 4, 7], [1, 4, 8], [1, 5, 6], [1, 5, 7], [1, 5, 8], [1, 6, 7], [1, 6, 8], [1, 7, 8], [2, 3, 4], [2, 3, 5], [2, 3, 6], [2, 3, 7], [2, 4, 5], [2, 4, 6], [2, 4, 7], [2, 4, 8], [2, 5, 7], [2, 5, 8], [2, 6, 7], [2, 6, 8], [2, 7, 8], [3, 4, 5], [3, 4, 6], [3, 4, 8], [3, 5, 6], [3, 5, 7], [3, 5, 8], [3, 6, 7], [3, 6, 8], [3, 7, 8], [4, 5, 6], [4, 5, 7], [4, 6, 7], [4, 6, 8], [4, 7, 8], [5, 6, 7], [5, 6, 8], [5, 7, 8]],
N_ELEMENTS=>9,
RANK=>3);
$m->name="AG(2,3)";
$m->description="Configuration of the 9 points in the affine plane AG(2,3)";
return $m;
}
# @category Producing a matroid from scratch
# The rank-3-ternary Dowling Geometry.
# Representable if and only if the field has not characteristic 2.
# @return Matroid
user_function q3_gf3_star_matroid() {
my $m = new Matroid(VECTORS=> transpose(new Matrix([[1,-1,1,1,0,0,1,1,0],[0,0,2,0,0,1,1,1,1],[1,1,1,0,1,1,0,1,0]])));
$m->name="Q3(GF(3)*)";
$m->description="The rank-3-ternary Dowling Geometry";
return $m;
}
# @category Producing a matroid from scratch
# Not representable over any field.
# Taken from http://doc.sagemath.org/html/en/reference/matroids/sage/matroids/catalog.html
# @return Matroid
user_function r9a_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3], [0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 2, 8], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 3, 7], [0, 1, 3, 8], [0, 1, 4, 5], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 4, 8], [0, 1, 5, 6], [0, 1, 5, 7], [0, 1, 6, 7], [0, 1, 6, 8], [0, 1, 7, 8], [0, 2, 3, 4], [0, 2, 3, 5], [0, 2, 3, 6], [0, 2, 3, 7], [0, 2, 4, 5], [0, 2, 4, 7], [0, 2, 4, 8], [0, 2, 5, 6], [0, 2, 5, 7], [0, 2, 5, 8], [0, 2, 6, 7], [0, 2, 6, 8], [0, 2, 7, 8], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 4, 7], [0, 3, 4, 8], [0, 3, 5, 6], [0, 3, 5, 7], [0, 3, 5, 8], [0, 3, 6, 8], [0, 3, 7, 8], [0, 4, 5, 6], [0, 4, 5, 8], [0, 4, 6, 7], [0, 4, 6, 8], [0, 4, 7, 8], [0, 5, 6, 7], [0, 5, 6, 8], [0, 5, 7, 8], [0, 6, 7, 8], [1, 2, 3, 4], [1, 2, 3, 6], [1, 2, 3, 7], [1, 2, 3, 8], [1, 2, 4, 5], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 4, 8], [1, 2, 5, 6], [1, 2, 5, 7], [1, 2, 5, 8], [1, 2, 6, 7], [1, 2, 6, 8], [1, 2, 7, 8], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 4, 7], [1, 3, 4, 8], [1, 3, 5, 6], [1, 3, 5, 7], [1, 3, 5, 8], [1, 3, 6, 7], [1, 3, 6, 8], [1, 4, 5, 6], [1, 4, 5, 7], [1, 4, 5, 8], [1, 4, 6, 7], [1, 4, 7, 8], [1, 5, 6, 7], [1, 5, 6, 8], [1, 5, 7, 8], [1, 6, 7, 8], [2, 3, 4, 5], [2, 3, 4, 6], [2, 3, 4, 7], [2, 3, 4, 8], [2, 3, 5, 6], [2, 3, 5, 7], [2, 3, 5, 8], [2, 3, 6, 7], [2, 3, 6, 8], [2, 3, 7, 8], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 5, 8], [2, 4, 6, 7], [2, 4, 6, 8], [2, 5, 6, 7], [2, 5, 6, 8], [2, 5, 7, 8], [2, 6, 7, 8], [3, 4, 5, 6], [3, 4, 5, 7], [3, 4, 6, 7], [3, 4, 6, 8], [3, 4, 7, 8], [3, 5, 6, 7], [3, 5, 6, 8], [3, 5, 7, 8], [3, 6, 7, 8], [4, 5, 6, 7], [4, 5, 6, 8], [4, 5, 7, 8], [4, 6, 7, 8]],
N_ELEMENTS=>9,
RANK=>4);
$m->name="R9_a";
$m->description="Not representable over any field. Taken from http://doc.sagemath.org/html/en/reference/matroids/sage/matroids/catalog.html";
return $m;
}
# @category Producing a matroid from scratch
# Not representable over any field.
# Taken from http://doc.sagemath.org/html/en/reference/matroids/sage/matroids/catalog.html
# @return Matroid
user_function r9b_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 2, 3], [0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 2, 8], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 3, 7], [0, 1, 3, 8], [0, 1, 4, 5], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 4, 8], [0, 1, 5, 6], [0, 1, 5, 7], [0, 1, 5, 8], [0, 1, 6, 7], [0, 1, 7, 8], [0, 2, 3, 4], [0, 2, 3, 5], [0, 2, 3, 6], [0, 2, 3, 7], [0, 2, 3, 8], [0, 2, 4, 5], [0, 2, 4, 7], [0, 2, 4, 8], [0, 2, 5, 6], [0, 2, 5, 7], [0, 2, 5, 8], [0, 2, 6, 7], [0, 2, 6, 8], [0, 2, 7, 8], [0, 3, 4, 5], [0, 3, 4, 6], [0, 3, 4, 7], [0, 3, 4, 8], [0, 3, 5, 6], [0, 3, 5, 7], [0, 3, 6, 7], [0, 3, 6, 8], [0, 3, 7, 8], [0, 4, 5, 6], [0, 4, 5, 7], [0, 4, 5, 8], [0, 4, 6, 7], [0, 4, 6, 8], [0, 5, 6, 7], [0, 5, 6, 8], [0, 5, 7, 8], [0, 6, 7, 8], [1, 2, 3, 4], [1, 2, 3, 6], [1, 2, 3, 7], [1, 2, 3, 8], [1, 2, 4, 5], [1, 2, 4, 6], [1, 2, 4, 7], [1, 2, 5, 6], [1, 2, 5, 7], [1, 2, 5, 8], [1, 2, 6, 7], [1, 2, 6, 8], [1, 2, 7, 8], [1, 3, 4, 5], [1, 3, 4, 6], [1, 3, 4, 7], [1, 3, 4, 8], [1, 3, 5, 6], [1, 3, 5, 7], [1, 3, 5, 8], [1, 3, 6, 7], [1, 3, 6, 8], [1, 4, 5, 6], [1, 4, 5, 8], [1, 4, 6, 7], [1, 4, 6, 8], [1, 4, 7, 8], [1, 5, 6, 7], [1, 5, 6, 8], [1, 5, 7, 8], [1, 6, 7, 8], [2, 3, 4, 5], [2, 3, 4, 6], [2, 3, 4, 7], [2, 3, 4, 8], [2, 3, 5, 6], [2, 3, 5, 7], [2, 3, 5, 8], [2, 3, 6, 8], [2, 3, 7, 8], [2, 4, 5, 6], [2, 4, 5, 7], [2, 4, 5, 8], [2, 4, 6, 7], [2, 4, 6, 8], [2, 4, 7, 8], [2, 5, 6, 7], [2, 5, 6, 8], [2, 5, 7, 8], [2, 6, 7, 8], [3, 4, 5, 6], [3, 4, 5, 7], [3, 4, 5, 8], [3, 4, 6, 7], [3, 4, 7, 8], [3, 5, 6, 7], [3, 5, 6, 8], [3, 5, 7, 8], [3, 6, 7, 8], [4, 5, 6, 7], [4, 5, 6, 8], [4, 5, 7, 8], [4, 6, 7, 8]],
N_ELEMENTS=>9,
RANK=>4);
$m->name="R9_b";
$m->description="Not representable over any field. Taken from http://doc.sagemath.org/html/en/reference/matroids/sage/matroids/catalog.html";
return $m;
}
# @category Producing a matroid from scratch
# Configuration of the 13 points in the projective plane PG(2,3).
# @return Matroid
user_function pg23_matroid() {
my $m = new Matroid(BASES=>[[0, 1, 3], [0, 1, 4], [0, 1, 5], [0, 1, 6], [0, 1, 7], [0, 1, 8], [0, 1, 9], [0, 1, 10], [0, 1, 11], [0, 2, 3], [0, 2, 4], [0, 2, 5], [0, 2, 6], [0, 2, 7], [0, 2, 8], [0, 2, 9], [0, 2, 10], [0, 2, 11], [0, 3, 4], [0, 3, 5], [0, 3, 7], [0, 3, 8], [0, 3, 10], [0, 3, 11], [0, 3, 12], [0, 4, 5], [0, 4, 6], [0, 4, 7], [0, 4, 9], [0, 4, 11], [0, 4, 12], [0, 5, 6], [0, 5, 8], [0, 5, 9], [0, 5, 10], [0, 5, 12], [0, 6, 7], [0, 6, 8], [0, 6, 10], [0, 6, 11], [0, 6, 12], [0, 7, 8], [0, 7, 9], [0, 7, 10], [0, 7, 12], [0, 8, 9], [0, 8, 11], [0, 8, 12], [0, 9, 10], [0, 9, 11], [0, 9, 12], [0, 10, 11], [0, 10, 12], [0, 11, 12], [1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 2, 6], [1, 2, 7], [1, 2, 8], [1, 2, 9], [1, 2, 10], [1, 2, 11], [1, 3, 4], [1, 3, 5], [1, 3, 6], [1, 3, 7], [1, 3, 9], [1, 3, 10], [1, 3, 12], [1, 4, 5], [1, 4, 6], [1, 4, 8], [1, 4, 10], [1, 4, 11], [1, 4, 12], [1, 5, 7], [1, 5, 8], [1, 5, 9], [1, 5, 11], [1, 5, 12], [1, 6, 7], [1, 6, 8], [1, 6, 9], [1, 6, 11], [1, 6, 12], [1, 7, 8], [1, 7, 10], [1, 7, 11], [1, 7, 12], [1, 8, 9], [1, 8, 10], [1, 8, 12], [1, 9, 10], [1, 9, 11], [1, 9, 12], [1, 10, 11], [1, 10, 12], [1, 11, 12], [2, 3, 4], [2, 3, 5], [2, 3, 6], [2, 3, 8], [2, 3, 9], [2, 3, 11], [2, 3, 12], [2, 4, 5], [2, 4, 7], [2, 4, 8], [2, 4, 9], [2, 4, 10], [2, 4, 12], [2, 5, 6], [2, 5, 7], [2, 5, 10], [2, 5, 11], [2, 5, 12], [2, 6, 7], [2, 6, 8], [2, 6, 9], [2, 6, 10], [2, 6, 12], [2, 7, 8], [2, 7, 9], [2, 7, 11], [2, 7, 12], [2, 8, 10], [2, 8, 11], [2, 8, 12], [2, 9, 10], [2, 9, 11], [2, 9, 12], [2, 10, 11], [2, 10, 12], [2, 11, 12], [3, 4, 6], [3, 4, 7], [3, 4, 8], [3, 4, 9], [3, 4, 10], [3, 4, 11], [3, 5, 6], [3, 5, 7], [3, 5, 8], [3, 5, 9], [3, 5, 10], [3, 5, 11], [3, 6, 7], [3, 6, 8], [3, 6, 10], [3, 6, 11], [3, 6, 12], [3, 7, 8], [3, 7, 9], [3, 7, 11], [3, 7, 12], [3, 8, 9], [3, 8, 10], [3, 8, 12], [3, 9, 10], [3, 9, 11], [3, 9, 12], [3, 10, 11], [3, 10, 12], [3, 11, 12], [4, 5, 6], [4, 5, 7], [4, 5, 8], [4, 5, 9], [4, 5, 10], [4, 5, 11], [4, 6, 7], [4, 6, 8], [4, 6, 9], [4, 6, 10], [4, 6, 12], [4, 7, 8], [4, 7, 10], [4, 7, 11], [4, 7, 12], [4, 8, 9], [4, 8, 11], [4, 8, 12], [4, 9, 10], [4, 9, 11], [4, 9, 12], [4, 10, 11], [4, 10, 12], [4, 11, 12], [5, 6, 7], [5, 6, 8], [5, 6, 9], [5, 6, 11], [5, 6, 12], [5, 7, 8], [5, 7, 9], [5, 7, 10], [5, 7, 12], [5, 8, 10], [5, 8, 11], [5, 8, 12], [5, 9, 10], [5, 9, 11], [5, 9, 12], [5, 10, 11], [5, 10, 12], [5, 11, 12], [6, 7, 9], [6, 7, 10], [6, 7, 11], [6, 8, 9], [6, 8, 10], [6, 8, 11], [6, 9, 10], [6, 9, 11], [6, 9, 12], [6, 10, 11], [6, 10, 12], [6, 11, 12], [7, 8, 9], [7, 8, 10], [7, 8, 11], [7, 9, 10], [7, 9, 11], [7, 9, 12], [7, 10, 11], [7, 10, 12], [7, 11, 12], [8, 9, 10], [8, 9, 11], [8, 9, 12], [8, 10, 11], [8, 10, 12], [8, 11, 12]],
N_ELEMENTS=>13,
RANK=>3);
$m->name="PG(2,3)";
$m->description="Configuration of the 13 points in the projective plane PG(2,3)";
return $m;
}
# @category Producing a matroid from scratch
# Representable if and only if the field has not characteristic 2.
# The labeling of the elements is similar to those of the Fano matroid.
# @return Matroid
user_function non_fano_matroid() {
my $m = new Matroid(VECTORS=>[[1,1,1],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0]]);
$m->name="Non-Fano matroid";
$m->description="The embedding into the reals of the seven points that define the Fano matroid";
return $m;
}
# @category Producing a matroid from scratch
# Creates the Fano plane matroid of rank 3 with 7 elements.
# Representable over a field of characteristic two.
# The labeling of the elements corresponds to the binary encoding of 1,2,...,7 mod 7.
# @return Matroid
user_function fano_matroid() {
my $m = new Matroid(BINARY_VECTORS=>[[1,1,1],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0]],
BASES=>[[0,1,2],[0,1,3],[0,1,4],[0,1,5],[0,2,3],[0,2,4],[0,2,6],[0,3,5],[0,3,6],[0,4,5],[0,4,6],[0,5,6],[1,2,4],[1,2,5],[1,2,6],[1,3,4],[1,3,5],[1,3,6],[1,4,6],[1,5,6],[2,3,4],[2,3,5],[2,3,6],[2,4,5],[2,5,6],[3,4,5],[3,4,6],[4,5,6]],
N_ELEMENTS=>7,
RANK=>3);
$m->name="Fano matroid";
$m->description="The projective plane PG(2,2)";
return $m;
}
# @category Producing a matroid from scratch
# This function can be used to ask for various special matroids, most of which occur in Oxley's book
# [Oxley: Matroid theory (2nd ed.)]. There is a separate function for each of these matroids.
# @param String s The name of the matroid
# @value s 'ag23' Configuration of the 9 points in the affine plane AG(2,3).
# @value s 'ag32' Configuration of all points in the affine 3-space AG(3,2) or the binary affine cube.
# @value s 'ag32_prime' The unique relaxation of [[ag32_matroid]].
# @value s 'fano' The Fano matroid
# @value s 'f8' A minimal non-representable matroid. Also non-algebraic.
# @value s 'j' An excluded minor for some properties (see [Oxley:matroid theory (2nd ed.) page 650]). Not binary. Algebraic over all fields.
# @value s 'l8' The 4-point planes are the six faces of the cube an the two twisted plannes. Identically self-dual. Representable over all field with more then 4 elements and algebraic over all fields.
# @value s 'n1' An excluded minor for the dyadic matroids (see [Oxley:matroid theory (2nd ed.) page 558]).
# @value s 'n2' An excluded minor for the dyadic matroids (see [Oxley:matroid theory (2nd ed.) page 558]).
# @value s 'o7' The complement of the rank-3 whirl in PG(2,3). Non binary. Algebraic over all fields.
# @value s 'p7' The only other ternary 3-spike apart from the non-Fano matroid. Non binary. Algebraic over all fields.
# @value s 'p8' The repesentation over the reals is obtained from a 3-cube where one face is rotated by 45°. Non-representable if and only if the characeristic of the field is 2. Algebraic over all fields.
# @value s 'non_p8' Obtained from [[p8_matroid]] by relaxing its only pair of disjoint circuit-hyperplanes.
# @value s 'pappus' The Pappus matroid
# @value s 'non_pappus' The non-Pappus matroid
# @value s 'pg23' Configuration of the 13 points in the projective plane PG(2,3).
# @value s 'q3_gf3_star' The rank-3-ternary Dowling Geometry. Representable if and only if the field has not characteristic 2.
# @value s 'q8' A minimal non-representable matroid. An excluded minor for fields that are not of characteristic 2 or have 3 elements. Non-algebraic.
# @value s 'r8' The real affine cube.
# @value s 'r9a' Not representable over any field. Taken from http://doc.sagemath.org/html/en/reference/matroids/sage/matroids/catalog.html
# @value s 'r9b' Not representable over any field. Taken from http://doc.sagemath.org/html/en/reference/matroids/sage/matroids/catalog.html
# @value s 'r10' A regular matroid that's not graphical nor cographical. Algebraic over all fields.
# @value s 't8' Representable if and only if the field has characteristic 3. An excluded minor for fields that are not of characteristic 2 or 3.
# @value s 'vamos' The Vamos matroid
# @value s 'non_vamos' The non-Vamos matroid
# @value s 'wheel4' The 4-wheel
# @value s 'non_fano' The non-Fano matroid
user_function special_matroid {
my $s = shift;
return eval($s."_matroid()");
}
# Local Variables:
# mode: perl
# cperl-indent-level: 3
# indent-tabs-mode:nil
# End:
|