# pyCTQW.MPI.GraphISO¶

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')

Parameters: 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).

Note

• 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.