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 <- 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