Oriented matroid is a combinatorial abstraction of many geometric objects such as hyperplane arrangement and vector configuration. OMC is a C++ package for oriented matroids computation that would help explore related research topics computationally.
OMC offers classes for different representations of oriented matroids such as chirotopes, circuits and pseudo-sphere arrangement. It exploits polymorphism to provide basic operations on oriented matroids that have different behavior depending on its actual representation. It currently supports relabeling, reorientation, element deletion, element contraction and equivalence checking.
MPI (Message Passing Interface) based Parallelization is implemented on certain expensive operations, e.g. equivalence checking of oriented matroids.
For the study of the hyperplane arrangement particularly, OMC supplies methods to explore certain aspects of its combinatorial structure, which are the interests of the research during my graduate study: