|
bool | inHull (poly p, poly pointPoly, int m, int site) |
| Returns true iff the support of poly pointPoly is inside the convex hull of all points given by the support of poly p.
|
|
Definition at line 249 of file mpr_base.cc.
◆ convexHull()
convexHull::convexHull |
( |
simplex * | _pLP | ) |
|
|
inline |
◆ ~convexHull()
convexHull::~convexHull |
( |
| ) |
|
|
inline |
◆ inHull()
bool convexHull::inHull |
( |
poly | p, |
|
|
poly | pointPoly, |
|
|
int | m, |
|
|
int | site ) |
|
private |
Returns true iff the support of poly pointPoly is inside the convex hull of all points given by the support of poly p.
Definition at line 730 of file mpr_base.cc.
731{
733
736
737 pLP->LiPM[1][1] = +0.0;
738 pLP->LiPM[1][2] = +1.0;
739 pLP->LiPM[2][1] = +1.0;
740 pLP->LiPM[2][2] = -1.0;
741
742 for (
j=3;
j <=
pLP->n;
j++)
743 {
744 pLP->LiPM[1][
j] = +0.0;
745 pLP->LiPM[2][
j] = -1.0;
746 }
747
748 for(
i= 1;
i <=
n;
i++) {
750 col = 2;
751 for(
j= 1;
j <=
m;
j++ )
752 {
754 {
756 col++;
757 }
758 }
759 }
760
761#ifdef mprDEBUG_ALL
762 PrintS(
"Matrix of Linear Programming\n");
764#endif
765
767
769
770 return (
pLP->icase == 0);
771}
poly monomAt(poly p, int i)
#define pGetExp(p, i)
Exponent.
void PrintS(const char *s)
◆ newtonPolytopesI()
ideal convexHull::newtonPolytopesI |
( |
const ideal | gls | ) |
|
Definition at line 834 of file mpr_base.cc.
835{
839 ideal id;
841 int * vert;
842
844 vert= (
int *)
omAlloc( (idelem+1) *
sizeof(
int) );
846
847 for(
i= 0;
i < idelem;
i++ )
848 {
850
852 for(
j= 1;
j <=
m;
j++) {
854 {
855 if ( (id->m)[
i] ==
NULL )
856 {
859 }
860 else
861 {
864
865 }
867 }
868 else
869 {
871 }
873 }
875 }
876
877 omFreeSize( (
void *) vert, (idelem+1) *
sizeof(
int) );
878
879#ifdef mprDEBUG_PROT
881 for(
i= 0;
i < idelem;
i++ )
882 {
883 }
884#endif
885
886 return id;
887}
bool inHull(poly p, poly pointPoly, int m, int site)
Returns true iff the support of poly pointPoly is inside the convex hull of all points given by the s...
#define mprSTICKYPROT(msg)
#define omFreeSize(addr, size)
static int pLength(poly a)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
#define pHead(p)
returns newly allocated copy of Lm(p), coef is copied, next=NULL, p might be NULL
ideal idInit(int idsize, int rank)
initialise an ideal / module
◆ newtonPolytopesP()
Computes the point sets of the convex hulls of the supports given by the polynoms in gls.
Returns Q[].
Definition at line 776 of file mpr_base.cc.
777{
781 int * vert;
782
784 vert= (
int *)
omAlloc( (idelem+1) *
sizeof(
int) );
785
786 Q = (pointSet **)
omAlloc( idelem *
sizeof(pointSet*) );
787 for (
i= 0;
i < idelem;
i++ )
789
790 for(
i= 0;
i < idelem;
i++ )
791 {
794
796 for(
j= 1;
j <=
m;
j++) {
798 {
800 Q[
i]->addPoint( vert );
803 }
804 else
805 {
807 }
809 }
811 }
812
813 omFreeSize( (
void *) vert, (idelem+1) *
sizeof(
int) );
814
815#ifdef mprDEBUG_PROT
817 for(
i= 0;
i < idelem;
i++ )
818 {
820 for (
j=1;
j <=
Q[
i]->num;
j++ )
821 {
823 }
825 }
826#endif
827
829}
static void p_GetExpV(poly p, int *ev, const ring r)
◆ pLP
The documentation for this class was generated from the following file: