Java
| ||||||||||||||||||||
SummaryThis open source library allows for the creation and manipulation of oriented matroids with high quality code; extensive support for pseudolines, and pseudolines diagrams is provided. It principally covers the cryptomorphic representations of oriented matroids, allowing seamless conversion between them. Please contact me if you are using this library. Pseudoline DiagramsThe code comes with several examples built-in of interesting rank 3 oriented matroids. By the topological representation theorem such matroids (or more precisely some reorientation) can be drawn as an arrangment of pseudolines. Traditionally, these arrangements are drawn in in the projective plane. We take such diagrams and project onto the Euclidean plane, mapping one of the pseudolines to the line at infinity, which we represent as an oval. A good place to start is this one, which has extensive documentation to explain the conventions in the diagram. This is the first example from the Oriented Matroid book. It is strongly recommended that you read this book, and keep it as a reference, when using the Java Oriented Matroid library. That page explains how to read the diagrams, in particular, to understand what 'oriented' means in terms of these diagrams, and the meaning of the origin in this pictures. Since that example is on six elements, there are six slightly different projections onto the Euclidean plane. More interesting examples are as follows:
Developer DocumentationThe on-line javadoc is the guide to the API. This includes programmatic access to the examples seen above. Sourceforge LinksDifficulties in Being StraightThe primary goal is to help me on my long-term project concerning pseudoline stretching. The fundamental approach is essentially the same as in my technical report from 2000, significantly updated with an oriented matroid viewpoint, as described in too much length in A New Proof of Pappus's Theorem:
With release 0.3 of September 2013, the prerequisite work on oriented matroids is sufficiently complete, and the system draws pseudoline diagrams: the next release will include some of the implementation of this realizability algorithm (for rank 3 oriented matroids) AcknowledgementMany thanks to YourKit Java Profiler, which we whole-heartedly recommend. |