intersect_positive_hulls - Finds the intersection of positive convex hulls.
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
unsigned long options,
This routine finds the intersection of a list of positive convex hulls and
returns the result as a convex hull.
This routine is essentially a wrapper for intersect_hulls(). It checks that
the hulls to be intersected are all positive, uses intersect_hulls() to
intersect them, and then checks that the result is positive. If either an
input hull, or the output hull is almost positive (the magnitude of negative
values are less than a threshold), then this routine silently truncates the
data at zero. As the degree of deviation from positive increases, the routine
outputs messages of increasing verbose level. Finally, if the degree of
deviation from positive is too large, then the intersection fails and ERROR
NO_ERROR on success, with the address of the result in "result_hp_ptr",
NO_SOLUTION if the intersection in empty, and ERROR if there are more
If an input hull has a negative coordinate, then this hull will be
destructively changed by this routine.
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.