Frobby 0.9.5
IdealFactory.h
Go to the documentation of this file.
1/* Frobby: Software for monomial ideal computations.
2 Copyright (C) 2009 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 MY_IDEAL_FACTORY
18#define MY_IDEAL_FACTORY
19
20#include "BigIdeal.h"
21#include "VarNames.h"
22
23#include <vector>
24
31 public:
35 static VarNames ring_xyzt();
36
38 static BigIdeal xx_yy_xz_yz();
39
41 static BigIdeal x_y();
42
44 static BigIdeal x_y_z();
45
47 static BigIdeal xyzzz_xxyy();
48
50 static BigIdeal xyz_xxyy();
51
53 static BigIdeal xx_yy_z();
54
56 static BigIdeal xy_xxyyz();
57
60
62 static BigIdeal xy_z();
63
65 static BigIdeal xy_xz();
66
68 static BigIdeal xy();
69
71 static BigIdeal z();
72
74 static BigIdeal wholeRing(size_t varCount);
75
77 static BigIdeal zeroIdeal(size_t varCount);
78
81 static vector<BigIdeal> irrdecom_xx_yy_xz_yz();
82
85 static vector<BigIdeal> assoprimes_xx_yy_xz_yz();
86
88 static vector<mpz_class> makeTerm(int a, int b, int c, int d);
89
91 static vector<mpz_class> makeTerm(int a);
92};
93
94#endif
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
This class has static methods that return various ideals.
static BigIdeal xy_xxyyz()
Returns .
static BigIdeal xyz_xxyy()
Returns .
static BigIdeal xyzzz_xxyy()
Returns .
static BigIdeal xy_xz()
Returns .
static BigIdeal z()
Returns .
static BigIdeal xx_yy_xz_yz()
Returns .
static VarNames ring_xyzt()
Returns the ring in the four variables , , and .
static vector< BigIdeal > assoprimes_xx_yy_xz_yz()
Returns the associated primes of .
static vector< BigIdeal > irrdecom_xx_yy_xz_yz()
Returns the irreducible decomposition of .
static BigIdeal xy()
Returns .
static BigIdeal xy_z()
Returns .
static BigIdeal xx_yy_z()
Returns .
static BigIdeal xx_yy_zz_t_xz_yz()
Returns .
static BigIdeal x_y_z()
Returns .
static BigIdeal x_y()
Returns .
static BigIdeal zeroIdeal(size_t varCount)
Returns the ideal in the ring VarNames(varCount).
static BigIdeal wholeRing(size_t varCount)
Returns in the ring VarNames(varCount).
static vector< mpz_class > makeTerm(int a, int b, int c, int d)
Returns a vector representing .
Defines the variables of a polynomial ring and facilities IO involving them.
Definition VarNames.h:40