next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Matroids :: quickIsomorphismTest

quickIsomorphismTest -- quick checks for isomorphism between matroids

Synopsis

Description

This method performs relatively quick tests to determine whether or not two matroids are isomorphic. A result of "false" is definitive proof that the matroids are not isomorphic, a result of "true" is definitive proof that the matroids are isomorphic, and a result of "Could be isomorphic" is evidence that the matroids may be isomorphic (although there are nonisomorphic matroids which cannot be detected by this method).

If "true" or "false" is returned, use value to convert to a Boolean.

i1 : M0 = matroid(toList(a..z)/toString,{{"m","a","t","r","o","i","d"}})

o1 = a matroid of rank 7 on 26 elements

o1 : Matroid
i2 : M1 = matroid(toList(0..25), {{random(ZZ),23,15,12,19,20,11}})

o2 = a matroid of rank 7 on 26 elements

o2 : Matroid
i3 : quickIsomorphismTest(M0, M1)

o3 = true
i4 : quickIsomorphismTest(matroid random(ZZ^5,ZZ^8), uniformMatroid(5, 8))

o4 = true
i5 : quickIsomorphismTest(uniformMatroid(5, 9), uniformMatroid(4, 9))

o5 = false
i6 : M0 = matroid graph({{a,b},{b,c},{c,d},{d,e},{e,f},{f,g},{f,h},{c,h},{c,f},{a,g},{d,g}})

o6 = a matroid of rank 7 on 11 elements

o6 : Matroid
i7 : M1 = matroid graph({{a,b},{b,c},{c,d},{d,e},{e,f},{f,g},{f,h},{c,h},{c,f},{a,g},{a,h}})

o7 = a matroid of rank 7 on 11 elements

o7 : Matroid
i8 : R = ZZ[x,y]; tuttePolynomial(M0, R) == tuttePolynomial(M1, R)

o9 = true
i10 : time quickIsomorphismTest(M0, M1)
     -- used 0.000852905 seconds

o10 = false
i11 : value oo === false

o11 = true

See also

Ways to use quickIsomorphismTest :

For the programmer

The object quickIsomorphismTest is a method function.