OPENF4
Library for Gröebner basis computations over finite fields.
|
Classes | |
class | Term |
Represent a term. More... | |
class | TaggedPolynomial |
Represent a tagged polynomial. More... | |
struct | NodeList |
Represent a node of the single chained list. More... | |
class | SingleList |
Represent a single chained list. More... | |
class | Polynomial |
Represent a polynomial. More... | |
class | MonomialArray |
Represent a array of monomials. More... | |
class | Monomial |
Represent a monomial. More... | |
class | Matrix |
Represent a matrix. More... | |
struct | Stat |
Structure used for statistics. More... | |
class | Ideal |
Represent an ideal. More... | |
class | ElementPrime |
Represent an element of a prime field, this class is a POD (Plain Old Data) because of the alignement required in class Matrix. More... | |
class | ElementGF2Extension |
Represent an element of an extension of GF2, this class is a POD (Plain Old Data) because of the alignement required in class Matrix. More... | |
class | ElementGF2 |
Represent an element of the field GF(2), this class is a POD (Plain Old Data) because of the alignement required in class Matrix. More... | |
class | DynamicArray |
Represent a dynamic array whose the width is fixed, the memory is allocated by blocs. More... | |
class | CriticalPair |
Represent a critical pair. More... | |
struct | NodeAvlPolynomial |
Represent a node of the AVL of polynomial. More... | |
class | AvlPolynomial |
Represent an avl of triple (number of a polynomial, number of its leading monomial, number of terms). More... | |
struct | NodeAvlMonomial |
Represent a node of the AVL of monomials. More... | |
class | AvlMonomial |
Represent an avl of pair (number of a monomial, is leading monomial). More... | |
struct | NodeAvlCriticalPair |
Represent a node of the AVL of critical pairs. More... | |
class | AvlCriticalPair |
Represent an avl of critical pair. More... | |
Functions | |
template<typename Element > | |
std::ostream & | operator<< (std::ostream &stream, Term< Element > const &term) |
Overload the operator <<. More... | |
template<typename Element > | |
Term< Element > | operator* (Monomial const &mon, Term< Element > const &term) |
Overload the operator *. More... | |
template<typename Element > | |
Term< Element > | operator* (Term< Element > const &term, Monomial const &mon) |
Overload the operator *. More... | |
template<typename Element > | |
Term< Element > | operator* (Term< Element > const &term1, Term< Element > const &term2) |
Overload the operator *. More... | |
template<typename Element > | |
bool | operator> (Term< Element > const &term1, Term< Element > const &term2) |
Overload the operator >. More... | |
template<typename Element > | |
bool | operator< (Term< Element > const &term1, Term< Element > const &term2) |
Overload the operator <. More... | |
template<typename Element > | |
std::ostream & | operator<< (std::ostream &stream, TaggedPolynomial< Element > const &taggedPolynomial) |
Overload the operator <<. More... | |
template<typename Element > | |
bool | operator== (TaggedPolynomial< Element > const &taggedPolynomial1, TaggedPolynomial< Element > const &taggedPolynomial2) |
Overload the operator ==. More... | |
template<typename Element > | |
bool | operator> (TaggedPolynomial< Element > const &taggedPolynomial1, TaggedPolynomial< Element > const &taggedPolynomial2) |
Overload the operator >. More... | |
template<typename Element > | |
bool | operator>= (TaggedPolynomial< Element > const &taggedPolynomial1, TaggedPolynomial< Element > const &taggedPolynomial2) |
Overload the operator >=. More... | |
template<typename Element > | |
bool | operator< (TaggedPolynomial< Element > const &taggedPolynomial1, TaggedPolynomial< Element > const &taggedPolynomial2) |
Overload the operator <. More... | |
template<typename Element > | |
bool | operator<= (TaggedPolynomial< Element > const &taggedPolynomial1, TaggedPolynomial< Element > const &taggedPolynomial2) |
Overload the operator <=. More... | |
template<typename Element > | |
TaggedPolynomial< Element > | operator* (Monomial const &monomial, TaggedPolynomial< Element > const &taggedPolynomial) |
Overload the operator *= to multiply this with a monomial. More... | |
template<typename Element > | |
TaggedPolynomial< Element > | operator* (TaggedPolynomial< Element > const &taggedPolynomial, Monomial const &monomial) |
Overload the operator *= to multiply this with a monomial. More... | |
template<typename Element > | |
TaggedPolynomial< Element > | operator* (Element element, TaggedPolynomial< Element > const &taggedPolynomial) |
Overload the operator *= to multiply this with an Element. More... | |
template<typename Element > | |
TaggedPolynomial< Element > | operator* (TaggedPolynomial< Element > const &taggedPolynomial, Element element) |
Overload the operator *= to multiply this with an Element. More... | |
template<typename Element > | |
TaggedPolynomial< Element > | operator* (Term< Element > const &term, TaggedPolynomial< Element > const &taggedPolynomial) |
Overload the operator *= to multiply this with a term. More... | |
template<typename Element > | |
TaggedPolynomial< Element > | operator* (TaggedPolynomial< Element > const &taggedPolynomial, Term< Element > const &term) |
Overload the operator *= to multiply this with a term. More... | |
template<typename Element > | |
std::ostream & | operator<< (std::ostream &stream, SingleList< Element > const &list) |
Overload the operator <<. More... | |
template<typename Element > | |
std::ostream & | operator<< (std::ostream &stream, Polynomial< Element > const &polynomial) |
Overload the operator <<. More... | |
template<typename Element > | |
Polynomial< Element > | operator* (Monomial const &monomial, Polynomial< Element > const &polynomial) |
Overload the operator *= to multiply this with a monomial. More... | |
template<typename Element > | |
Polynomial< Element > | operator* (Polynomial< Element > const &polynomial, Monomial const &monomial) |
Overload the operator *= to multiply this with a monomial. More... | |
template<typename Element > | |
Polynomial< Element > | operator* (Element element, Polynomial< Element > const &polynomial) |
Overload the operator *= to multiply this with an Element. More... | |
template<typename Element > | |
Polynomial< Element > | operator* (Polynomial< Element > const &polynomial, Element element) |
Overload the operator *= to multiply this with an Element. More... | |
template<typename Element > | |
Polynomial< Element > | operator* (Term< Element > const &term, Polynomial< Element > const &polynomial) |
Overload the operator *= to multiply this with a term. More... | |
template<typename Element > | |
Polynomial< Element > | operator* (Polynomial< Element > const &polynomial, Term< Element > const &term) |
Overload the operator *= to multiply this with a term. More... | |
std::ostream & | operator<< (std::ostream &stream, Monomial const &mon) |
Overload the operator <<. More... | |
bool | operator== (Monomial const &mon1, Monomial const &mon2) |
Overload the operator ==. More... | |
bool | operator> (Monomial const &mon1, Monomial const &mon2) |
Overload the operator >. More... | |
bool | operator>= (Monomial const &mon1, Monomial const &mon2) |
Overload the operator >=. More... | |
bool | operator< (Monomial const &mon1, Monomial const &mon2) |
Overload the operator <. More... | |
bool | operator<= (Monomial const &mon1, Monomial const &mon2) |
Overload the operator <=. More... | |
template<typename Element > | |
std::ostream & | operator<< (std::ostream &stream, Matrix< Element > const &matrix) |
Overload the operator <<. More... | |
template<typename baseType > | |
std::ostream & | operator<< (std::ostream &stream, ElementPrime< baseType > const &element) |
Overload the operator <<. More... | |
template<typename baseType > | |
ElementPrime< baseType > | operator* (ElementPrime< baseType > const &element1, ElementPrime< baseType > const &element2) |
Overload the operator *. More... | |
template<typename baseType > | |
ElementPrime< baseType > | operator- (ElementPrime< baseType > const &element) |
Overload the operator -. More... | |
template<typename baseType > | |
std::ostream & | operator<< (std::ostream &stream, ElementGF2Extension< baseType > const &element) |
Overload the operator <<. More... | |
template<typename baseType > | |
ElementGF2Extension< baseType > | operator* (ElementGF2Extension< baseType > const &element1, ElementGF2Extension< baseType > const &element2) |
Overload the operator *. More... | |
template<typename baseType > | |
ElementGF2Extension< baseType > | operator- (ElementGF2Extension< baseType > const &element) |
Overload the operator -. More... | |
std::ostream & | operator<< (std::ostream &stream, ElementGF2 const &element) |
Overload the operator <<. More... | |
ElementGF2 | operator* (ElementGF2 const &element1, ElementGF2 const &element2) |
Overload the operator *. More... | |
ElementGF2 | operator- (ElementGF2 const &element) |
Overload the operator -. More... | |
template<typename dataType > | |
std::ostream & | operator<< (std::ostream &stream, DynamicArray< dataType > const &dynamicArray) |
Overload the operator <<. More... | |
template<typename Element > | |
std::ostream & | operator<< (std::ostream &stream, CriticalPair< Element > const &criticalPair) |
Overload the operator <<. More... | |
template<typename Element > | |
bool | operator== (CriticalPair< Element > const &criticalPair1, CriticalPair< Element > const &criticalPair2) |
Overload the operator ==. More... | |
template<typename Element > | |
bool | operator> (CriticalPair< Element > const &criticalPair1, CriticalPair< Element > const &criticalPair2) |
Overload the operator >. More... | |
template<typename Element > | |
bool | operator>= (CriticalPair< Element > const &criticalPair1, CriticalPair< Element > const &criticalPair2) |
Overload the operator >=. More... | |
template<typename Element > | |
bool | operator< (CriticalPair< Element > const &criticalPair1, CriticalPair< Element > const &criticalPair2) |
Overload the operator <. More... | |
template<typename Element > | |
bool | operator<= (CriticalPair< Element > const &criticalPair1, CriticalPair< Element > const &criticalPair2) |
Overload the operator <=. More... | |
void | printNode (NodeAvlPolynomial *p, int indent=0) |
Print the AVL of root p. More... | |
template<typename dataType > | |
std::ostream & | operator<< (std::ostream &stream, AvlPolynomial const &AvlPolynomial) |
Overload the operator <<. More... | |
void | printNode (NodeAvlMonomial *p, int indent=0) |
Print the AVL of root p. More... | |
template<typename dataType > | |
std::ostream & | operator<< (std::ostream &stream, AvlMonomial const &avlMonomial) |
Overload the operator <<. More... | |
template<typename Element > | |
void | printNode (NodeAvlCriticalPair< Element > *p, int indent=0) |
Print the AVL of root p. More... | |
template<typename Element > | |
std::ostream & | operator<< (std::ostream &stream, AvlCriticalPair< Element > const &avlCriticalPair) |
Overload the operator <<. More... | |
Group all the required tools used by the F4 algorithm.
ElementGF2 F4::operator* | ( | ElementGF2 const & | element1, |
ElementGF2 const & | element2 | ||
) |
Overload the operator *.
ElementPrime<baseType> F4::operator* | ( | ElementPrime< baseType > const & | element1, |
ElementPrime< baseType > const & | element2 | ||
) |
Overload the operator *.
Term<Element> F4::operator* | ( | Monomial const & | mon, |
Term< Element > const & | term | ||
) |
Overload the operator *.
Term<Element> F4::operator* | ( | Term< Element > const & | term, |
Monomial const & | mon | ||
) |
Overload the operator *.
Term<Element> F4::operator* | ( | Term< Element > const & | term1, |
Term< Element > const & | term2 | ||
) |
Overload the operator *.
Polynomial<Element> F4::operator* | ( | Monomial const & | monomial, |
Polynomial< Element > const & | polynomial | ||
) |
Overload the operator *= to multiply this with a monomial.
mon | Monomial. |
polynomial | Polynomial. |
Polynomial<Element> F4::operator* | ( | Polynomial< Element > const & | polynomial, |
Monomial const & | monomial | ||
) |
Overload the operator *= to multiply this with a monomial.
mon | Monomial. |
polynomial | Polynomial. |
Polynomial<Element> F4::operator* | ( | Element | element, |
Polynomial< Element > const & | polynomial | ||
) |
Overload the operator *= to multiply this with an Element.
element | Element. |
polynomial | Polynomial. |
Polynomial<Element> F4::operator* | ( | Polynomial< Element > const & | polynomial, |
Element | element | ||
) |
Overload the operator *= to multiply this with an Element.
element | Element. |
polynomial | Polynomial. |
Polynomial<Element> F4::operator* | ( | Term< Element > const & | term, |
Polynomial< Element > const & | polynomial | ||
) |
Overload the operator *= to multiply this with a term.
term | Term. |
polynomial | Polynomial. |
Polynomial<Element> F4::operator* | ( | Polynomial< Element > const & | polynomial, |
Term< Element > const & | term | ||
) |
Overload the operator *= to multiply this with a term.
term | Term. |
polynomial | Polynomial. |
ElementGF2Extension<baseType> F4::operator* | ( | ElementGF2Extension< baseType > const & | element1, |
ElementGF2Extension< baseType > const & | element2 | ||
) |
Overload the operator *.
TaggedPolynomial<Element> F4::operator* | ( | Monomial const & | monomial, |
TaggedPolynomial< Element > const & | taggedPolynomial | ||
) |
Overload the operator *= to multiply this with a monomial.
mon | Monomial. |
TaggedPolynomial | taggedPolynomial. |
TaggedPolynomial<Element> F4::operator* | ( | TaggedPolynomial< Element > const & | taggedPolynomial, |
Monomial const & | monomial | ||
) |
Overload the operator *= to multiply this with a monomial.
mon | Monomial. |
TaggedPolynomial | taggedPolynomial. |
TaggedPolynomial<Element> F4::operator* | ( | Element | element, |
TaggedPolynomial< Element > const & | taggedPolynomial | ||
) |
Overload the operator *= to multiply this with an Element.
element | Element. |
TaggedPolynomial | taggedPolynomial. |
TaggedPolynomial<Element> F4::operator* | ( | TaggedPolynomial< Element > const & | taggedPolynomial, |
Element | element | ||
) |
Overload the operator *= to multiply this with an Element.
element | Element. |
TaggedPolynomial | taggedPolynomial. |
TaggedPolynomial<Element> F4::operator* | ( | Term< Element > const & | term, |
TaggedPolynomial< Element > const & | taggedPolynomial | ||
) |
Overload the operator *= to multiply this with a term.
term | Term. |
TaggedPolynomial | taggedPolynomial. |
TaggedPolynomial<Element> F4::operator* | ( | TaggedPolynomial< Element > const & | taggedPolynomial, |
Term< Element > const & | term | ||
) |
Overload the operator *= to multiply this with a term.
term | Term. |
TaggedPolynomial | taggedPolynomial. |
ElementGF2 F4::operator- | ( | ElementGF2 const & | element | ) |
Overload the operator -.
ElementPrime<baseType> F4::operator- | ( | ElementPrime< baseType > const & | element | ) |
Overload the operator -.
ElementGF2Extension<baseType> F4::operator- | ( | ElementGF2Extension< baseType > const & | element | ) |
Overload the operator -.
bool F4::operator< | ( | CriticalPair< Element > const & | criticalPair1, |
CriticalPair< Element > const & | criticalPair2 | ||
) |
Overload the operator <.
bool F4::operator< | ( | Term< Element > const & | term1, |
Term< Element > const & | term2 | ||
) |
bool F4::operator< | ( | TaggedPolynomial< Element > const & | taggedPolynomial1, |
TaggedPolynomial< Element > const & | taggedPolynomial2 | ||
) |
Overload the operator <.
bool F4::operator< | ( | Monomial const & | mon1, |
Monomial const & | mon2 | ||
) |
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
ElementGF2 const & | element | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
DynamicArray< dataType > const & | dynamicArray | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
AvlMonomial const & | avlMonomial | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
AvlPolynomial const & | AvlPolynomial | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
ElementPrime< baseType > const & | element | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
CriticalPair< Element > const & | criticalPair | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
Term< Element > const & | term | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
AvlCriticalPair< Element > const & | avlCriticalPair | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
Polynomial< Element > const & | polynomial | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
TaggedPolynomial< Element > const & | taggedPolynomial | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
SingleList< Element > const & | list | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
ElementGF2Extension< baseType > const & | element | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
Monomial const & | mon | ||
) |
Overload the operator <<.
std::ostream& F4::operator<< | ( | std::ostream & | stream, |
Matrix< Element > const & | matrix | ||
) |
Overload the operator <<.
bool F4::operator<= | ( | CriticalPair< Element > const & | criticalPair1, |
CriticalPair< Element > const & | criticalPair2 | ||
) |
Overload the operator <=.
bool F4::operator<= | ( | TaggedPolynomial< Element > const & | taggedPolynomial1, |
TaggedPolynomial< Element > const & | taggedPolynomial2 | ||
) |
Overload the operator <=.
bool F4::operator<= | ( | Monomial const & | mon1, |
Monomial const & | mon2 | ||
) |
bool F4::operator== | ( | CriticalPair< Element > const & | criticalPair1, |
CriticalPair< Element > const & | criticalPair2 | ||
) |
Overload the operator ==.
bool F4::operator== | ( | TaggedPolynomial< Element > const & | taggedPolynomial1, |
TaggedPolynomial< Element > const & | taggedPolynomial2 | ||
) |
Overload the operator ==.
bool F4::operator== | ( | Monomial const & | mon1, |
Monomial const & | mon2 | ||
) |
bool F4::operator> | ( | CriticalPair< Element > const & | criticalPair1, |
CriticalPair< Element > const & | criticalPair2 | ||
) |
Overload the operator >.
bool F4::operator> | ( | Term< Element > const & | term1, |
Term< Element > const & | term2 | ||
) |
bool F4::operator> | ( | TaggedPolynomial< Element > const & | taggedPolynomial1, |
TaggedPolynomial< Element > const & | taggedPolynomial2 | ||
) |
Overload the operator >.
bool F4::operator> | ( | Monomial const & | mon1, |
Monomial const & | mon2 | ||
) |
bool F4::operator>= | ( | CriticalPair< Element > const & | criticalPair1, |
CriticalPair< Element > const & | criticalPair2 | ||
) |
Overload the operator >=.
bool F4::operator>= | ( | TaggedPolynomial< Element > const & | taggedPolynomial1, |
TaggedPolynomial< Element > const & | taggedPolynomial2 | ||
) |
Overload the operator >=.
bool F4::operator>= | ( | Monomial const & | mon1, |
Monomial const & | mon2 | ||
) |
void F4::printNode | ( | NodeAvlPolynomial * | p, |
int | indent = 0 |
||
) |
Print the AVL of root p.
p | Pointer on a node of the AVL. |
void F4::printNode | ( | NodeAvlMonomial * | p, |
int | indent = 0 |
||
) |
Print the AVL of root p.
p | Pointer on a node of the AVL. |
void F4::printNode | ( | NodeAvlCriticalPair< Element > * | p, |
int | indent = 0 |
||
) |
Print the AVL of root p.
p | Pointer on a node of the AVL. |