Detailed Description
interface for symmetry computations
Definition in file compute_symmetry.h.
Go to the source code of this file.
Functions | |
SCIP_Bool | SYMcanComputeSymmetry (void) |
const char * | SYMsymmetryGetName (void) |
const char * | SYMsymmetryGetDesc (void) |
const char * | SYMsymmetryGetAddName (void) |
const char * | SYMsymmetryGetAddDesc (void) |
SCIP_RETCODE | SYMcomputeSymmetryGenerators (SCIP *scip, int maxgenerators, SYM_GRAPH *graph, int *nperms, int *nmaxperms, int ***perms, SCIP_Real *log10groupsize, SCIP_Real *symcodetime) |
SCIP_Bool | SYMcheckGraphsAreIdentical (SCIP *scip, SYM_SYMTYPE symtype, SYM_GRAPH *G1, SYM_GRAPH *G2) |
Function Documentation
◆ SYMcanComputeSymmetry()
SCIP_Bool SYMcanComputeSymmetry | ( | void | ) |
return whether symmetry can be computed
Definition at line 148 of file compute_symmetry_bliss.cpp.
Referenced by determineSymmetry(), and SCIPincludePropSymmetry().
◆ SYMsymmetryGetName()
const char * SYMsymmetryGetName | ( | void | ) |
return name of external program used to compute generators
Definition at line 154 of file compute_symmetry_bliss.cpp.
References nautyname, and SCIPsnprintf().
Referenced by SCIPincludePropSymmetry().
◆ SYMsymmetryGetDesc()
const char * SYMsymmetryGetDesc | ( | void | ) |
return description of external program used to compute generators
Definition at line 164 of file compute_symmetry_bliss.cpp.
Referenced by SCIPincludePropSymmetry().
◆ SYMsymmetryGetAddName()
const char * SYMsymmetryGetAddName | ( | void | ) |
return name of additional external program used for computing symmetries
Definition at line 170 of file compute_symmetry_bliss.cpp.
Referenced by SCIPincludePropSymmetry().
◆ SYMsymmetryGetAddDesc()
const char * SYMsymmetryGetAddDesc | ( | void | ) |
return description of additional external program used to compute symmetries
Definition at line 176 of file compute_symmetry_bliss.cpp.
References NULL.
Referenced by SCIPincludePropSymmetry().
◆ SYMcomputeSymmetryGenerators()
SCIP_RETCODE SYMcomputeSymmetryGenerators | ( | SCIP * | scip, |
int | maxgenerators, | ||
SYM_GRAPH * | symgraph, | ||
int * | nperms, | ||
int * | nmaxperms, | ||
int *** | perms, | ||
SCIP_Real * | log10groupsize, | ||
SCIP_Real * | symcodetime | ||
) |
compute generators of symmetry group
- Parameters
-
scip SCIP pointer maxgenerators maximal number of generators constructed (= 0 if unlimited) symgraph symmetry detection graph nperms pointer to store number of permutations nmaxperms pointer to store maximal number of permutations (needed for freeing storage) perms pointer to store permutation generators as (nperms x npermvars) matrix log10groupsize pointer to store log10 of size of group symcodetime pointer to store the time for symmetry code
Definition at line 405 of file compute_symmetry_bliss.cpp.
References addGroupedEdges(), computeAutomorphisms(), createOrDetermineSizeGraph(), data_, FALSE, isEdgeGroupable(), NAUTY_Data::maxgenerators, SYMMETRY_Data::maxgenerators, NAUTY_Data::maxncells, NAUTY_Data::maxnnodes, nautyhook(), nautyterminationhook(), NAUTY_Data::nmaxperms, SYMMETRY_Data::nmaxperms, nnodes, NAUTY_Data::nperms, SYMMETRY_Data::nperms, NAUTY_Data::npermvars, NAUTY_Data::ntreenodes, NULL, NAUTY_Data::perms, SYMMETRY_Data::perms, NAUTY_Data::restricttovars, NAUTY_Data::scip, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_MINIMAL, SCIPallocBufferArray, SCIPdebugMsg, SCIPfreeBlockMemoryArray, SCIPfreeBufferArray, SCIPgetIntParam(), SCIPgetSolvingTime(), SCIPgetSymgraphEdgeColor(), SCIPgetSymgraphEdgeFirst(), SCIPgetSymgraphEdgeSecond(), SCIPgetSymgraphNConsnodes(), SCIPgetSymgraphNEdges(), SCIPgetSymgraphNNodes(), SCIPgetSymgraphNodeColor(), SCIPgetSymgraphNodeType(), SCIPgetSymgraphNVars(), SCIPgetSymgraphSymtype(), SCIPgetSymgraphVarnodeColor(), SCIPhasGraphUniqueEdgetype(), SCIPisSymgraphEdgeColored(), SCIPsortIntInt(), SCIPsortIntIntInt(), SCIPverbMessage(), SYM_NODETYPE_CONS, SYM_NODETYPE_VAR, SYM_SYMTYPE_PERM, SYM_SYMTYPE_SIGNPERM, SYMbuildSassyGraph(), NAUTY_Data::symtype, and TRUE.
Referenced by computeSymmetryGroup().
◆ SYMcheckGraphsAreIdentical()
SCIP_Bool SYMcheckGraphsAreIdentical | ( | SCIP * | scip, |
SYM_SYMTYPE | symtype, | ||
SYM_GRAPH * | G1, | ||
SYM_GRAPH * | G2 | ||
) |
returns whether two given graphs are identical
- Parameters
-
scip SCIP pointer symtype type of symmetries to be checked G1 first graph G2 second graph
Definition at line 627 of file compute_symmetry_bliss.cpp.
References computeAutomorphisms(), createOrDetermineSizeGraphCheck(), data_, SYM_Graph::edgefirst, SYM_Graph::edgesecond, FALSE, NAUTY_Data::maxgenerators, NAUTY_Data::maxncells, NAUTY_Data::maxnnodes, nautyhook(), SYM_Graph::nconsnodes, SYM_Graph::nedges, NAUTY_Data::nmaxperms, SYMMETRY_Data::nmaxperms, nnodes, SYM_Graph::nnodes, SYM_Graph::nopnodes, NAUTY_Data::nperms, SYMMETRY_Data::nperms, NAUTY_Data::npermvars, SYM_Graph::nsymvars, NAUTY_Data::ntreenodes, NULL, SYM_Graph::nvalnodes, NAUTY_Data::perms, SYMMETRY_Data::perms, NAUTY_Data::restricttovars, NAUTY_Data::scip, SCIP_Bool, SCIP_CALL, SCIP_CALL_ABORT, SCIP_Real, SCIPallocBufferArray, SCIPallocClearBufferArray, SCIPfreeBlockMemoryArray, SCIPfreeBlockMemoryArrayNull, SCIPfreeBufferArray, SCIPgetIntParam(), SCIPgetSymgraphEdgeColor(), SCIPgetSymgraphNodeColor(), SCIPgetSymgraphNVars(), SCIPgetSymgraphSymtype(), SCIPinfoMessage(), SCIPisSymgraphEdgeColored(), SCIPsortIntInt(), SYM_SYMTYPE_PERM, SYM_SYMTYPE_SIGNPERM, SYMbuildSassyGraphCheck(), NAUTY_Data::symtype, TRUE, and w.
Referenced by checkSymmetriesAreSymmetries().