PolyBoRi
nf.h
Go to the documentation of this file.
1 /*
2  * nf.h
3  * PolyBoRi
4  *
5  * Created by Michael Brickenstein on 25.04.06.
6  * Copyright 2006 The PolyBoRi Team. See LICENSE file.
7  *
8  */
9 
10 
11 #include <algorithm>
12 #include <vector>
13 #include <queue>
14 
15 #include "SlimgbReduction.h"
16 #include "groebner_alg.h"
17 
18 
19 #ifdef PBORI_HAVE_M4RI
20 extern "C"{
21 #include <m4ri/m4ri.h>
22 
23 #ifndef __M4RI_TWOPOW
24 #define __M4RI_TWOPOW TWOPOW
25 #endif
26 }
27 #endif
28 #ifndef PBORI_GB_NF_H
29 #define PBORI_GB_NF_H
31 
32 class ReductionStrategy;
33 int select_no_deg_growth(const ReductionStrategy& strat, const Monomial& m);
34 
36 
37 std::vector<Polynomial> parallel_reduce(std::vector<Polynomial> inp, GroebnerStrategy& strat, int average_steps, double delay_f);
38 
39 Polynomial nf3(const ReductionStrategy& strat, Polynomial p, Monomial rest_lead);
41 
42 Polynomial plug_1(const Polynomial& p, const MonomialSet& m_plus_ones);
43 MonomialSet mod_mon_set(const MonomialSet& as, const MonomialSet &vs);
44 
46 
51 
52 
54 #endif
int select_no_deg_growth(const ReductionStrategy &strat, const Monomial &m)
Definition: nf.cc:721
SlimgbReduction< SLIMGB_SIMPLEST > slimgb_reduction_type
Definition: nf.h:35
Polynomial cheap_reductions(const ReductionStrategy &strat, Polynomial p)
Definition: nf.cc:831
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
Polynomial nf3_short(const ReductionStrategy &strat, Polynomial p)
Definition: nf.cc:192
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
std::vector< Polynomial > parallel_reduce(std::vector< Polynomial > inp, GroebnerStrategy &strat, int average_steps, double delay_f)
Definition: nf.cc:565
Polynomial plug_1(const Polynomial &p, const MonomialSet &m_plus_ones)
Definition: nf.cc:818
This class wraps the underlying decicion diagram type and defines the necessary operations.
Definition: BoolePolynomial.h:85
MonomialSet mod_mon_set(const MonomialSet &as, const MonomialSet &vs)
Definition: nf.cc:855
This class defines GroebnerStrategy.
Definition: GroebnerStrategy.h:41
Polynomial nf3_lexbuckets(const GroebnerStrategy &strat, Polynomial p, Monomial rest_lead)
Definition: nf.cc:91
This class defines SlimgbReduction.
Definition: SlimgbReduction.h:36
Polynomial nf3_no_deg_growth(const ReductionStrategy &strat, Polynomial p, Monomial rest_lead)
Definition: nf.cc:125
Definition: BooleSet.h:57
This class defines ReductionStrategy.
Definition: ReductionStrategy.h:34
This class is just a wrapper for using variables from cudd's decicion diagram.
Definition: BooleMonomial.h:50
BooleMonomial Monomial
Definition: embed.h:53
Polynomial nf3(const ReductionStrategy &strat, Polynomial p, Monomial rest_lead)
Definition: nf.cc:64
Polynomial nf3_degree_order(const ReductionStrategy &strat, Polynomial p, Monomial lead)
Definition: nf.cc:151