Frobby  0.9.5
Public Member Functions | List of all members
IdealFacade Class Reference

A facade for performing operations on BigIdeal. More...

#include <IdealFacade.h>

Inheritance diagram for IdealFacade:
Facade

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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ IdealFacade()

IdealFacade::IdealFacade ( bool  printActions)

Definition at line 33 of file IdealFacade.cpp.

Member Function Documentation

◆ addPurePowers()

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.

◆ computeDimension()

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.

Parameters
squareFreeAndMinimalIf 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.
codimensionIf true, return the codimension instead.

Definition at line 82 of file IdealFacade.cpp.

◆ deform()

void IdealFacade::deform ( BigIdeal ideal)

Applies some generic deformation to the ideal.

Definition at line 37 of file IdealFacade.cpp.

◆ printAnalysis()

void IdealFacade::printAnalysis ( FILE *  out,
BigIdeal ideal 
)
Todo:
: describe.

Definition at line 253 of file IdealFacade.cpp.

◆ printLcm()

void IdealFacade::printLcm ( BigIdeal ideal,
IOHandler handler,
FILE *  out 
)
Todo:
: describe.

Definition at line 277 of file IdealFacade.cpp.

◆ projectVar()

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.

◆ sortAllAndMinimize()

void IdealFacade::sortAllAndMinimize ( BigIdeal bigIdeal)

Remove redundant generators from ideal.

Definition at line 156 of file IdealFacade.cpp.

◆ sortGenerators()

void IdealFacade::sortGenerators ( BigIdeal ideal)

Sorts the generators of ideal.

Definition at line 237 of file IdealFacade.cpp.

◆ sortGeneratorsUnique()

void IdealFacade::sortGeneratorsUnique ( BigIdeal ideal)

Sorts the generators of ideal and removes duplicates.

Definition at line 229 of file IdealFacade.cpp.

◆ sortVariables()

void IdealFacade::sortVariables ( BigIdeal ideal)

Sorts the variables of ideal.

Definition at line 245 of file IdealFacade.cpp.

◆ swap01()

void IdealFacade::swap01 ( BigIdeal ideal)

Change all 0 exponents to 1 and vice versa.

Definition at line 65 of file IdealFacade.cpp.

◆ takeProducts()

void IdealFacade::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.

Requires that each ideal have the same names, including ideal.

Definition at line 120 of file IdealFacade.cpp.

◆ takeRadical()

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.

◆ trimVariables()

void IdealFacade::trimVariables ( const vector< BigIdeal * > &  ideals,
VarNames names 
)

Remove those variables that do not appear in any generator.

Definition at line 181 of file IdealFacade.cpp.


The documentation for this class was generated from the following files: