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) |
SCIP_Bool SYMcanComputeSymmetry | ( | void | ) |
return whether symmetry can be computed
Definition at line 148 of file compute_symmetry_bliss.cpp.
References FALSE, SCIP_Bool, and TRUE.
Referenced by determineSymmetry(), and SCIPincludePropSymmetry().
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.
Referenced by SCIPincludePropSymmetry().
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().
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().
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().
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
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(), assert(), computeAutomorphisms(), computeAutomorphisms(), computeAutomorphisms(), createOrDetermineSizeGraph(), data_, FALSE, i, isEdgeGroupable(), NAUTY_Data::maxgenerators, SYMMETRY_Data::maxgenerators, nautyhook(), nautyterminationhook(), NAUTY_Data::nmaxperms, SYMMETRY_Data::nmaxperms, nnodes, NAUTY_Data::nperms, SYMMETRY_Data::nperms, NULL, NAUTY_Data::perms, SYMMETRY_Data::perms, 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(), and TRUE.
Referenced by computeSymmetryGroup().
SCIP_Bool SYMcheckGraphsAreIdentical | ( | SCIP * | scip, |
SYM_SYMTYPE | symtype, | ||
SYM_GRAPH * | G1, | ||
SYM_GRAPH * | G2 ) |
returns whether two given graphs are identical
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 assert(), computeAutomorphisms(), computeAutomorphisms(), computeAutomorphisms(), createOrDetermineSizeGraphCheck(), data_, SYM_Graph::edgefirst, SYM_Graph::edgesecond, FALSE, i, nautyhook(), SYM_Graph::nconsnodes, SYM_Graph::nedges, SYMMETRY_Data::nmaxperms, nnodes, SYM_Graph::nnodes, SYM_Graph::nopnodes, SYMMETRY_Data::nperms, SYM_Graph::nsymvars, NULL, SYM_Graph::nvalnodes, nvars, SYMMETRY_Data::perms, 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().