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 
24 class Ideal;
25 class Term;
26 class TermPredicate;
27 class IdealOrderer;
28 
31 class Deformer {
32  public:
43  Deformer(Ideal& ideal,
44  const IdealOrderer& deformationOrder,
45  bool makeStronglyGeneric = true);
46 
49  void undeform(Term& term) const;
50 
51  private:
53  vector<vector<Exponent> > _undeform;
54 };
55 
56 #endif
Objects of this class encapsulate the process of applying a generic deformation to a monomial ideal.
Definition: Deformer.h:31
Deformer(Ideal &ideal, const IdealOrderer &deformationOrder, bool makeStronglyGeneric=true)
Apply a generic deformation to ideal such that it becomes generic.
Definition: Deformer.cpp:85
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