My work requires me to enumerate all vertices of a polytope defined by linear inequalities from time to time. And I'm mainly working with _Mathematica 9.0 on Mac OS X 10.9. So I wonder are there any packages in Mathematica which can be used for vertex enumeration.
I know a very old Mathematica package VertexEnum.m
which can be found from here.
I have tested the package and it still works on Mathematica 9.0 with a minor modification. The main drawback of this package is its efficiency. It's much slower than calling MPT3
toolbox in MATLAB via MATLink package on Mathematica. As far as I know, they share the same vertex enumeration algorithm, the Double Description Method of Motzkin et al..
Currently I have several questions in mind. I tried to Google them but I failed to get answers. Any comments or suggestions are most welcome.
- Are there any packages in Mathematica doing vertex enumeration on _Mathematica?
- Is there a latest
VertexEnum.m
package whose efficiency is increased? - Is there a Mathematica interface to
cddlib
which works with Mathematica 9.0 on Mac OS X 10.9?
As I don't have enough reputations to post too many links. Interested readers can go to comments for more information.
Answer
Instead of using cddlib you can use the nicely packaged version in polymake, which certainly installs without problems on OS X, and you can just call by an external function call from Mathematica (no mathlink interface necessary). polymake has a lot of other functionality too.
Comments
Post a Comment