 |
My Project
debian-1:4.1.2-p1+ds-2
|
#include "kernel/mod2.h"
#include "misc/intvec.h"
#include "coeffs/bigintmat.h"
#include "Singular/ipid.h"
#include "gfanlib/gfanlib.h"
Go to the source code of this file.
◆ bbcone_setup()
◆ interiorPointsAndNormalsOfFacets()
std::pair<gfan::ZMatrix,gfan::ZMatrix> interiorPointsAndNormalsOfFacets |
( |
const gfan::ZCone |
zc, |
|
|
const std::set< gfan::ZVector > & |
exceptThesePoints = std::set< gfan::ZVector >() , |
|
|
const bool |
onlyLowerHalfSpace = false |
|
) |
| |
Definition at line 1851 of file bbcone.cc.
1856 gfan::ZMatrix
equations = zc.getImpliedEquations();
1861 gfan::ZMatrix relativeInteriorPoints = gfan::ZMatrix(0,c);
1862 gfan::ZMatrix outerFacetNormals = gfan::ZMatrix(0,c);
1864 return std::make_pair(relativeInteriorPoints,outerFacetNormals);
1869 gfan::ZMatrix newInequalities =
inequalities.submatrix(1,0,r,c);
1872 gfan::ZCone
facet = gfan::ZCone(newInequalities,newEquations);
1873 gfan::ZVector interiorPoint =
facet.getRelativeInteriorPoint();
1874 if (onlyLowerHalfSpace==
false || interiorPoint[0].
sign()<0)
1876 if (exceptThesePoints.count(interiorPoint)==0)
1878 relativeInteriorPoints.appendRow(interiorPoint);
1879 outerFacetNormals.appendRow(-
inequalities[0].toVector());
1884 for (
int i=1;
i<r-1;
i++)
1890 facet = gfan::ZCone(newInequalities,newEquations);
1891 interiorPoint =
facet.getRelativeInteriorPoint();
1892 if (onlyLowerHalfSpace==
false || interiorPoint[0].
sign()<0)
1894 if (exceptThesePoints.count(interiorPoint)==0)
1896 relativeInteriorPoints.appendRow(interiorPoint);
1906 facet = gfan::ZCone(newInequalities,newEquations);
1907 interiorPoint =
facet.getRelativeInteriorPoint();
1908 if (onlyLowerHalfSpace==
false || interiorPoint[0].
sign()<0)
1910 if (exceptThesePoints.count(interiorPoint)==0)
1912 relativeInteriorPoints.appendRow(interiorPoint);
1913 outerFacetNormals.appendRow(-
inequalities[r-1].toVector());
◆ interiorPointsOfFacets()
gfan::ZMatrix interiorPointsOfFacets |
( |
const gfan::ZCone & |
zc, |
|
|
const std::set< gfan::ZVector > & |
exceptThese = std::set< gfan::ZVector >() |
|
) |
| |
Definition at line 1798 of file bbcone.cc.
1802 gfan::ZMatrix
equations = zc.getImpliedEquations();
1807 gfan::ZMatrix relativeInteriorPoints = gfan::ZMatrix(0,c);
1808 if (r==0)
return relativeInteriorPoints;
1813 gfan::ZMatrix newInequalities =
inequalities.submatrix(1,0,r,c);
1816 gfan::ZCone
facet = gfan::ZCone(newInequalities,newEquations);
1817 facet.canonicalize();
1818 gfan::ZVector interiorPoint =
facet.getRelativeInteriorPoint();
1819 if (exceptThese.count(interiorPoint)==0)
1820 relativeInteriorPoints.appendRow(interiorPoint);
1823 for (
int i=1;
i<r-1;
i++)
1829 facet = gfan::ZCone(newInequalities,newEquations);
1830 facet.canonicalize();
1831 interiorPoint =
facet.getRelativeInteriorPoint();
1832 if (exceptThese.count(interiorPoint)==0)
1833 relativeInteriorPoints.appendRow(interiorPoint);
1840 facet = gfan::ZCone(newInequalities,newEquations);
1841 facet.canonicalize();
1842 interiorPoint =
facet.getRelativeInteriorPoint();
1843 if (exceptThese.count(interiorPoint)==0)
1844 relativeInteriorPoints.appendRow(interiorPoint);
1846 return relativeInteriorPoints;
◆ liftUp()
gfan::ZCone liftUp |
( |
const gfan::ZCone & |
zc | ) |
|
Definition at line 1182 of file bbcone.cc.
1184 gfan::ZMatrix ineq=zc.getInequalities();
1185 gfan::ZMatrix eq=zc.getEquations();
◆ randomPoint()
gfan::ZVector randomPoint |
( |
const gfan::ZCone * |
zc, |
|
|
const int |
b = 0 |
|
) |
| |
Definition at line 1069 of file bbcone.cc.
1071 gfan::ZVector rp = gfan::ZVector(zc->ambientDimension());
1073 gfan::ZMatrix
rays = zc->extremeRays();
1074 for (
int i=0;
i<
rays.getHeight();
i++)
◆ toString()
Definition at line 27 of file bbcone.cc.
30 s<<
"AMBIENT_DIM"<<std::endl;
31 s<<c->ambientDimension()<<std::endl;
33 gfan::ZMatrix
i=c->getInequalities();
35 if (c->areFacetsKnown())
36 s<<
"FACETS"<<std::endl;
38 s<<
"INEQUALITIES"<<std::endl;
45 gfan::ZMatrix e=c->getEquations();
47 if (c->areImpliedEquationsKnown())
48 s<<
"LINEAR_SPAN"<<std::endl;
50 s<<
"EQUATIONS"<<std::endl;
57 if (c->areExtremeRaysKnown())
59 gfan::ZMatrix r=c->extremeRays();
67 gfan::ZMatrix
l=c->generatorsOfLinealitySpace();
69 s<<
"LINEALITY_SPACE"<<std::endl;
◆ coneID
void * bbcone_Copy(blackbox *, void *d)
std::string toString(const gfan::ZCone *const c)
BOOLEAN dualCone(leftv res, leftv args)
BOOLEAN containsPositiveVector(leftv res, leftv args)
BOOLEAN impliedEquations(leftv res, leftv args)
BOOLEAN generatorsOfSpan(leftv res, leftv args)
BOOLEAN containsInSupport(leftv res, leftv args)
BOOLEAN isFullSpace(leftv res, leftv args)
BOOLEAN canonicalizeCone(leftv res, leftv args)
static BOOLEAN bbcone_Op2(int op, leftv res, leftv i1, leftv i2)
BOOLEAN quotientLatticeBasis(leftv res, leftv args)
BOOLEAN coneViaNormals(leftv res, leftv args)
gfan::ZVector randomPoint(const gfan::ZCone *zc, const int b)
BOOLEAN getMultiplicity(leftv res, leftv args)
BOOLEAN linealitySpace(leftv res, leftv args)
BOOLEAN bbcone_serialize(blackbox *b, void *d, si_link f)
BOOLEAN convexIntersectionOld(leftv res, leftv args)
BOOLEAN getLinearForms(leftv res, leftv args)
BOOLEAN coneViaRays(leftv res, leftv args)
BOOLEAN codimension(leftv res, leftv args)
BOOLEAN coneLink(leftv res, leftv args)
BOOLEAN negatedCone(leftv res, leftv args)
BOOLEAN rays(leftv res, leftv args)
BOOLEAN isSimplicial(leftv res, leftv args)
BOOLEAN inequalities(leftv res, leftv args)
BOOLEAN relativeInteriorPoint(leftv res, leftv args)
BOOLEAN semigroupGenerator(leftv res, leftv args)
BOOLEAN dimension(leftv res, leftv args)
char * bbcone_String(blackbox *, void *d)
BOOLEAN containsCone(leftv res, leftv args)
BOOLEAN bbcone_Assign(leftv l, leftv r)
BOOLEAN linealityDimension(leftv res, leftv args)
void * bbcone_Init(blackbox *)
BOOLEAN uniquePoint(leftv res, leftv args)
BOOLEAN equations(leftv res, leftv args)
BOOLEAN ambientDimension(leftv res, leftv args)
void bbcone_destroy(blackbox *, void *d)
const CanonicalForm int s
BOOLEAN faceContaining(leftv res, leftv args)
int siRandBound(const int b)
BOOLEAN setMultiplicity(leftv res, leftv args)
gfan::ZMatrix liftUp(const gfan::ZMatrix &zm)
BOOLEAN generatorsOfLinealitySpace(leftv res, leftv args)
BOOLEAN facets(leftv res, leftv args)
BOOLEAN containsRelatively(leftv res, leftv args)
BOOLEAN intersectCones(leftv res, leftv args)
BOOLEAN setLinearForms(leftv res, leftv args)
BOOLEAN hasFace(leftv res, leftv args)
BOOLEAN onesVector(leftv res, leftv args)
BOOLEAN bbcone_deserialize(blackbox **b, void **d, si_link f)
BOOLEAN isOrigin(leftv res, leftv args)