3 #ifndef _BPAS_TRISET_H_ 4 #define _BPAS_TRISET_H_ 6 #include "../Polynomial/BPASRecursivePolynomial.hpp" 13 template <
class Field,
class RecursiveFieldPoly>
15 private Derived_from<Field, BPASField<Field>>,
16 private Derived_from<RecursiveFieldPoly, BPASRecursivelyViewedPolynomial<Field,RecursiveFieldPoly>>
23 virtual int numberOfVariables()
const = 0;
24 virtual std::vector<Symbol> variables()
const = 0;
26 virtual RecursiveFieldPoly select(
const Symbol&)
const = 0;
29 virtual RecursiveFieldPoly pseudoDivide (
const RecursiveFieldPoly&, std::vector<RecursiveFieldPoly>*, RecursiveFieldPoly*)
const = 0;
30 virtual RecursiveFieldPoly normalForm (
const RecursiveFieldPoly&, std::vector<RecursiveFieldPoly>*)
const = 0;
An abstract class defining the interface of a triangular set.
Definition: BPASTriangularSet.hpp:14
An encapsulation of a mathematical symbol.
Definition: Symbol.hpp:23