My Project  debian-1:4.1.1-p2+ds-4build2
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)
 
int64vec * getIntPoint (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)
 
facet * enqueueNewFacets (facet *f)
 
facet * enqueue2 (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

facet * facetPtr
 Pointer to the first facet. More...
 
int numFacets
 
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...
 
gcone * next
 
gcone * prev
 

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
 
static int64vec * hilbertFunction
 The hilbert function - for the homogeneous case. More...
 
static int64vec * ivZeroVector
 The zero vector. More...
 

Private Attributes

ideal inputIdeal
 
ring baseRing
 
int64vec * ivIntPt
 
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() [1/3]

gcone::gcone ( )

◆ gcone() [2/3]

gcone::gcone ( ring  r,
ideal  I 
)

◆ gcone() [3/3]

gcone::gcone ( const gcone &  gc,
const facet &  f 
)

◆ ~gcone()

gcone::~gcone ( )

Member Function Documentation

◆ computeInv()

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

◆ computeLinealitySpace()

dd_MatrixPtr gcone::computeLinealitySpace ( )

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

◆ enqueue2()

facet* gcone::enqueue2 ( facet *  f)

◆ enqueueNewFacets()

facet* gcone::enqueueNewFacets ( facet *  f)

◆ f2M()

int64vec gcone::f2M ( gcone *  gc,
facet *  f,
int  n = 1 
)

◆ ffG()

ideal gcone::ffG ( const ideal &  H,
const ideal &  G 
)
inline

◆ flip()

void gcone::flip ( ideal  gb,
facet *  f 
)

◆ flip2()

void gcone::flip2 ( const ideal &  gb,
facet *  f 
)

◆ getBaseRing()

ring gcone::getBaseRing ( )
inline

◆ getCodim2Normals()

void gcone::getCodim2Normals ( const gcone &  gc)

◆ getConeNormals()

void gcone::getConeNormals ( const ideal &  I,
bool  compIntPoint = FALSE 
)

◆ getCounter()

int gcone::getCounter ( )
inline

◆ getExtremalRays()

void gcone::getExtremalRays ( const gcone &  gc)

◆ getGB()

void gcone::getGB ( ideal const &  inputIdeal)
inline

◆ getIntPoint()

int64vec* gcone::getIntPoint ( bool  shallow = FALSE)
inline

◆ getNumFacets()

int gcone::getNumFacets ( )
inline

◆ getPredUCN()

int gcone::getPredUCN ( )
inline

◆ getRef2BaseRing()

ring gcone::getRef2BaseRing ( )
inline

◆ getUCN()

int gcone::getUCN ( )
inline

◆ interiorPoint()

void gcone::interiorPoint ( dd_MatrixPtr &  M,
int64vec &  iv 
)

◆ iv64isStrictlyPositive()

bool gcone::iv64isStrictlyPositive ( const int64vec *  )
inline

◆ makeInt()

void gcone::makeInt ( const dd_MatrixPtr &  M,
const int  line,
int64vec &  n 
)

◆ noRevS()

void gcone::noRevS ( gcone &  gcRoot,
bool  usingIntPoint = FALSE 
)

◆ orderRays()

void gcone::orderRays ( )

◆ preprocessInequalities()

void gcone::preprocessInequalities ( dd_MatrixPtr &  M)

◆ rCopyAndAddWeight()

ring gcone::rCopyAndAddWeight ( const ring &  r,
int64vec *  ivw 
)

◆ rCopyAndAddWeight2()

ring gcone::rCopyAndAddWeight2 ( const ring &  ,
const int64vec *  ,
const int64vec *   
)

◆ readConeFromFile()

void gcone::readConeFromFile ( int  gcNum,
gcone *  gc 
)

◆ replaceDouble_ringorder_a_ByASingleOne()

void gcone::replaceDouble_ringorder_a_ByASingleOne ( )

Exchange 2 ordertype_a by just 1.

◆ setBaseRing()

void gcone::setBaseRing ( ring  r)
inline

◆ setIntPoint()

void gcone::setIntPoint ( int64vec *  iv)
inline

◆ setNumFacets()

void gcone::setNumFacets ( )
inline

◆ showFacets()

volatile void gcone::showFacets ( short  codim = 1)

◆ showIntPoint()

void gcone::showIntPoint ( )
inline

◆ writeConeToFile()

void gcone::writeConeToFile ( const gcone &  gc,
bool  usingIntPoints = FALSE 
)

Field Documentation

◆ baseRing

ring gcone::baseRing
private

Definition at line 144 of file gfan.h.

◆ counter

int gcone::counter
staticprivate

Definition at line 148 of file gfan.h.

◆ dd_LinealitySpace

dd_MatrixPtr gcone::dd_LinealitySpace
static

Matrix to contain the homogeneity/lineality space.

Definition at line 175 of file gfan.h.

◆ ddFacets

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.

◆ facetPtr

facet* gcone::facetPtr

Pointer to the first facet.

Definition at line 152 of file gfan.h.

◆ gcBasis

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.

◆ gcRays

int64vec** gcone::gcRays

Array of intvecs representing the rays of the cone.

Definition at line 201 of file gfan.h.

◆ hasHomInput

bool gcone::hasHomInput
static

is the ideal homogeneous?

Definition at line 180 of file gfan.h.

◆ hilbertFunction

int64vec* gcone::hilbertFunction
static

The hilbert function - for the homogeneous case.

Definition at line 184 of file gfan.h.

◆ inputIdeal

ideal gcone::inputIdeal
private

Definition at line 143 of file gfan.h.

◆ ivIntPt

int64vec* gcone::ivIntPt
private

Definition at line 145 of file gfan.h.

◆ ivZeroVector

int64vec* gcone::ivZeroVector
static

The zero vector.

Needed in case of fNormal mismatch

Definition at line 186 of file gfan.h.

◆ lengthOfSearchList

int gcone::lengthOfSearchList
static

Definition at line 176 of file gfan.h.

◆ maxSize

int gcone::maxSize
static

Maximum size of the searchlist.

Definition at line 178 of file gfan.h.

◆ next

gcone* gcone::next

Definition at line 205 of file gfan.h.

◆ numFacets

int gcone::numFacets

of facets of the cone

This value is set by gcone::getConeNormals

Definition at line 191 of file gfan.h.

◆ numRays

unsigned gcone::numRays

Definition at line 202 of file gfan.h.

◆ numVars

int gcone::numVars
static

of variables in the ring

Definition at line 182 of file gfan.h.

◆ pred

int gcone::pred
private

Definition at line 147 of file gfan.h.

◆ prev

gcone* gcone::prev

Definition at line 206 of file gfan.h.

◆ UCN

int gcone::UCN
private

Definition at line 146 of file gfan.h.


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