Macaulay2 Engine
Loading...
Searching...
No Matches
monordering.hpp
Go to the documentation of this file.
1// TODO: move this file: these are interface routines
2
3#ifndef __monordering_hpp_
4#define __monordering_hpp_
5
38
39#include <string>
40#include <vector>
41
57public:
58 static std::string toString(const MonomialOrdering *mo);
59 static MonomialOrdering* join(const std::vector<MonomialOrdering*>& M);
60 static MonomialOrdering* product(const std::vector<MonomialOrdering*>& M);
61 static MonomialOrdering* Lex(int nvars);
62 static MonomialOrdering* Lex2(int nvars);
63 static MonomialOrdering* Lex4(int nvars);
64 static MonomialOrdering* GRevLex(int nvars);
65 static MonomialOrdering* GRevLex2(int nvars);
66 static MonomialOrdering* GRevLex4(int nvars);
67 static MonomialOrdering* GRevLex(const std::vector<int>& wts);
68 static MonomialOrdering* GRevLex2(const std::vector<int>& wts);
69 static MonomialOrdering* GRevLex4(const std::vector<int>& wts);
70 static MonomialOrdering* RevLex(int nvars);
71 static MonomialOrdering* Weights(const std::vector<int>& wts);
72 static MonomialOrdering* GroupLex(int nvars);
73 static MonomialOrdering* GroupRevLex(int nvars);
76
77 static MonomialOrdering* GRevLex(const std::vector<int>& wts, int packing);
78};
79
80// This is currently located in interface/monomial-ordering.cpp
82 const struct MonomialOrdering &mo,
83 std::vector<int> &mat,
84 bool &base_is_revlex,
85 int &component_direction, // -1 is Down, +1 is Up, 0 is not present
86 int &component_is_before_row); // -1 means at the end, 0 means before the
87 // order, and r means considered before row
88 // 'r' of the matrix.
89
90#endif
91
92/*
93// Local Variables:
94// compile-command: "make -C $M2BUILDDIR/Macaulay2/e "
95// indent-tabs-mode: nil
96// End:
97*/
static MonomialOrdering * GRevLex2(int nvars)
static MonomialOrdering * Weights(const std::vector< int > &wts)
static MonomialOrdering * Lex4(int nvars)
static MonomialOrdering * Lex2(int nvars)
static MonomialOrdering * PositionDown()
static MonomialOrdering * PositionUp()
static MonomialOrdering * GRevLex(int nvars)
static MonomialOrdering * GRevLex4(int nvars)
static MonomialOrdering * GroupLex(int nvars)
static MonomialOrdering * product(const std::vector< MonomialOrdering * > &M)
static MonomialOrdering * Lex(int nvars)
static MonomialOrdering * GroupRevLex(int nvars)
static MonomialOrdering * RevLex(int nvars)
static std::string toString(const MonomialOrdering *mo)
static MonomialOrdering * join(const std::vector< MonomialOrdering * > &M)
Static-method namespace of constructors for the front-end MonomialOrdering value type.
bool monomialOrderingToMatrix(const struct MonomialOrdering &mo, std::vector< int > &mat, bool &base_is_revlex, int &component_direction, int &component_is_before_row)
Front-end-side description of a monomial ordering as a list of mon_part blocks.