I understand geometrically why each ray supporting line is reported as two rays, but in my application I only want one of these. I thought adding x_1 >= 0 to SUPPORT.INEQUALITIES would reduce duplicates, but in generalit introduces more new rays on the boundary of the support than it eliminates. In the following sample, you can try eliminating the last inequality. These rays are not on any of the input hyperplanes, so I'm not sure if reporting them is correct or not.I could imagine arguments for both conclusions. Is there a (simple) way to get what I want here, or should i just live with the 2x overhead?
Code: Select all
#!/usr/bin/polymake --script
# -*- perl -*-
use application "fan";
my $debug=1;
my $HA=new HyperplaneArrangement(HYPERPLANES=>
[[1, 0, 1, 1],
[0, 1, 1, 1]],
"SUPPORT.INEQUALITIES"=>
[[1, 1, -1, 0],
[0, 0, 1, -1],
[-1, -1, 1, 0],
[0, 0, -1, 1],
[1,0,0,0]]
);
print "rays:\n";
print rows_labeled($HA->CHAMBER_DECOMPOSITION->RAYS);
print "\nrays in hyperplanes\n";
print rows_labeled($HA->RAYS_IN_HYPERPLANES);

