Goto Chapter: Top 1 2 3 Bib Ind

### 1 Generate low-rank matroids

#### 1.1 Rank 3 matroids

##### 1.1-1 GenerateMultiplicityVectorsOfRank3SplitMatroids
 ‣ GenerateMultiplicityVectorsOfRank3SplitMatroids( n ) ( function )

Returns: a list of listlists

Compute the list of multiplicity vectors of rank 3 split matroids with n atoms. The function understands the Boolean option balanced and if true computes only balanced multiplicity vectors.

##### 1.1-2 MinimalListOfCoatoms
 ‣ MinimalListOfCoatoms( matroid ) ( attribute )
 ‣ MinimalListOfCoatoms( n, coatoms ) ( operation )

Returns: a list of lists

Compute using the GAP package Images the minimal representative of the list of coatoms of the matroid on the atoms [ 1 .. n ].

##### 1.1-3 Rank3MatroidIterator
 ‣ Rank3MatroidIterator( n, mult_vec ) ( operation )

Returns: an iterator

Returns a recursive iterator riter of all rank 3 matroids with n atoms and given multiplicity vector mult_vec. The recursive iterator riter can for example be evaluated in hpcgap using

• ParallelyEvaluateRecursiveIterator( state, nr_workers, riter, channel_of_matroids );

where the user should pre-define:

• state := rec( );

• channel_of_matroids := CreateChannel(10^6);

The function understands the Boolean option balanced and if true computes only balanced matroids.

#@if IsHPCGAP
gap> mult_vec := [ [ 2, 8 ], [ 3, 9 ], [ 5, 2 ] ];;
gap> riter := Rank3MatroidIterator( 11, mult_vec );
<iterator>
gap> state := rec( );;
gap> channel_of_matroids := CreateChannel(10^6);;
gap> ParallelyEvaluateRecursiveIterator( state, 8, riter, channel_of_matroids );
rec( shutdown := function(  ) ... end )
gap> coatoms1 := ReceiveChannel( channel_of_matroids );;
gap> coatoms1[1];
[ [ 1, 2, 3, 4, 5 ], [ 1, 6, 7, 8, 9 ], [ 1, 10, 11 ], [ 2, 6, 10 ],
[ 2, 7, 11 ], [ 3, 6, 11 ], [ 3, 7, 10 ], [ 4, 8, 10 ], [ 4, 9, 11 ],
[ 5, 8, 11 ], [ 5, 9, 10 ], [ 2, 8 ], [ 2, 9 ], [ 3, 8 ], [ 3, 9 ],
[ 4, 6 ], [ 4, 7 ], [ 5, 6 ], [ 5, 7 ] ]
gap> coatoms2 := ReceiveChannel( channel_of_matroids );;
gap> coatoms2[1];
[ [ 1, 2, 3, 4, 5 ], [ 1, 6, 7, 8, 9 ], [ 1, 10, 11 ], [ 2, 6, 10 ],
[ 2, 7, 11 ], [ 3, 6, 11 ], [ 3, 8, 10 ], [ 4, 7, 10 ], [ 4, 9, 11 ],
[ 5, 8, 11 ], [ 5, 9, 10 ], [ 2, 8 ], [ 2, 9 ], [ 3, 7 ], [ 3, 9 ],
[ 4, 6 ], [ 4, 8 ], [ 5, 6 ], [ 5, 7 ] ]