class GraphISO(**kwargs)

Bases: object

A graph isomorphism solver, containing functions for creating graph certificates and checking isomorphism of adjacency matrices.

>>> gi = pyCTQW.MPI.GraphISO(p=2,propagator='krylov')
  • p (int) – number of particles, 2 (default) or 3, to use in constructing the graph certificate.
  • freqTol (float) – the tolerance to use when constructing the frequency table (default 1.e-2). See also GIcert().
  • compareTol (float) – the tolerance used when comparing two Graph certificates (default 1.e-10). See also isomorphicQ().
  • propagator (str) – the CTQW propagator algorithm to use when calculating the graph certificate ('chebyshev' (default) or 'krylov').
  • bosonic (bool) – if True, instructs the solver to use a Bosonic Hamiltonian (default False).


  • For freqTol=1.e-2, probabilities within (100freqTol)% are treated as equal.
  • Two isomorphic certificates satisfy \(\max(|cert_1 - cert_2|) < compareTol\).

Method Summary

GraphISO.AllIsomorphicQ(folder[, ...]) Calculates whether each pair of graphs (in a specified set of graphs) are isomorphic, returning an array \(R\) with \(R_{ij} = 1\) if graphs \(i\) and \(j\) are isomorphic, and \(R_{ij} = 0\) otherwise.
GraphISO.GIcert(adj) Generate the GI certificate of a graph.
GraphISO.getEigSolver(*args) Get some or all of the GraphISO properties.
GraphISO.getProperty(*args) Get some or all of the GraphISO properties.
GraphISO.isomorphicQ(G1, G2[, saveCert1, ...]) Returns the GI certificates in addition to True if two graphs are isomorphic, False otherwise.
GraphISO.setEigSolver(**kwargs) Set some or all of the eigenvalue solver properties.
GraphISO.setProperties(**kwargs) Set some or all of the GraphISO properties.