Package edu.jas.poly
Class GenPolynomialTokenizer
- java.lang.Object
-
- edu.jas.poly.GenPolynomialTokenizer
-
public class GenPolynomialTokenizer extends java.lang.Object
GenPolynomial Tokenizer. Used to read rational polynomials and lists of polynomials from input streams. Arbitrary polynomial rings and coefficient rings can be read with RingFactoryTokenizer. Note: Can no more read QuotientRing since end of 2010, revision 3441. Quotient coefficients and others can still be read if the respective factory is provided via the constructor.- Author:
- Heinz Kredel
- See Also:
RingFactoryTokenizer
-
-
Constructor Summary
Constructors Constructor Description GenPolynomialTokenizer()
No-args constructor reads from System.in.GenPolynomialTokenizer(GenPolynomialRing rf, java.io.Reader r)
Constructor with Ring and Reader.GenPolynomialTokenizer(java.io.Reader r)
Constructor with Reader.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.String[]
expressionVariables(java.lang.String s)
Extract variable list from expression.void
initFactory(RingFactory rf, edu.jas.poly.GenPolynomialTokenizer.coeffType ct)
Initialize coefficient and polynomial factories.void
initSolvableFactory(RingFactory rf, edu.jas.poly.GenPolynomialTokenizer.coeffType ct)
Initialize coefficient and solvable polynomial factories.RingFactory
nextCoefficientRing()
Parsing method for coefficient ring.void
nextComma()
java.lang.String
nextComment()
Parsing method for comments.long
nextExponent()
Parsing method for exponent (of variable).GenExteriorPolynomial
nextExteriorPolynomial()
Parsing method for exterior polynomial.GenExteriorPolynomial
nextExteriorPolynomial(GenExteriorPolynomialRing wfac)
Parsing method for exterior polynomial.java.util.List<GenExteriorPolynomial>
nextExteriorPolynomialList()
Parsing method for exterior polynomial list.java.util.List<GenExteriorPolynomial>
nextExteriorPolynomialList(GenExteriorPolynomialRing wfac)
Parsing method for exterior polynomial list.GenPolynomial
nextPolynomial()
Parsing method for GenPolynomial.java.util.List<GenPolynomial>
nextPolynomialList()
Parsing method for polynomial list.PolynomialList
nextPolynomialSet()
Parsing method for polynomial set.void
nextRelationTable()
Parsing method for solvable polynomial relation table.GenSolvablePolynomial
nextSolvablePolynomial()
Parsing method for solvable polynomial.java.util.List<GenSolvablePolynomial>
nextSolvablePolynomialList()
Parsing method for solvable polynomial list.PolynomialList
nextSolvablePolynomialSet()
Parsing method for solvable polynomial set.java.util.List<java.util.List<GenSolvablePolynomial>>
nextSolvableSubModuleList()
Parsing method for solvable submodule list.ModuleList
nextSolvableSubModuleSet()
Parsing method for solvable module set.int
nextSplitIndex()
Parsing method for split index.java.util.List<java.util.List<GenPolynomial>>
nextSubModuleList()
Parsing method for submodule list.ModuleList
nextSubModuleSet()
Parsing method for module set.TermOrder
nextTermOrder()
Parsing method for term order name.java.lang.String[]
nextVariableList()
Parsing method for variable list.long[][]
nextWeightArray()
Parsing method for weight array.long[]
nextWeightList()
Parsing method for weight list.GenWordPolynomial
nextWordPolynomial()
Parsing method for word polynomial.GenWordPolynomial
nextWordPolynomial(GenWordPolynomialRing wfac)
Parsing method for word polynomial.java.util.List<GenWordPolynomial>
nextWordPolynomialList()
Parsing method for word polynomial list.java.util.List<GenWordPolynomial>
nextWordPolynomialList(GenWordPolynomialRing wfac)
Parsing method for word polynomial list.static java.lang.String[]
variableList(java.lang.String s)
Parse variable list from String.
-
-
-
Constructor Detail
-
GenPolynomialTokenizer
public GenPolynomialTokenizer()
No-args constructor reads from System.in.
-
GenPolynomialTokenizer
public GenPolynomialTokenizer(GenPolynomialRing rf, java.io.Reader r)
Constructor with Ring and Reader.- Parameters:
rf
- ring factory.r
- reader stream.
-
GenPolynomialTokenizer
public GenPolynomialTokenizer(java.io.Reader r)
Constructor with Reader.- Parameters:
r
- reader stream.
-
-
Method Detail
-
initFactory
public void initFactory(RingFactory rf, edu.jas.poly.GenPolynomialTokenizer.coeffType ct)
Initialize coefficient and polynomial factories.- Parameters:
rf
- ring factory.ct
- coefficient type.
-
initSolvableFactory
public void initSolvableFactory(RingFactory rf, edu.jas.poly.GenPolynomialTokenizer.coeffType ct)
Initialize coefficient and solvable polynomial factories.- Parameters:
rf
- ring factory.ct
- coefficient type.
-
nextPolynomial
public GenPolynomial nextPolynomial() throws java.io.IOException
Parsing method for GenPolynomial. Syntax depends also on the syntax of the coefficients, as the respective parser is used. Basic term/monomial syntax:... coefficient variable**exponent ... variable^exponent + ... - ....
Juxtaposition means multiplication*
. Then terms/monomials can be added or subtracted+, -
and grouped by parenthesis()
. There are some heuristics to detect when a coefficient should be parsed. To force parsing of a coefficient enclose it in braces{}
.- Returns:
- the next polynomial.
- Throws:
java.io.IOException
-
nextExponent
public long nextExponent() throws java.io.IOException
Parsing method for exponent (of variable). Syntax:^long | **long
- Returns:
- the next exponent or 1.
- Throws:
java.io.IOException
-
nextComment
public java.lang.String nextComment() throws java.io.IOException
Parsing method for comments. Syntax:(* comment *) | /_* comment *_/
without_
. Unused, as it does not work with this pushBack().- Throws:
java.io.IOException
-
nextVariableList
public java.lang.String[] nextVariableList() throws java.io.IOException
Parsing method for variable list. Syntax:(a, b c, de)
gives[ "a", "b", "c", "de" ]
- Returns:
- the next variable list.
- Throws:
java.io.IOException
-
nextCoefficientRing
public RingFactory nextCoefficientRing() throws java.io.IOException
Parsing method for coefficient ring. Syntax:Rat | Q | Int | Z | Mod modul | Complex | C | D | Quat | AN[ (var) ( poly ) ] | AN[ modul (var) ( poly ) ] | IntFunc (var_list)
- Returns:
- the next coefficient factory.
- Throws:
java.io.IOException
-
nextWeightList
public long[] nextWeightList() throws java.io.IOException
Parsing method for weight list. Syntax:(w1, w2, w3, ..., wn)
- Returns:
- the next weight list.
- Throws:
java.io.IOException
-
nextWeightArray
public long[][] nextWeightArray() throws java.io.IOException
Parsing method for weight array. Syntax:( (w11, ...,w1n), ..., (wm1, ..., wmn) )
- Returns:
- the next weight array.
- Throws:
java.io.IOException
-
nextSplitIndex
public int nextSplitIndex() throws java.io.IOException
Parsing method for split index. Syntax:|i|
- Returns:
- the next split index.
- Throws:
java.io.IOException
-
nextTermOrder
public TermOrder nextTermOrder() throws java.io.IOException
Parsing method for term order name. Syntax:L | IL | LEX | G | IG | GRLEX | W(weights) | '|'split index'|'
- Returns:
- the next term order.
- Throws:
java.io.IOException
-
nextPolynomialList
public java.util.List<GenPolynomial> nextPolynomialList() throws java.io.IOException
Parsing method for polynomial list. Syntax:( p1, p2, p3, ..., pn )
- Returns:
- the next polynomial list.
- Throws:
java.io.IOException
-
nextSubModuleList
public java.util.List<java.util.List<GenPolynomial>> nextSubModuleList() throws java.io.IOException
Parsing method for submodule list. Syntax:( ( p11, p12, p13, ..., p1n ), ..., ( pm1, pm2, pm3, ..., pmn ) )
- Returns:
- the next list of polynomial lists.
- Throws:
java.io.IOException
-
nextRelationTable
public void nextRelationTable() throws java.io.IOException
Parsing method for solvable polynomial relation table. Syntax:( p_1, p_2, p_3, ..., p_{n+1}, p_{n+2}, p_{n+3} )
semantics:p_{n+1} * p_{n+2} = p_{n+3}
. The next relation table is stored into the solvable polynomial factory.- Throws:
java.io.IOException
-
nextPolynomialSet
public PolynomialList nextPolynomialSet() throws java.io.IOException
Parsing method for polynomial set. Syntax:coeffRing varList termOrderName polyList
- Returns:
- the next polynomial set.
- Throws:
java.io.IOException
-
nextSubModuleSet
public ModuleList nextSubModuleSet() throws java.io.IOException
Parsing method for module set. Syntax:coeffRing varList termOrderName moduleList
- Returns:
- the next module set.
- Throws:
java.io.IOException
-
nextSolvablePolynomialList
public java.util.List<GenSolvablePolynomial> nextSolvablePolynomialList() throws java.io.IOException
Parsing method for solvable polynomial list. Syntax:( p1, p2, p3, ..., pn )
- Returns:
- the next solvable polynomial list.
- Throws:
java.io.IOException
-
nextSolvablePolynomial
public GenSolvablePolynomial nextSolvablePolynomial() throws java.io.IOException
Parsing method for solvable polynomial. Syntax: same as for polynomial. If the relation table is set-up, then multiplication will mean solvable-multiplication.- Returns:
- the next polynomial.
- Throws:
java.io.IOException
-
nextSolvablePolynomialSet
public PolynomialList nextSolvablePolynomialSet() throws java.io.IOException
Parsing method for solvable polynomial set. Syntax:varList termOrderName relationTable polyList
- Returns:
- the next solvable polynomial set.
- Throws:
java.io.IOException
-
nextSolvableSubModuleList
public java.util.List<java.util.List<GenSolvablePolynomial>> nextSolvableSubModuleList() throws java.io.IOException
Parsing method for solvable submodule list. Syntax:( ( p11, p12, p13, ..., p1n ), ..., ( pm1, pm2, pm3, ..., pmn ) )
- Returns:
- the next list of solvable polynomial lists.
- Throws:
java.io.IOException
-
nextSolvableSubModuleSet
public ModuleList nextSolvableSubModuleSet() throws java.io.IOException
Parsing method for solvable module set. Syntax:varList termOrderName relationTable moduleList
- Returns:
- the next solvable module set.
- Throws:
java.io.IOException
-
nextWordPolynomial
public GenWordPolynomial nextWordPolynomial() throws java.io.IOException
Parsing method for word polynomial. Syntax: same as for polynomial. Multiplication will be non commutative.- Returns:
- the next polynomial.
- Throws:
java.io.IOException
-
nextWordPolynomial
public GenWordPolynomial nextWordPolynomial(GenWordPolynomialRing wfac) throws java.io.IOException
Parsing method for word polynomial. Syntax: same as for polynomial. Multiplication will be non commutative.- Parameters:
wfac
- word polynomial ring.- Returns:
- the next polynomial.
- Throws:
java.io.IOException
-
nextWordPolynomialList
public java.util.List<GenWordPolynomial> nextWordPolynomialList() throws java.io.IOException
Parsing method for word polynomial list. Syntax:( p1, p2, p3, ..., pn )
- Returns:
- the next word polynomial list.
- Throws:
java.io.IOException
-
nextWordPolynomialList
public java.util.List<GenWordPolynomial> nextWordPolynomialList(GenWordPolynomialRing wfac) throws java.io.IOException
Parsing method for word polynomial list. Syntax:( p1, p2, p3, ..., pn )
- Parameters:
wfac
- word polynomial ring.- Returns:
- the next word polynomial list.
- Throws:
java.io.IOException
-
nextExteriorPolynomial
public GenExteriorPolynomial nextExteriorPolynomial() throws java.io.IOException
Parsing method for exterior polynomial. Syntax: same as for polynomial. Multiplication will be non commutative.- Returns:
- the next polynomial.
- Throws:
java.io.IOException
-
nextExteriorPolynomial
public GenExteriorPolynomial nextExteriorPolynomial(GenExteriorPolynomialRing wfac) throws java.io.IOException
Parsing method for exterior polynomial. Syntax: except for index list same as for polynomial. Multiplication will be anti-commutative.- Parameters:
wfac
- exterior polynomial ring.- Returns:
- the next polynomial.
- Throws:
java.io.IOException
-
nextExteriorPolynomialList
public java.util.List<GenExteriorPolynomial> nextExteriorPolynomialList() throws java.io.IOException
Parsing method for exterior polynomial list. Syntax:( p1, p2, p3, ..., pn )
- Returns:
- the next exterior polynomial list.
- Throws:
java.io.IOException
-
nextExteriorPolynomialList
public java.util.List<GenExteriorPolynomial> nextExteriorPolynomialList(GenExteriorPolynomialRing wfac) throws java.io.IOException
Parsing method for exterior polynomial list. Syntax:( p1, p2, p3, ..., pn )
- Parameters:
wfac
- exterior polynomial ring.- Returns:
- the next exterior polynomial list.
- Throws:
java.io.IOException
-
nextComma
public void nextComma() throws java.io.IOException
- Throws:
java.io.IOException
-
variableList
public static java.lang.String[] variableList(java.lang.String s)
Parse variable list from String.- Parameters:
s
- String. Syntax:(n1,...,nk)
or(n1 ... nk)
parenthesis are optional.- Returns:
- array of variable names found in s.
-
expressionVariables
public static java.lang.String[] expressionVariables(java.lang.String s)
Extract variable list from expression.- Parameters:
s
- String. Syntax: any polynomial expression.- Returns:
- array of variable names found in s.
-
-