Class Word
java.lang.Object
edu.jas.poly.Word
- All Implemented Interfaces:
Element<Word>, MonoidElem<Word>, Serializable, Comparable<Word>
Word implements strings of letters for polynomials.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intStored hash code.final WordFactoryDefining alphabet in WordFactory.(package private) final StringThe data structure is a String of characters. -
Constructor Summary
ConstructorsConstructorDescriptionWord(WordFactory m) Constructor for Word.Word(WordFactory m, String s) Constructor for Word.Word(WordFactory m, String s, boolean translate) Constructor for Word. -
Method Summary
Modifier and TypeMethodDescriptionintWord compareTo.copy()Copy this.longdegree()Word degree.Word dependency on letters.Word divide.divideLeft(Word V) Word divide left.divideRight(Word V) Word divide right.booleanWord divides test.Word[]divideWord(Word V) Word divide with prefix and suffix.Word[]divideWord(Word V, boolean first) Word divide with prefix and suffix.booleanComparison with any other object.factory()Get the corresponding element factory.(package private) StringgetVal()Get the word String.chargetVal(int i) Get the letter at position i.intWord graded comparison.intWord graded comparison.inthashCode()hashCode.String dependency on letters.inverse()Word inverse.booleanisONE()Is Word one.booleanIs word overlap.booleanisUnit()Is Word unit.Word pseudo least common multiple.Word leading exponent vector.intlength()Get the length of this word.booleanmultipleOf(Word V) Word multiple test.Word multiplication.Word overlap list.Word[]Quotient and remainder by division of this by S.reductum()Word without leading exponent vector.Word remainder.intsignum()Word signum.toScript()Get a scripting compatible string representation.Get a scripting compatible string representation of the factory.toString()Get the string representation.Methods inherited from interface MonoidElem
leftDivide, leftRemainder, power, rightDivide, rightRemainder, twosidedDivide, twosidedRemainder
-
Field Details
-
mono
Defining alphabet in WordFactory. -
val
The data structure is a String of characters. -
hash
protected int hashStored hash code.
-
-
Constructor Details
-
Word
-
Word
Constructor for Word.- Parameters:
m- factory for words.s- String
-
Word
Constructor for Word.- Parameters:
m- factory for words.s- Stringtranslate- indicator if s needs translation
-
-
Method Details
-
factory
Get the corresponding element factory. -
copy
-
getVal
-
getVal
public char getVal(int i) Get the letter at position i.- Parameters:
i- position.- Returns:
- val[i].
-
length
public int length()Get the length of this word.- Returns:
- val.length.
-
toString
-
toScript
-
toScriptFactory
Get a scripting compatible string representation of the factory.- Specified by:
toScriptFactoryin interfaceElement<Word>- Returns:
- script compatible representation for this ElemFactory.
- See Also:
-
equals
-
hashCode
-
isONE
public boolean isONE()Is Word one.- Specified by:
isONEin interfaceMonoidElem<Word>- Returns:
- If this is the empty word then true is returned, else false.
-
isUnit
public boolean isUnit()Is Word unit.- Specified by:
isUnitin interfaceMonoidElem<Word>- Returns:
- If this is a unit then true is returned, else false.
-
multiply
Word multiplication.- Specified by:
multiplyin interfaceMonoidElem<Word>- Parameters:
V- other word.- Returns:
- this * V.
-
divide
Word divide.- Specified by:
dividein interfaceMonoidElem<Word>- Parameters:
V- other word.- Returns:
- this / V.
-
divideLeft
-
divideRight
-
divideWord
-
divideWord
-
remainder
Word remainder.- Specified by:
remainderin interfaceMonoidElem<Word>- Parameters:
V- other word.- Returns:
- this - (this/V). Note: not useful.
-
quotientRemainder
Quotient and remainder by division of this by S.- Specified by:
quotientRemainderin interfaceMonoidElem<Word>- Parameters:
S- a Word- Returns:
- [this/S, this - (this/S)*S]. Note: not useful.
-
inverse
Word inverse.- Specified by:
inversein interfaceMonoidElem<Word>- Returns:
- 1 / this.
-
signum
public int signum()Word signum.- Returns:
- 0 if this is one, 1 if it is non empty.
-
degree
public long degree()Word degree.- Returns:
- total degree of all letters.
-
dependencyOnVariables
-
histogram
-
leadingExpVector
Word leading exponent vector.- Returns:
- an ExpVector for the first power of a letter.
-
reductum
Word without leading exponent vector.- Returns:
- an Word without the first power of a letter.
-
multipleOf
Word multiple test.- Parameters:
V- other word.- Returns:
- true if this is a multiple of V, else false.
-
divides
Word divides test.- Parameters:
V- other word.- Returns:
- true if this divides V, else false.
-
compareTo
-
gradCompareTo
Word graded comparison. Compares first be degree, then lexicographical.- Parameters:
V- other word.- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
gradInvlexCompareTo
Word graded comparison. Compares first be degree, then inverse lexicographical.- Parameters:
V- other word.- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
isOverlap
-
overlap
Word overlap list.- Parameters:
V- other word.- Returns:
- list of overlaps [l1,r1,l2,r2] with l1 * this * r1 = l2 * V * r2. If no such overlaps exist the empty overlap list is returned.
-
lcm
-