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.Object
Object.equals(java.lang.Object)
public int hashCode()
hashCode
in class java.lang.Object
Object.hashCode()
public boolean isEmpty()
public java.lang.String toString()
toString
in class java.lang.Object
Object.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.