Class RingFactoryTokenizer

java.lang.Object
edu.jas.application.RingFactoryTokenizer

public class RingFactoryTokenizer extends Object
RingFactory Tokenizer. Used to read ring factories from input streams. It can also read QuotientRing factory.
See Also:
  • Field Details

  • Constructor Details

    • RingFactoryTokenizer

      public RingFactoryTokenizer()
      No-args constructor reads from System.in.
    • RingFactoryTokenizer

      public RingFactoryTokenizer(GenPolynomialRing rf, Reader r)
      Constructor with Ring and Reader.
      Parameters:
      rf - ring factory.
      r - reader stream.
    • RingFactoryTokenizer

      public RingFactoryTokenizer(Reader r)
      Constructor with Reader.
      Parameters:
      r - reader stream.
  • Method Details

    • initFactory

      public void initFactory(RingFactory rf, RingFactoryTokenizer.coeffType ct)
      Initialize coefficient and polynomial factories.
      Parameters:
      rf - ring factory.
      ct - coefficient type.
    • initSolvableFactory

      public void initSolvableFactory(RingFactory rf, RingFactoryTokenizer.coeffType ct)
      Initialize coefficient and solvable polynomial factories.
      Parameters:
      rf - ring factory.
      ct - coefficient type.
    • nextVariableList

      public String[] nextVariableList() throws IOException
      Parsing method for variable list. Syntax:
       (a, b c, de)
       
      gives [ "a", "b", "c", "de" ]
      Returns:
      the next variable list.
      Throws:
      IOException
    • nextCoefficientRing

      public RingFactory nextCoefficientRing() throws IOException
      Parsing method for coefficient ring. Syntax:
       Rat | Q | Int | Z | Mod modul | Complex | C | D | Quat |
          AN[ (var) ( poly ) | AN[ modul (var) ( poly ) ] | 
          RatFunc (var_list) | ModFunc modul (var_list) | IntFunc (var_list)
       
      Returns:
      the next coefficient factory.
      Throws:
      IOException
    • nextWeightList

      public long[] nextWeightList() throws IOException
      Parsing method for weight list. Syntax:
       (w1, w2, w3, ..., wn)
       
      Returns:
      the next weight list.
      Throws:
      IOException
    • nextWeightArray

      public long[][] nextWeightArray() throws IOException
      Parsing method for weight array. Syntax:
       ( (w11, ...,w1n), ..., (wm1, ..., wmn) )
       
      Returns:
      the next weight array.
      Throws:
      IOException
    • nextSplitIndex

      public int nextSplitIndex() throws IOException
      Parsing method for split index. Syntax:
       |i|
       
      Returns:
      the next split index.
      Throws:
      IOException
    • nextTermOrder

      public TermOrder nextTermOrder() throws IOException
      Parsing method for term order name. Syntax:
       L | IL | LEX | G | IG | GRLEX | W(weights) | '|'split index'|'
       
      Returns:
      the next term order.
      Throws:
      IOException
    • nextRelationTable

      public void nextRelationTable() throws 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:
      IOException
    • nextPolynomialRing

      public GenPolynomialRing nextPolynomialRing() throws IOException
      Parsing method for polynomial ring. Syntax:
       coeffRing varList termOrderName (no polyList)
       
      Returns:
      the next polynomial ring.
      Throws:
      IOException
    • nextSolvablePolynomialRing

      public GenSolvablePolynomialRing nextSolvablePolynomialRing() throws IOException
      Parsing method for solvable polynomial ring. Syntax:
       varList termOrderName relationTable (no polyList)
       
      Returns:
      the next solvable polynomial ring.
      Throws:
      IOException
    • digit

      static boolean digit(char x)
    • nextComma

      public void nextComma() throws IOException
      Throws:
      IOException
    • nextSubModuleRing

      public GenPolynomialRing nextSubModuleRing() throws IOException
      Parsing method for module ring. Syntax:
       coeffRing varList termOrderName (no moduleList)
       
      Returns:
      the next module ring.
      Throws:
      IOException
    • nextSolvableSubModuleRing

      public GenSolvablePolynomialRing nextSolvableSubModuleRing() throws IOException
      Parsing method for solvable module ring. Syntax:
       varList termOrderName relationTable (no moduleList*)
       
      Returns:
      the next solvable module ring.
      Throws:
      IOException