Frobby  0.9.0
PrimaryDecomAction.cpp
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 #include "stdinc.h"
18 #include "PrimaryDecomAction.h"
19 
20 #include "SliceFacade.h"
21 #include "SliceParams.h"
22 #include "DataType.h"
23 
25  Action
26 (staticGetName(),
27  "Compute the primary decomposition of monomial ideals.",
28  "This feature is experimental which means that it isn't correctly\n"
29  "implemented yet. I.e. it doesn't work yet - don't use it other than\n"
30  "because you are developing Frobby or curious to see how this\n"
31  "functionality is coming along.",
32  false),
33 
34  _io(DataType::getMonomialIdealType(), DataType::getMonomialIdealListType()) {
35 }
36 
37 void PrimaryDecomAction::obtainParameters(vector<Parameter*>& parameters) {
38  _io.obtainParameters(parameters);
39  _sliceParams.obtainParameters(parameters);
40  Action::obtainParameters(parameters);
41 }
42 
44  SliceParams params(_params);
45  validateSplit(params, true, false);
48 }
49 
51  return "primdecom";
52 }
DataType.h
DataType::getMonomialIdealListType
static const DataType & getMonomialIdealListType()
Returns the one and only instance for monomial ideal lists.
Definition: DataType.cpp:54
stdinc.h
PrimaryDecomAction.h
PrimaryDecomAction::obtainParameters
virtual void obtainParameters(vector< Parameter * > &parameters)
Definition: PrimaryDecomAction.cpp:37
Action::obtainParameters
virtual void obtainParameters(vector< Parameter * > &parameters)
Definition: Action.cpp:133
Action
Definition: Action.h:25
PrimaryDecomAction::perform
virtual void perform()
Definition: PrimaryDecomAction.cpp:43
PrimaryDecomAction::PrimaryDecomAction
PrimaryDecomAction()
Definition: PrimaryDecomAction.cpp:24
SliceParams
Definition: SliceParams.h:25
SliceFacade.h
PrimaryDecomAction::_io
IOParameters _io
Definition: PrimaryDecomAction.h:37
Action::_params
CliParams _params
Definition: Action.h:59
PrimaryDecomAction::staticGetName
static const char * staticGetName()
Definition: PrimaryDecomAction.cpp:50
SliceParams.h
PrimaryDecomAction::_sliceParams
SliceParameters _sliceParams
Definition: PrimaryDecomAction.h:36
validateSplit
void validateSplit(const SliceParams &params, bool allowLabel, bool allowDegree)
Definition: SliceParams.cpp:61
DataType
The intention of this class is to describe the different kinds of mathematical structures that Frobby...
Definition: DataType.h:29
SliceFacade
A facade for operations on monomial ideals using the Slice Algorithm.
Definition: SliceFacade.h:44
SliceFacade::computePrimaryDecomposition
void computePrimaryDecomposition()
Compute the unique "nicest" primary decomposition of the ideal.
Definition: SliceFacade.cpp:150
ParameterGroup::obtainParameters
void obtainParameters(vector< Parameter * > &parameters)
Definition: ParameterGroup.cpp:37