NAME
intersect_positive_hulls - Finds the intersection of positive convex hulls.
SYNOPSIS
#include "h/h_intersect.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
int intersect_positive_hulls
(
Queue_element *hull_list_head,
unsigned long options,
Hull **result_hp_ptr
);
DESCRIPTION
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
is returned.
RETURNS
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
serious problems.
WARNING
If an input hull has a negative coordinate, then this hull will be
destructively changed by this routine.
RELATED
intersect_hulls().
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Kobus Barnard
DOCUMENTER
Kobus Barnard
SEE ALSO
intersect_hulls