Frobby  0.9.0
SliceParameters.h
Go to the documentation of this file.
1 /* Frobby: Software for monomial ideal computations.
2  Copyright (C) 2007 Bjarke Hammersholt Roune (www.broune.com)
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program. If not, see http://www.gnu.org/licenses/.
16 */
17 #ifndef SLICE_PARAMETERS_GUARD
18 #define SLICE_PARAMETERS_GUARD
19 
20 #include "ParameterGroup.h"
21 #include "BoolParameter.h"
22 #include "StringParameter.h"
23 
24 class SliceFacade;
25 class BigattiFacade;
26 
35  public:
44  SliceParameters(bool exposeBoundParams = false,
45  bool exposeIndependenceParam = true,
46  bool supportBigattiAlgorithm = false);
47 
52  void setUseIndependence(bool value);
53 
58  void setSplit(const string& split);
59 
62  void validateSplit(bool allowLabel, bool allowDegree);
63 
66  void validateSplitHilbert();
67 
71  bool getUseBoundElimination() const;
72 
76  bool getUseBoundSimplification() const;
77 
79  bool getCanonical() const;
80 
82  const string& getSplit() const;
83 
85  bool getPrintDebug() const;
86 
88  bool getPrintStatistics() const;
89 
90  private:
93 
104 
106 };
107 
108 #endif
BoolParameter _useBoundSimplification
void setUseIndependence(bool value)
Set the value of the independence split option.
bool getUseBoundSimplification() const
Get the value of the bound simplification option.
BoolParameter _useBoundElimination
BoolParameter _useIndependence
const string & getSplit() const
Get the value of the split option.
BoolParameter _widenPivot
A facade for computing Hilbert series of monomial ideals using the divide-and-conquer algorithm by Bi...
Definition: BigattiFacade.h:32
bool _exposeIndependenceParam
bool getCanonical() const
Get the value of the canonical option.
StringParameter _split
BoolParameter _minimal
A facade for operations on monomial ideals using the Slice Algorithm.
Definition: SliceFacade.h:44
bool getUseBoundElimination() const
Get the value of the bound elimination option.
bool getPrintStatistics() const
Returns the value of the stats option.
void setSplit(const string &split)
Set the value of the option for choosing the split selection strategy.
bool getPrintDebug() const
Returns the value of the debug option.
This class represents the parameters associated to the Slice Algorithm and the similar Bigatti et...
void validateSplit(bool allowLabel, bool allowDegree)
Checks that the slice split selection strategy specified is valid.
void validateSplitHilbert()
Checks that the Bigatti Et.al.
BoolParameter _useBigattiGeneric
BoolParameter _printStatistics
BoolParameter _canonical
SliceParameters(bool exposeBoundParams=false, bool exposeIndependenceParam=true, bool supportBigattiAlgorithm=false)
Construct the parameters with default values.
BoolParameter _printDebug
BoolParameter _useSimplification