Macaulay2 » Documentation
Packages » Matroids :: areIsomorphic(Matroid,Matroid)
next | previous | forward | backward | up | index | toc

# areIsomorphic(Matroid,Matroid) -- whether two matroids are isomorphic

- Function: areIsomorphic
- Usage:
    `areIsomorphic(M, N)`
- Inputs:
  - M, a matroid,
  - N, a matroid,
- Outputs:
  - a Boolean value, true if the matroids are isomorphic, false otherwise

## Description

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

## Caveat

Isomorphism of matroids should not be confused with equality: cf. == for more details.

## See also

- isomorphism(Matroid,Matroid) -- computes an isomorphism between isomorphic matroids
- getIsos -- all isomorphisms between two matroids
- quickIsomorphismTest -- quick checks for isomorphism between matroids

## Ways to use this method:

- areIsomorphic(Matroid,Matroid) -- whether two matroids are isomorphic

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/Matroids/doc-Matroids.m2:2479:0.