|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectchordDiagrams.OrbitObserver
public class OrbitObserver
This class looks for orbits of diagrams in the basis under link permutation
Field Summary | |
---|---|
java.util.HashSet<java.lang.String> |
basis
Stores diagID's for the basis |
(package private) java.util.HashMap<java.lang.String,diagram> |
diags
Data structure to store diagrams |
java.util.TreeSet<Relation> |
indRelations
Data structure to store independent relations |
(package private) int |
k
Number of links |
(package private) java.util.ArrayList<java.lang.String> |
keys
Key set for diagrams |
(package private) int[] |
linkpermutation
Current permutation of links |
(package private) boolean[] |
linkplaced
Used for recursive calls in link permutation generation; i'th entry is true if i'th link is used in the permutation. |
(package private) int |
n
Number of chords |
java.util.HashMap<java.lang.Integer,java.lang.String> |
orbitlabels
Store the labels of orbit elements |
java.util.ArrayList<Orbit> |
orbits
Stores orbits of the diagrams |
java.util.HashSet<java.lang.String> |
reducedBasis
Stores diagID's for the reduced basis |
Constructor Summary | |
---|---|
OrbitObserver(int n,
int k,
int MAXNum,
UnframedDiagramGenerator gen)
Constructs a new instance of Orbit Observer |
Method Summary | |
---|---|
java.lang.String |
diagIDfromCurPermutation(java.lang.String[] dlinks)
Takes the current link permutation and returns the diagram ID |
java.lang.String[] |
diagLinks(java.lang.String diagID)
Returns the links of the diagram as an array |
void |
drawOrbits(DiagramDrawer D)
Draws the orbits with the specified DDrawer filenames are of the form orbit_n-k_(i)_j.PNG |
void |
generateAllOrbits()
Generates orbits for all diagrams in the basis |
void |
generateBasis(boolean[] isInBasis)
Fills the basis HashSet with basis diagrams |
void |
generateOrbit(int pos,
java.lang.String[] diagLinks,
Orbit O)
Generates the orbit of a diagram under the permutation of links |
void |
generateOrbit(java.lang.String diagID)
Generates an orbit for a diagram and places it in the list |
private void |
generateOrbitBaisLabels()
Generates the labels for orbit elements that are in the basis for subsequent LaTeX printount |
void |
generateOrbitLabels()
Generates labels for elements of all orbits |
private void |
generateOrbitRelationLabels()
Generates labels for orbit elements that are relations; labels for basis elements must be generated prior to calling this method |
static java.lang.String |
indexToLetters(int i)
Generates string orbit label from index 0->a, 1->b,...,26->aa,27->ab,... |
int |
maxOrbitShortLength()
Calculates the maximum "short" length of an orbit (i.e., length moudulo 4T relation, elements expressed by a relation of the form a=b aren't considered) |
void |
printOrbitLabels()
Prints orbits labeled |
void |
printOrbits()
Prints all orbits to command line (primary usage: debugging) |
void |
printOrbitsEx()
Same as printOrbits, but with diagID's instead of indices |
void |
printOrbitsShort()
Same as printOrbits, shorter |
void |
putCurrentOrbitElement(java.lang.String dID,
Orbit O)
Puts the current orbit element into the orbit. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
int n
int k
java.util.HashMap<java.lang.String,diagram> diags
java.util.ArrayList<java.lang.String> keys
public java.util.TreeSet<Relation> indRelations
public java.util.HashSet<java.lang.String> basis
public java.util.HashSet<java.lang.String> reducedBasis
public java.util.ArrayList<Orbit> orbits
boolean[] linkplaced
int[] linkpermutation
public java.util.HashMap<java.lang.Integer,java.lang.String> orbitlabels
Constructor Detail |
---|
public OrbitObserver(int n, int k, int MAXNum, UnframedDiagramGenerator gen)
n
- k
- MAXNum
- gen
- diagram generator to useMethod Detail |
---|
public void generateOrbit(java.lang.String diagID)
diagID
- public java.lang.String[] diagLinks(java.lang.String diagID)
diagID
- diagram ID
public void generateOrbit(int pos, java.lang.String[] diagLinks, Orbit O)
pos
- current position in the permutationdiagLinks
- diagram links as strings of colorsO
- orbit to store the orbit elements (link permutations) inpublic void putCurrentOrbitElement(java.lang.String dID, Orbit O)
dID
- diagram ID to put into the orbitO
- the orbit to put the element inpublic java.lang.String diagIDfromCurPermutation(java.lang.String[] dlinks)
dlinks
-
public void generateAllOrbits()
public void printOrbits()
public void printOrbitsEx()
public void printOrbitsShort()
public void generateBasis(boolean[] isInBasis)
isInBasis
- array that tells which elements are in the bais
(a[i]=true if i is in the basis)public void drawOrbits(DiagramDrawer D)
D
- DDrawer to draw withprivate void generateOrbitBaisLabels()
private void generateOrbitRelationLabels()
public void generateOrbitLabels()
public void printOrbitLabels()
public int maxOrbitShortLength()
public static java.lang.String indexToLetters(int i)
i
- index of the orbit
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |