Frobby
0.9.5
|
A facade for performing operations on BigIdeal. More...
#include <IdealFacade.h>
Public Member Functions | |
IdealFacade (bool printActions) | |
void | deform (BigIdeal &ideal) |
Applies some generic deformation to the ideal. More... | |
void | takeRadical (BigIdeal &ideal) |
Takes the radical of the generators of ideal. More... | |
void | swap01 (BigIdeal &ideal) |
Change all 0 exponents to 1 and vice versa. More... | |
mpz_class | computeDimension (const BigIdeal &ideal, bool codimension=false, bool squareFreeAndMinimal=false) |
Compute the Krull dimension of ideal. More... | |
void | takeProducts (const vector< BigIdeal * > &ideals, BigIdeal &ideal) |
Take the product of the minimal generators of each ideal, and add the resulting monomials as generators of ideal. More... | |
void | sortAllAndMinimize (BigIdeal &bigIdeal) |
Remove redundant generators from ideal. More... | |
void | projectVar (BigIdeal &bigIdeal, size_t var) |
Remove the variable var from the ideal and ring by substituting it by 1. More... | |
void | trimVariables (const vector< BigIdeal * > &ideals, VarNames &names) |
Remove those variables that do not appear in any generator. More... | |
void | addPurePowers (BigIdeal &bigIdeal) |
Adds x_i^(l_i+1) to the ideal for each i where that will be a minimal generator, where x^l is the lcm of the generators of bigIdeal. More... | |
void | sortGeneratorsUnique (BigIdeal &ideal) |
Sorts the generators of ideal and removes duplicates. More... | |
void | sortGenerators (BigIdeal &ideal) |
Sorts the generators of ideal. More... | |
void | sortVariables (BigIdeal &ideal) |
Sorts the variables of ideal. More... | |
void | printAnalysis (FILE *out, BigIdeal &ideal) |
void | printLcm (BigIdeal &ideal, IOHandler *handler, FILE *out) |
Additional Inherited Members | |
Private Member Functions inherited from Facade | |
Facade (bool printActions) | |
Constructs a facade that prints out what it is doing if printActions is true. More... | |
virtual | ~Facade () |
void | printMessage (const char *message) |
Prints message to standard error if printing is turned on. More... | |
void | beginAction (const char *message) |
Prints message to standard error if printing is turned on, and records the time when the action started. More... | |
void | endAction () |
Prints to standard error the time since the last call to beginAction. More... | |
bool | isPrintingActions () const |
Returns true if printing actions. More... | |
A facade for performing operations on BigIdeal.
These operations should not fit somewhere else, such as on SliceFacade.
Definition at line 34 of file IdealFacade.h.
IdealFacade::IdealFacade | ( | bool | printActions | ) |
Definition at line 33 of file IdealFacade.cpp.
void IdealFacade::addPurePowers | ( | BigIdeal & | bigIdeal | ) |
Adds x_i^(l_i+1) to the ideal for each i where that will be a minimal generator, where x^l is the lcm of the generators of bigIdeal.
Definition at line 209 of file IdealFacade.cpp.
mpz_class IdealFacade::computeDimension | ( | const BigIdeal & | ideal, |
bool | codimension = false , |
||
bool | squareFreeAndMinimal = false |
||
) |
Compute the Krull dimension of ideal.
By convention, this is -1 if ideal is generated by the identity. The algorithm is lifted from Macaulay 2.
squareFreeAndMinimal | If true, then ideal must be square free and minimally generated. This can speed up the computation, but will result in undefined behavior if it is not true. |
codimension | If true, return the codimension instead. |
Definition at line 82 of file IdealFacade.cpp.
void IdealFacade::deform | ( | BigIdeal & | ideal | ) |
Applies some generic deformation to the ideal.
Definition at line 37 of file IdealFacade.cpp.
void IdealFacade::printAnalysis | ( | FILE * | out, |
BigIdeal & | ideal | ||
) |
Definition at line 253 of file IdealFacade.cpp.
Definition at line 277 of file IdealFacade.cpp.
void IdealFacade::projectVar | ( | BigIdeal & | bigIdeal, |
size_t | var | ||
) |
Remove the variable var from the ideal and ring by substituting it by 1.
Definition at line 171 of file IdealFacade.cpp.
void IdealFacade::sortAllAndMinimize | ( | BigIdeal & | bigIdeal | ) |
Remove redundant generators from ideal.
Definition at line 156 of file IdealFacade.cpp.
void IdealFacade::sortGenerators | ( | BigIdeal & | ideal | ) |
Sorts the generators of ideal.
Definition at line 237 of file IdealFacade.cpp.
void IdealFacade::sortGeneratorsUnique | ( | BigIdeal & | ideal | ) |
Sorts the generators of ideal and removes duplicates.
Definition at line 229 of file IdealFacade.cpp.
void IdealFacade::sortVariables | ( | BigIdeal & | ideal | ) |
Sorts the variables of ideal.
Definition at line 245 of file IdealFacade.cpp.
void IdealFacade::swap01 | ( | BigIdeal & | ideal | ) |
Change all 0 exponents to 1 and vice versa.
Definition at line 65 of file IdealFacade.cpp.
Take the product of the minimal generators of each ideal, and add the resulting monomials as generators of ideal.
Requires that each ideal have the same names, including ideal.
Definition at line 120 of file IdealFacade.cpp.
void IdealFacade::takeRadical | ( | BigIdeal & | ideal | ) |
Takes the radical of the generators of ideal.
Non-minimal generators that may appear due to this are not removed.
Definition at line 51 of file IdealFacade.cpp.
Remove those variables that do not appear in any generator.
Definition at line 181 of file IdealFacade.cpp.