~ubuntu-branches/ubuntu/saucy/gfan/saucy-proposed

« back to all changes in this revision

Viewing changes to traverser_groebnerfan.h

  • Committer: Package Import Robot
  • Author(s): Cédric Boutillier
  • Date: 2013-07-09 10:44:01 UTC
  • mfrom: (2.1.2 experimental)
  • Revision ID: package-import@ubuntu.com-20130709104401-5q66ozz5j5af0dak
Tags: 0.5+dfsg-3
* Upload to unstable.
* modify remove_failing_tests_on_32bits.patch to replace command of
  0009RenderStairCase test with an empty one instead of deleting it.
* remove lintian override about spelling error

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef TRAVERSER_GROEBNERFAN_H_INCLUDED
 
2
#define TRAVERSER_GROEBNERFAN_H_INCLUDED
 
3
 
 
4
#include "symmetrictraversal.h"
 
5
#include "polynomial.h"
 
6
 
 
7
/**
 
8
 * This routine computes all reduced Groebner bases of the ideal generated by g whose Groebner cone intersects
 
9
 * the cone c in maximal dimension.
 
10
 */
 
11
PolynomialSet groebnerBasisWithFullDimensionalIntersection(PolynomialSet g, PolyhedralCone const &c);
 
12
 
 
13
class GroebnerFanTraverser: public ConeTraverser
 
14
{
 
15
        PolynomialSet groebnerBasis;
 
16
        PolyhedralCone theCone;
 
17
        PolyhedralCone theRestrictingCone;
 
18
        bool isHomogeneous;
 
19
        bool isKnownToBeComplete;
 
20
        int n,d;
 
21
        void updatePolyhedralCone();
 
22
public:
 
23
        GroebnerFanTraverser(PolynomialSet const &groebnerBasis_);
 
24
        GroebnerFanTraverser(PolynomialSet const &groebnerBasis_, PolyhedralCone const &restrictingCone);
 
25
        virtual void changeCone(IntegerVector const &ridgeVector, IntegerVector const &rayVector);
 
26
        virtual IntegerVectorList link(IntegerVector const &ridgeVector);
 
27
        PolyhedralCone & refToPolyhedralCone();
 
28
        PolynomialSet &refToGroebnerBasisRepresentation();
 
29
        PolynomialSet initialIdeal()const;
 
30
        /**
 
31
         * Tells the traverser that the fan to be traversed is complete.
 
32
         */
 
33
        void setIsKnownToBeComplete(bool complete);
 
34
};
 
35
 
 
36
#endif