cjgeyer / rcdd

Computational Geometry for R

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

slow with redundancy removal

bc opened this issue · comments

I'm trying to remove redundancies on matricies with 500-1500 constraints, and a similar number of variables. I want to remove redundancy prior to running hit-and-run on the space.

h_representation.RDS.zip

h <- readRDS("h_representation.RDS")
redundancy_result <- rcdd::redundant(h)
> dim(h)
[1] 173  72

I've read that the computational complexity is at worst an O(nn), where the major computation time is taken up by nn linear programs. For my case, I would expect each linear programming call to take less than 1ms, so the n*n time should be 173^2=29,929 milliseconds = ~ 30 seconds. But with rcdd's redundant function it takes 166 seconds. How is redundancy implemented in dd_MatrixCanonicalize? Or am I calculating this incorrectly? Is there a way to parallelize redundancy removal?

Thanks you!

References:

Ray shooting: https://www.inf.ethz.ch/personal/fukudak/lect/pclect/notes2014/PolyComp2014.pdf
8.2 H Redundancy Removal: https://www.inf.ethz.ch/personal/fukudak/lect/pclect/notes2014/PolyComp2014.pdf
image