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