public class RelationTable<C extends RingElem<C>> extends java.lang.Object implements java.io.Serializable
| Modifier and Type | Field and Description |
|---|---|
boolean |
coeffTable
Usage indicator: table or coeffTable.
|
GenSolvablePolynomialRing<C> |
ring
The factory for the solvable polynomial ring.
|
java.util.Map<java.util.List<java.lang.Integer>,java.util.List> |
table
The data structure for the relations.
|
| Constructor and Description |
|---|
RelationTable(GenSolvablePolynomialRing<C> r)
Constructor for RelationTable requires ring factory.
|
RelationTable(GenSolvablePolynomialRing<C> r,
boolean coeffTable)
Constructor for RelationTable requires ring factory.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addRelations(java.util.List<GenPolynomial<C>> rel)
Add list of polynomial triples as relations.
|
void |
addSolvRelations(java.util.List<GenSolvablePolynomial<C>> rel)
Add list of polynomial triples as relations.
|
void |
contract(RelationTable<C> tab)
Contract variables.
|
boolean |
equals(java.lang.Object p)
RelationTable equals.
|
void |
extend(RelationTable<C> tab)
Extend variables.
|
int |
hashCode()
Hash code for this relation table.
|
boolean |
isEmpty()
Test if the table is empty.
|
TableRelation<C> |
lookup(ExpVector e,
ExpVector f)
Lookup RelationTable for existing relation.
|
protected java.util.List<java.lang.Integer> |
makeKey(ExpVector e,
ExpVector f)
Construct a key for (e,f).
|
void |
recursive(RelationTable tab)
Recursive representation.
|
java.util.List<GenSolvablePolynomial<C>> |
relationList()
Convert relation table to list of polynomial triples.
|
void |
reverse(RelationTable<C> tab)
Reverse variables and relations.
|
int |
size()
Size of the table.
|
java.lang.String |
toScript()
Get a scripting compatible string representation.
|
java.lang.String |
toString()
Get the String representation.
|
java.lang.String |
toString(java.lang.String[] vars)
Get the String representation.
|
void |
update(ExpVector e,
ExpVector f,
GenPolynomial<C> p)
Update or initialize RelationTable with new relation. relation is e * f =
p.
|
void |
update(ExpVector e,
ExpVector f,
GenSolvablePolynomial<C> p)
Update or initialize RelationTable with new relation. relation is e * f =
p.
|
void |
update(GenPolynomial<C> E,
GenPolynomial<C> F,
GenPolynomial<C> p)
Update or initialize RelationTable with new relation. relation is e * f =
p.
|
void |
update(GenPolynomial<C> E,
GenPolynomial<C> F,
GenSolvablePolynomial<C> p)
Update or initialize RelationTable with new relation. relation is e * f =
p.
|
public final java.util.Map<java.util.List<java.lang.Integer>,java.util.List> table
public final GenSolvablePolynomialRing<C extends RingElem<C>> ring
public final boolean coeffTable
public RelationTable(GenSolvablePolynomialRing<C> r)
r - solvable polynomial ring factory.public RelationTable(GenSolvablePolynomialRing<C> r, boolean coeffTable)
r - solvable polynomial ring factory.coeffTable - indicator for coeffTable.public boolean equals(java.lang.Object p)
equals in class java.lang.ObjectObject.equals(java.lang.Object)public int hashCode()
hashCode in class java.lang.ObjectObject.hashCode()public boolean isEmpty()
public java.lang.String toString()
toString in class java.lang.ObjectObject.toString()public java.lang.String toString(java.lang.String[] vars)
vars - names for the variables.Object.toString()public java.lang.String toScript()
public void update(ExpVector e, ExpVector f, GenSolvablePolynomial<C> p)
e - first term.f - second term.p - solvable product polynomial.public void update(GenPolynomial<C> E, GenPolynomial<C> F, GenSolvablePolynomial<C> p)
E - first term polynomial.F - second term polynomial.p - solvable product polynomial.public void update(GenPolynomial<C> E, GenPolynomial<C> F, GenPolynomial<C> p)
E - first term polynomial.F - second term polynomial.p - product polynomial.public void update(ExpVector e, ExpVector f, GenPolynomial<C> p)
e - first term.f - second term.p - solvable product polynomial.public TableRelation<C> lookup(ExpVector e, ExpVector f)
e - first term.f - second term.protected java.util.List<java.lang.Integer> makeKey(ExpVector e, ExpVector f)
e - first term.f - second term.public int size()
public void extend(RelationTable<C> tab)
tab - a relation table to be extended and inserted into this.public void contract(RelationTable<C> tab)
tab - a relation table to be contracted and inserted into this.public void recursive(RelationTable tab)
tab - a relation table to be contracted and inserted into this.public void reverse(RelationTable<C> tab)
tab - a relation table to be reverted and inserted into this.public java.util.List<GenSolvablePolynomial<C>> relationList()
public void addSolvRelations(java.util.List<GenSolvablePolynomial<C>> rel)
rel - = (e1,f1,p1, ...) where ei * fi = pi are solvable relations.
Note: Only because of type erasure, aequivalent to
addRelations().public void addRelations(java.util.List<GenPolynomial<C>> rel)
rel - = (e1,f1,p1, ...) where ei * fi = pi are solvable relations.