Frobby  0.9.0
AssociatedPrimesAction.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 "AssociatedPrimesAction.h"
19 
20 #include "SliceFacade.h"
21 #include "SliceParams.h"
22 #include "DataType.h"
23 
25  Action
26 (staticGetName(),
27  "Compute the associated primes of the input ideal.",
28  "Computes the associated prime ideals of the input monomial ideal. The\n"
29  "computation is accomplished using irreducible decomposition. The quality "
30  "of the\n"
31  "algorithm for computing associated primes is expected to be much improved "
32  "in a\n"
33  "future version of Frobby.",
34  false),
35 
36  _io(DataType::getMonomialIdealType(), DataType::getMonomialIdealType()) {
37 }
38 
39 void AssociatedPrimesAction::obtainParameters(vector<Parameter*>& parameters) {
40  _io.obtainParameters(parameters);
41  _sliceParams.obtainParameters(parameters);
42  Action::obtainParameters(parameters);
43 }
44 
46  SliceParams params(_params);
47  validateSplit(params, true, false);
49  facade.computeAssociatedPrimes();
50 }
51 
53  return "assoprimes";
54 }
DataType.h
DataType::getMonomialIdealListType
static const DataType & getMonomialIdealListType()
Returns the one and only instance for monomial ideal lists.
Definition: DataType.cpp:54
stdinc.h
AssociatedPrimesAction.h
AssociatedPrimesAction::_sliceParams
SliceParameters _sliceParams
Definition: AssociatedPrimesAction.h:35
AssociatedPrimesAction::_io
IOParameters _io
Definition: AssociatedPrimesAction.h:36
Action::obtainParameters
virtual void obtainParameters(vector< Parameter * > &parameters)
Definition: Action.cpp:133
Action
Definition: Action.h:25
AssociatedPrimesAction::AssociatedPrimesAction
AssociatedPrimesAction()
Definition: AssociatedPrimesAction.cpp:24
SliceFacade::computeAssociatedPrimes
void computeAssociatedPrimes()
Compute the associated primes of the ideal.
Definition: SliceFacade.cpp:286
SliceParams
Definition: SliceParams.h:25
SliceFacade.h
Action::_params
CliParams _params
Definition: Action.h:59
SliceParams.h
AssociatedPrimesAction::staticGetName
static const char * staticGetName()
Definition: AssociatedPrimesAction.cpp:52
AssociatedPrimesAction::obtainParameters
virtual void obtainParameters(vector< Parameter * > &parameters)
Definition: AssociatedPrimesAction.cpp:39
AssociatedPrimesAction::perform
virtual void perform()
Definition: AssociatedPrimesAction.cpp:45
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
ParameterGroup::obtainParameters
void obtainParameters(vector< Parameter * > &parameters)
Definition: ParameterGroup.cpp:37