Public Member Functions | Data Fields | Static Public Attributes | Private Attributes | Static Private Attributes
gcone Class Reference

Implements the cone structure. More...

#include <gfan.h>

Public Member Functions

 gcone ()
 
 gcone (ring r, ideal I)
 
 gcone (const gcone &gc, const facet &f)
 
 ~gcone ()
 
int getCounter ()
 
ring getBaseRing ()
 
ring getRef2BaseRing ()
 
void setBaseRing (ring r)
 
void setIntPoint (int64vec *iv)
 
int64vecgetIntPoint (bool shallow=FALSE)
 
void showIntPoint ()
 
void setNumFacets ()
 
int getNumFacets ()
 
int getUCN ()
 
int getPredUCN ()
 
volatile void showFacets (short codim=1)
 
void noRevS (gcone &gcRoot, bool usingIntPoint=FALSE)
 
void writeConeToFile (const gcone &gc, bool usingIntPoints=FALSE)
 
void readConeFromFile (int gcNum, gcone *gc)
 
int64vec f2M (gcone *gc, facet *f, int n=1)
 
void getConeNormals (const ideal &I, bool compIntPoint=FALSE)
 
void getCodim2Normals (const gcone &gc)
 
void getExtremalRays (const gcone &gc)
 
void orderRays ()
 
void flip (ideal gb, facet *f)
 
void flip2 (const ideal &gb, facet *f)
 
void computeInv (const ideal &gb, ideal &inv, const int64vec &f)
 
ideal ffG (const ideal &H, const ideal &G)
 
void getGB (ideal const &inputIdeal)
 
void interiorPoint (dd_MatrixPtr &M, int64vec &iv)
 
void preprocessInequalities (dd_MatrixPtr &M)
 
ring rCopyAndAddWeight (const ring &r, int64vec *ivw)
 
ring rCopyAndAddWeight2 (const ring &, const int64vec *, const int64vec *)
 
void makeInt (const dd_MatrixPtr &M, const int line, int64vec &n)
 
facetenqueueNewFacets (facet *f)
 
facetenqueue2 (facet *f)
 
dd_MatrixPtr computeLinealitySpace ()
 Compute the lineality space Ax=0 and return it as dd_MatrixPtr dd_LinealitySpace. More...
 
bool iv64isStrictlyPositive (const int64vec *)
 
void replaceDouble_ringorder_a_ByASingleOne ()
 Exchange 2 ordertype_a by just 1. More...
 

Data Fields

facetfacetPtr
 Pointer to the first facet. More...
 
int numFacets
 

of facets of the cone

This value is set by gcone::getConeNormals More...
 
dd_MatrixPtr ddFacets
 At least as a workaround we store the irredundant facets of a matrix here. More...
 
int64vec ** gcRays
 Array of intvecs representing the rays of the cone. More...
 
unsigned numRays
 
ideal gcBasis
 Contains the Groebner basis of the cone. More...
 
gconenext
 
gconeprev
 

Static Public Attributes

static dd_MatrixPtr dd_LinealitySpace
 Matrix to contain the homogeneity/lineality space. More...
 
static int lengthOfSearchList
 
static int maxSize
 Maximum size of the searchlist. More...
 
static bool hasHomInput
 is the ideal homogeneous? More...
 
static int numVars
 

of variables in the ring

More...
 
static int64vechilbertFunction
 The hilbert function - for the homogeneous case. More...
 
static int64vecivZeroVector
 The zero vector. More...
 

Private Attributes

ideal inputIdeal
 
ring baseRing
 
int64vecivIntPt
 
int UCN
 
int pred
 

Static Private Attributes

static int counter
 

Detailed Description

Implements the cone structure.

A cone is represented by a linked list of facet normals

See also
facet

Definition at line 140 of file gfan.h.

Constructor & Destructor Documentation

gcone::gcone ( )
gcone::gcone ( ring  r,
ideal  I 
)
gcone::gcone ( const gcone gc,
const facet f 
)
gcone::~gcone ( )

Member Function Documentation

void gcone::computeInv ( const ideal &  gb,
ideal &  inv,
const int64vec f 
)
dd_MatrixPtr gcone::computeLinealitySpace ( )

Compute the lineality space Ax=0 and return it as dd_MatrixPtr dd_LinealitySpace.

facet* gcone::enqueue2 ( facet f)
facet* gcone::enqueueNewFacets ( facet f)
int64vec gcone::f2M ( gcone gc,
facet f,
int  n = 1 
)
ideal gcone::ffG ( const ideal &  H,
const ideal &  G 
)
inline
void gcone::flip ( ideal  gb,
facet f 
)
void gcone::flip2 ( const ideal &  gb,
facet f 
)
ring gcone::getBaseRing ( )
inline
void gcone::getCodim2Normals ( const gcone gc)
void gcone::getConeNormals ( const ideal &  I,
bool  compIntPoint = FALSE 
)
int gcone::getCounter ( )
inline
void gcone::getExtremalRays ( const gcone gc)
void gcone::getGB ( ideal const inputIdeal)
inline
int64vec* gcone::getIntPoint ( bool  shallow = FALSE)
inline
int gcone::getNumFacets ( )
inline
int gcone::getPredUCN ( )
inline
ring gcone::getRef2BaseRing ( )
inline
int gcone::getUCN ( )
inline
void gcone::interiorPoint ( dd_MatrixPtr &  M,
int64vec iv 
)
bool gcone::iv64isStrictlyPositive ( const int64vec )
inline
void gcone::makeInt ( const dd_MatrixPtr &  M,
const int  line,
int64vec n 
)
void gcone::noRevS ( gcone gcRoot,
bool  usingIntPoint = FALSE 
)
void gcone::orderRays ( )
void gcone::preprocessInequalities ( dd_MatrixPtr &  M)
ring gcone::rCopyAndAddWeight ( const ring &  r,
int64vec ivw 
)
ring gcone::rCopyAndAddWeight2 ( const ring &  ,
const int64vec ,
const int64vec  
)
void gcone::readConeFromFile ( int  gcNum,
gcone gc 
)
void gcone::replaceDouble_ringorder_a_ByASingleOne ( )

Exchange 2 ordertype_a by just 1.

void gcone::setBaseRing ( ring  r)
inline
void gcone::setIntPoint ( int64vec iv)
inline
void gcone::setNumFacets ( )
inline
volatile void gcone::showFacets ( short  codim = 1)
void gcone::showIntPoint ( )
inline
void gcone::writeConeToFile ( const gcone gc,
bool  usingIntPoints = FALSE 
)

Field Documentation

ring gcone::baseRing
private

Definition at line 144 of file gfan.h.

int gcone::counter
staticprivate

Definition at line 148 of file gfan.h.

dd_MatrixPtr gcone::dd_LinealitySpace
static

Matrix to contain the homogeneity/lineality space.

Definition at line 175 of file gfan.h.

dd_MatrixPtr gcone::ddFacets

At least as a workaround we store the irredundant facets of a matrix here.

This is needed to compute an interior points of a cone. Note that there will be non-flippable facets in it!

Definition at line 198 of file gfan.h.

facet* gcone::facetPtr

Pointer to the first facet.

Definition at line 152 of file gfan.h.

ideal gcone::gcBasis

Contains the Groebner basis of the cone.

Is set by gcone::getGB(ideal I)

Definition at line 204 of file gfan.h.

int64vec** gcone::gcRays

Array of intvecs representing the rays of the cone.

Definition at line 201 of file gfan.h.

bool gcone::hasHomInput
static

is the ideal homogeneous?

Definition at line 180 of file gfan.h.

int64vec* gcone::hilbertFunction
static

The hilbert function - for the homogeneous case.

Definition at line 184 of file gfan.h.

ideal gcone::inputIdeal
private

Definition at line 143 of file gfan.h.

int64vec* gcone::ivIntPt
private

Definition at line 145 of file gfan.h.

int64vec* gcone::ivZeroVector
static

The zero vector.

Needed in case of fNormal mismatch

Definition at line 186 of file gfan.h.

int gcone::lengthOfSearchList
static

Definition at line 176 of file gfan.h.

int gcone::maxSize
static

Maximum size of the searchlist.

Definition at line 178 of file gfan.h.

gcone* gcone::next

Definition at line 205 of file gfan.h.

int gcone::numFacets

of facets of the cone

This value is set by gcone::getConeNormals

Definition at line 191 of file gfan.h.

unsigned gcone::numRays

Definition at line 202 of file gfan.h.

int gcone::numVars
static

of variables in the ring

Definition at line 182 of file gfan.h.

int gcone::pred
private

Definition at line 147 of file gfan.h.

gcone* gcone::prev

Definition at line 206 of file gfan.h.

int gcone::UCN
private

Definition at line 146 of file gfan.h.


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