Frobby 0.9.5
Deformer.h
Go to the documentation of this file.
1/* Frobby: Software for monomial ideal computations.
2 Copyright (C) 2010 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 DEFORMER_GUARD
19#define DEFORMER_GUARD
20
21#include <vector>
22#include <limits>
23
24class Ideal;
25class Term;
26class TermPredicate;
27class IdealOrderer;
28
31class Deformer {
32 public:
43 Deformer(Ideal& ideal,
45 bool makeStronglyGeneric = true);
46
49 void undeform(Term& term) const;
50
51 private:
54};
55
56#endif
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
Objects of this class encapsulate the process of applying a generic deformation to a monomial ideal.
Definition Deformer.h:31
vector< vector< Exponent > > _undeform
var^e undeforms to var^(_undeform[var][e]).
Definition Deformer.h:53
void undeform(Term &term) const
Apply the reverse transformation on term than that applied to the Ideal passed to the constructor.
Definition Deformer.cpp:99
Represents a monomial ideal with int exponents.
Definition Ideal.h:27
Term represents a product of variables which does not include a coefficient.
Definition Term.h:49