Package edu.jas.poly
Class WordFactory
- java.lang.Object
-
- edu.jas.poly.WordFactory
-
- All Implemented Interfaces:
ElemFactory<Word>,MonoidFactory<Word>,java.io.Serializable
public final class WordFactory extends java.lang.Object implements MonoidFactory<Word>
WordFactory implements alphabet related methods.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classWordFactory.WordComparatorComparator for Words.
-
Field Summary
Fields Modifier and Type Field Description WordONEThe empty word for this monoid.java.lang.String[]translationThe translation array of Strings.static java.lang.StringtransRefThe translation reference string.
-
Constructor Summary
Constructors Constructor Description WordFactory()Constructor for WordFactory.WordFactory(java.lang.String s)Constructor for WordFactory.WordFactory(java.lang.String[] S)Constructor for WordFactory.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.Stringclean(java.lang.String s)Prepare parse from String.static java.lang.String[]cleanAll(java.lang.String[] v)Prepare parse from String array.static java.lang.StringcleanSpace(java.lang.String s)Prepare parse from String.static java.lang.Stringconcat(java.lang.String[] v)Concat variable names.Wordcontract(Word w)Contract word to this word factory.Wordcopy(Word w)Copy word.booleanequals(java.lang.Object B)Comparison with any other object.WordFactoryextend(java.lang.String[] vn)Extend variables.WordfromInteger(long a)Get the Element for a.WordfromInteger(java.math.BigInteger a)Get the Element for a.java.util.List<Word>generators()Get a list of the generating elements.WordFactory.WordComparatorgetAscendComparator()Get the ascending order comparator.WordFactory.WordComparatorgetDescendComparator()Get the descending order comparator.WordgetONE()Get the one element, the empty word.chargetVal(int i)Get the alphabet letter at position i.java.lang.String[]getVars()Get the variable names.inthashCode()hashCode.intindexOf(char s)IndexOf for letter in alphabet.static intindexOf(java.lang.String[] v, java.lang.String s)IndexOf for String array.booleanisAssociative()Query if this monoid is associative.booleanisCommutative()Query if this monoid is commutative.booleanisFinite()Is this structure finite or infinite.static booleanisSingleLetters(java.lang.String[] v)Test if all variables are single letters.booleanisSubFactory(WordFactory w)Test if the alphabet of w is a subalphabet of this.intlength()Get the alphabet length.Wordparse(java.io.Reader r)Parse from Reader.Wordparse(java.lang.String s)Parse from String.Wordrandom(int n)Generate a random Element with size less equal to n.Wordrandom(int n, java.util.Random random)Generate a random Element with size less equal to n.java.lang.StringtoScript()Get a scripting compatible string representation.java.lang.StringtoString()Get the string representation.java.lang.Stringtranslate(java.lang.String[] v)Translate variable names.java.lang.StringtransVar(char c)Translate variable name.static java.lang.String[]trimAll(java.lang.String[] v)Trim all variable names.WordvalueOf(ExpVector e)Get the Element for an ExpVector.WordvalueOf(Word w)Get the element from an other word.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface edu.jas.structure.ElemFactory
valueOf
-
-
-
-
Field Detail
-
transRef
public static final java.lang.String transRef
The translation reference string.- See Also:
- Constant Field Values
-
translation
public final java.lang.String[] translation
The translation array of Strings.
-
-
Constructor Detail
-
WordFactory
public WordFactory()
Constructor for WordFactory.
-
WordFactory
public WordFactory(java.lang.String s)
Constructor for WordFactory.- Parameters:
s- String of single letters for alphabet
-
WordFactory
public WordFactory(java.lang.String[] S)
Constructor for WordFactory.- Parameters:
S- String array for alphabet
-
-
Method Detail
-
isFinite
public boolean isFinite()
Is this structure finite or infinite.- Specified by:
isFinitein interfaceElemFactory<Word>- Returns:
- true if this structure is finite, else false.
- See Also:
ElemFactory.isFinite()
-
isCommutative
public boolean isCommutative()
Query if this monoid is commutative.- Specified by:
isCommutativein interfaceMonoidFactory<Word>- Returns:
- true if this monoid is commutative, else false.
-
isAssociative
public boolean isAssociative()
Query if this monoid is associative.- Specified by:
isAssociativein interfaceMonoidFactory<Word>- Returns:
- true if this monoid is associative, else false.
-
getONE
public Word getONE()
Get the one element, the empty word.- Specified by:
getONEin interfaceMonoidFactory<Word>- Returns:
- 1 as Word.
-
copy
public Word copy(Word w)
Copy word.- Specified by:
copyin interfaceElemFactory<Word>- Parameters:
w- word to copy.- Returns:
- copy of w.
-
length
public int length()
Get the alphabet length.- Returns:
- alphabet.length.
-
getVal
public char getVal(int i)
Get the alphabet letter at position i.- Parameters:
i- position.- Returns:
- val[i].
-
getVars
public java.lang.String[] getVars()
Get the variable names.- Returns:
- array of variable names
-
extend
public WordFactory extend(java.lang.String[] vn)
Extend variables. Extend number of variables by length(vn).- Parameters:
vn- names for extended variables.- Returns:
- extended word ring factory.
-
toString
public java.lang.String toString()
Get the string representation.- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
toScript
public java.lang.String toScript()
Get a scripting compatible string representation.- Specified by:
toScriptin interfaceElemFactory<Word>- Returns:
- script compatible representation for this Element.
- See Also:
Element.toScript()
-
equals
public boolean equals(java.lang.Object B)
Comparison with any other object.- Overrides:
equalsin classjava.lang.Object- See Also:
Object.equals(java.lang.Object)
-
hashCode
public int hashCode()
hashCode.- Overrides:
hashCodein classjava.lang.Object- See Also:
Object.hashCode()
-
generators
public java.util.List<Word> generators()
Get a list of the generating elements.- Specified by:
generatorsin interfaceElemFactory<Word>- Returns:
- list of generators for the algebraic structure.
-
fromInteger
public Word fromInteger(long a)
Get the Element for a.- Specified by:
fromIntegerin interfaceElemFactory<Word>- Parameters:
a- long- Returns:
- element corresponding to a.
-
fromInteger
public Word fromInteger(java.math.BigInteger a)
Get the Element for a.- Specified by:
fromIntegerin interfaceElemFactory<Word>- Parameters:
a- java.math.BigInteger.- Returns:
- element corresponding to a.
-
valueOf
public Word valueOf(ExpVector e)
Get the Element for an ExpVector.- Parameters:
e- ExpVector.- Returns:
- element corresponding to e.
-
valueOf
public Word valueOf(Word w)
Get the element from an other word.- Parameters:
w- other word.- Returns:
- w in this word factory.
-
indexOf
public int indexOf(char s)
IndexOf for letter in alphabet.- Parameters:
s- letter character.- Returns:
- index of s in the alphabet, or -1 if s is not contained in the alphabet.
-
random
public Word random(int n)
Generate a random Element with size less equal to n.- Specified by:
randomin interfaceElemFactory<Word>- Parameters:
n-- Returns:
- a random element.
-
random
public Word random(int n, java.util.Random random)
Generate a random Element with size less equal to n.- Specified by:
randomin interfaceElemFactory<Word>- Parameters:
n-random- is a source for random bits.- Returns:
- a random element.
-
parse
public Word parse(java.lang.String s)
Parse from String.- Specified by:
parsein interfaceElemFactory<Word>- Parameters:
s- String.- Returns:
- a Element corresponding to s.
-
parse
public Word parse(java.io.Reader r)
Parse from Reader. White space is delimiter for word.- Specified by:
parsein interfaceElemFactory<Word>- Parameters:
r- Reader.- Returns:
- the next Element found on r.
-
isSubFactory
public boolean isSubFactory(WordFactory w)
Test if the alphabet of w is a subalphabet of this.- Parameters:
w- other word factory to test.- Returns:
- true, if w is a subalphabet of this, else false.
-
contract
public Word contract(Word w)
Contract word to this word factory.this.isSubFactory(w.mono)must be true, otherwise null is returned.- Parameters:
w- other word to contract.- Returns:
- w with this factory, or null if not contractable.
-
getDescendComparator
public WordFactory.WordComparator getDescendComparator()
Get the descending order comparator. Sorts the highest terms first.- Returns:
- horder.
-
getAscendComparator
public WordFactory.WordComparator getAscendComparator()
Get the ascending order comparator. Sorts the lowest terms first.- Returns:
- lorder.
-
cleanSpace
public static java.lang.String cleanSpace(java.lang.String s)
Prepare parse from String.- Parameters:
s- String.- Returns:
- a Element corresponding to s.
-
clean
public static java.lang.String clean(java.lang.String s)
Prepare parse from String.- Parameters:
s- String.- Returns:
- a Element corresponding to s.
-
cleanAll
public static java.lang.String[] cleanAll(java.lang.String[] v)
Prepare parse from String array.- Parameters:
v- String array.- Returns:
- an array of cleaned strings.
-
concat
public static java.lang.String concat(java.lang.String[] v)
Concat variable names.- Parameters:
v- an array of strings.- Returns:
- the concatination of the strings in v.
-
trimAll
public static java.lang.String[] trimAll(java.lang.String[] v)
Trim all variable names.- Parameters:
v- an array of strings.- Returns:
- an array of strings with all elements trimmed.
-
indexOf
public static int indexOf(java.lang.String[] v, java.lang.String s)
IndexOf for String array.- Parameters:
v- an array of strings.s- string.- Returns:
- index of s in v, or -1 if s is not contained in v.
-
isSingleLetters
public static boolean isSingleLetters(java.lang.String[] v)
Test if all variables are single letters.- Parameters:
v- an array of strings.- Returns:
- true, if all variables have length 1, else false.
-
translate
public java.lang.String translate(java.lang.String[] v)
Translate variable names.- Parameters:
v- an array of strings.- Returns:
- the translated string of v with respect to t.
-
transVar
public java.lang.String transVar(char c)
Translate variable name.- Parameters:
c- internal char.- Returns:
- the extenal translated string.
-
-