next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
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 strong evidence that the matroids may be isomorphic.

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

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

o1 = a matroid of rank 7 on 26 elements

o1 : Matroid
i2 : M2 = 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(M1, M2)
At most 1 basis/nonbasis/circuit

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

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

o5 = false
i6 : M1 = 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 : M2 = 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(M1, R) == tuttePolynomial(M2, R)

o9 = true
i10 : time quickIsomorphismTest(M1, M2)
     -- used 0.407398 seconds

o10 = false
i11 : value oo === false

o11 = true

See also

Ways to use quickIsomorphismTest :