35 int main (
int argc, 
char **argv)
 
   37     cout << 
"#########################################################" << endl;
 
   38     cout << 
"#               TUTORIAL WITH LIBRARY USE               #" << endl;
 
   39     cout << 
"#########################################################" << endl << endl;
 
   42     vector<string> polynomialArray;
 
   45     vector<string> variableName;
 
   46     for(
int i = 0; i < 6; i++)
 
   48         variableName.push_back(
'x'+to_string(i));
 
   52     polynomialArray.emplace_back(
"(t+t^3)*x0+(t+t^3)*x1+(t+t^3)*x2+(t+t^3)*x3+(t+t^3)*x4+(t+t^3)*x5");
 
   53     polynomialArray.emplace_back(
"(t+t^3)*x0*x1+(t+t^3)*x1*x2+(t+t^3)*x2*x3+(t+t^3)*x3*x4+(t+t^3)*x0*x5+(t+t^3)*x4*x5");
 
   54     polynomialArray.emplace_back(
"(t+t^3)*x0*x1*x2+(t+t^3)*x1*x2*x3+(t+t^3)*x2*x3*x4+(t+t^3)*x0*x1*x5+(t+t^3)*x0*x4*x5+(t+t^3)*x3*x4*x5");
 
   55     polynomialArray.emplace_back(
"(t+t^3)*x0*x1*x2*x3+(t+t^3)*x1*x2*x3*x4+(t+t^3)*x0*x1*x2*x5+(t+t^3)*x0*x1*x4*x5+(t+t^3)*x0*x3*x4*x5+(t+t^3)*x2*x3*x4*x5");
 
   56     polynomialArray.emplace_back(
"(t+t^3)*x0*x1*x2*x3*x4+(t+t^3)*x0*x1*x2*x3*x5+(t+t^3)*x0*x1*x2*x4*x5+(t+t^3)*x0*x1*x3*x4*x5+(t+t^3)*x0*x2*x3*x4*x5+(t+t^3)*x1*x2*x3*x4*x5");
 
   57     polynomialArray.emplace_back(
"(t+t^3)*x0*x1*x2*x3*x4*x5-1");
 
   60     vector<string> basis = 
groebnerBasisGF2ExtensionF4(
"t^63 + t^61 + t^57 + t^56 + t^54 + t^51 + t^47 + t^46 + t^45 + t^44 + t^43 + t^42 + t^39 + t^38 + t^35 + t^34 + t^32 + t^31 + t^28 + t^25 + t^24 + t^23 + t^21 + t^19 + t^18 + t^17 + t^15 + t^13 + t^10 + t^8 + t^7 + t^5 + t^2 + t + 1", 6, variableName, 
"t", polynomialArray, 1, 0);
 
   63     for(
size_t i = 0; i < basis.size(); i++)
 
   65         cout << basis[i] << endl;
 
std::vector< std::string > groebnerBasisGF2ExtensionF4(std::string modulo, int nbVariable, std::vector< std::string > variableName, std::string polyVarName, std::vector< std::string > polynomialList, int nbThread, int verbose)
Compute a reduced groebner basis of the ideal defined by the list of polynomials polynomialList. 
 
Declaration of library methods.