#include <QuadEquatTransformationGraph.h>
Public Member Functions | |
QuadEquationTranformationGraph (const Equation &eq) | |
void | extend () |
const IntLabeledGraph & | getGraph () const |
Get the current graph. | |
bool | isDone () const |
Determine if the graph is completely constructed. | |
bool | solutionFound () const |
Determine if the equation has solutions. | |
Private Member Functions | |
set< Word > | getNeighbours (const Word &eq) |
Function returns all neighbours of the vertex in the graph. | |
Word | applyAdjointTransformation (const Word &eq, int x, const Word &im) |
Function is used in getNeighbours( ). | |
bool | isTrivialSolution (const Word &e) const |
Check if an equation e has trivial solution. | |
Private Attributes | |
const Equation | theEquation |
Equation under consideration. | |
IntLabeledGraph | theGraph |
The transformation graph. | |
map< Word, int > | processedEquations |
Already processed equations and their numbers in the graph. | |
map< Word, int > | equationsInProcess |
New equations and their numbers in the graph. | |
bool | hasSolution |
Flag. True if the equation with the trivial solution is found. |
Definition at line 22 of file QuadEquatTransformationGraph.h.
QuadEquationTranformationGraph::QuadEquationTranformationGraph | ( | const Equation & | eq | ) |
Word QuadEquationTranformationGraph::applyAdjointTransformation | ( | const Word & | eq, | |
int | x, | |||
const Word & | im | |||
) | [private] |
Function is used in getNeighbours( ).
void QuadEquationTranformationGraph::extend | ( | ) |
const IntLabeledGraph& QuadEquationTranformationGraph::getGraph | ( | ) | const |
Get the current graph.
Function returns all neighbours of the vertex in the graph.
bool QuadEquationTranformationGraph::isDone | ( | ) | const |
Determine if the graph is completely constructed.
bool QuadEquationTranformationGraph::isTrivialSolution | ( | const Word & | e | ) | const [private] |
Check if an equation e has trivial solution.
bool QuadEquationTranformationGraph::solutionFound | ( | ) | const |
Determine if the equation has solutions.
map< Word , int > QuadEquationTranformationGraph::equationsInProcess [private] |
New equations and their numbers in the graph.
Definition at line 112 of file QuadEquatTransformationGraph.h.
bool QuadEquationTranformationGraph::hasSolution [private] |
Flag. True if the equation with the trivial solution is found.
Definition at line 116 of file QuadEquatTransformationGraph.h.
map< Word , int > QuadEquationTranformationGraph::processedEquations [private] |
Already processed equations and their numbers in the graph.
Definition at line 108 of file QuadEquatTransformationGraph.h.
const Equation QuadEquationTranformationGraph::theEquation [private] |
Equation under consideration.
Definition at line 95 of file QuadEquatTransformationGraph.h.
The transformation graph.
A graph with edges labelled by integers. Labels of edges are all ones at the moment. In the future they will encode corresponding transformations.
Definition at line 104 of file QuadEquatTransformationGraph.h.