Frobby 0.9.5
BigattiPivotStrategy.h
Go to the documentation of this file.
1/* Frobby: Software for monomial ideal computations.
2 Copyright (C) 2009 University of Aarhus
3 Contact Bjarke Hammersholt Roune for license information (www.broune.com)
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see http://www.gnu.org/licenses/.
17*/
18#ifndef BIGATTI_PIVOT_STRATEGY_GUARD
19#define BIGATTI_PIVOT_STRATEGY_GUARD
20
21class Term;
22class BigattiState;
23
29 public:
30 virtual ~BigattiPivotStrategy();
31
37 virtual const Term& getPivot(BigattiState& state) = 0;
38
40 virtual const char* getName() const = 0;
41
50 static auto_ptr<BigattiPivotStrategy> createStrategy
51 (const string& prefix, bool widen);
52
53 protected:
55
56 // To make these inaccessible. They are not implemented.
60};
61
62#endif
bool operator==(const BigIntVector &a, const BigIntVector &b)
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
A BigattiPivotStrategy is an implementation of a pivot selection strategy for the Hilbert series algo...
virtual const char * getName() const =0
Returns the name of the strategy.
virtual const Term & getPivot(BigattiState &state)=0
Returns the pivot of a pivot split of state.
Term represents a product of variables which does not include a coefficient.
Definition Term.h:49