Two matroids are isomorphic if there is a bijection between their ground sets which induces a bijection between bases, or equivalently, circuits (which is what this package actually checks, since there are often fewer circuits than bases).
This method first runs quickIsomorphismTest, then isomorphism if the tests are inconclusive.
i1 : M = matroid({a,b,c},{{a,b},{a,c},{b,c}}) o1 = a matroid of rank 2 on 3 elements o1 : Matroid |
i2 : areIsomorphic(M, uniformMatroid(2,3)) o2 = true |
i3 : M0 = matroid({a,b,c},{{a,b},{a,c}}) o3 = a matroid of rank 2 on 3 elements o3 : Matroid |
i4 : areIsomorphic(M, M0) o4 = false |
Isomorphism of matroids should not be confused with equality: cf. == for more details.