Loading...
Searching...
No Matches
cage_canon.hpp
Go to the documentation of this file.
1#ifndef SEAMS_CAGE_CANON_H_
2#define SEAMS_CAGE_CANON_H_
3
4#include <string>
5#include <vector>
6
7// Nauty (McKay and Piperno, J. Symbolic Comput. 60, 94 (2014);
8// 10.1016/j.jsc.2013.09.003) produces a canonical adjacency certificate
9// for the undirected graph of a ring set. findHC/findDDC stay the
10// enumerators; this is the label-independent signature.
11
12namespace cage {
13
15
16// Hex encoding of the canonical adjacency matrix. Empty if nauty is
17// off or the ring set has no vertices.
18std::string canonicalCertificate(const std::vector<std::vector<int>> &rings);
19
20// True when the ring graph is isomorphic to the hexagonal prism (HC).
21bool isHexagonalPrism(const std::vector<std::vector<int>> &rings);
22
23bool sameCertificate(const std::vector<std::vector<int>> &a,
24 const std::vector<std::vector<int>> &b);
25
26} // namespace cage
27
28#endif
Functions for topological network criteria cage types.
Definition cage.hpp:41
bool isHexagonalPrism(const std::vector< std::vector< int > > &rings)
std::string canonicalCertificate(const std::vector< std::vector< int > > &rings)
bool sameCertificate(const std::vector< std::vector< int > > &a, const std::vector< std::vector< int > > &b)
bool nautyAvailable()