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