public interface OM extends Verify
getCircuits()
. This returns an oriented matroid that is equal to this one,
and also implements the SetOfSignedSet
interface giving the circuits.
Each of five cryptomorphisms is similarly implemented.
Many methods return an OM
. In practice it might be found
that the returned OM
is always the circuit representation:
this is not part of the contract, and should not be relied on - call getCircuits()
if that is the representation you need.
Modifier and Type | Method and Description |
---|---|
int |
asInt(Label e)
The integer corresponding to this element (counting from 0).
|
int |
asInt(String label)
The integer corresponding to this element (counting from 0).
|
<T extends Label> |
asInt(T... e)
The integers corresponding to these elements (counting from 0).
|
int[] |
asInt(UnsignedSet u)
Gets the indexes of each element in
u |
UnsignedSet |
asSet(int... ix)
Concerts integer indices of
elements()
into an UnsignedSet. |
Group |
automorphisms()
The automorphism group of this oriented matroid.
|
OM |
dual()
The dual oriented matroid.
|
Label[] |
elements()
The elements on which this oriented matroid is defined.
|
boolean |
equals(Object om)
An Oriented Matroid is equal to any other object implementing this
interface, which represents the same underlying oriented matroid,
including the
elements() being equal. |
FactoryFactory |
ffactory()
The factory for making this oriented matroid and its various parts.
|
OMasChirotope |
getChirotope()
Get the chirotope representation of the oriented matroid.
|
OMasSignedSet |
getCircuits()
Get the circuit representation of the oriented matroid.
|
OMasFaceLattice |
getFaceLattice()
Get the face lattice representation of the oriented matroid.
|
Matroid |
getMatroid()
The underlying matroid.
|
OMasSignedSet |
getMaxVectors()
Get the maximum vector representation of the oriented matroid.
|
OMasRealized |
getRealized()
Get the realized representation of the oriented matroid.
|
OMasSignedSet |
getVectors()
Get the vector representation of the oriented matroid.
|
int |
hashCode()
The hashCode of an Oriented Matroid is the hashCode of the circuit
representation as a
SetOfSignedSet s. |
boolean |
isAcyclic()
This returns true if the oriented matroid contains
no positive circuit, or equivalently, every edge is
in a positive cocircuit.
|
boolean |
isUniform()
True if every set of
rank() elements is a basis for the underlying matroid. |
int |
n()
The size of
elements() |
OM |
permute(Permutation p)
Permute the Oriented Matroid,
the ground set is not permuted.
|
OM |
permuteGround(Permutation p)
Permute the ground set.
|
int |
rank()
The rank of this oriented matroid.
|
OM |
reorient(Label... reorientationSet)
Reorients (i.e.
|
UnsignedSet |
setOfElements()
This is the same as
elements() , except it is unordered. |
Function<SignedSet,SignedSet> |
signedSetPermuter(Permutation p)
Convert a permutation of the
elements() into
a function that will map a signed set to the permuted signed set. |
OMasChirotope getChirotope()
equals(getChirotope())
is true.OMasSignedSet getCircuits()
equals(getCircuits())
is true.OMasSignedSet getVectors()
equals(getVectors())
is true.OMasSignedSet getMaxVectors()
equals(getMaxVectors())
is true.OMasRealized getRealized()
equals(getRealized())
is true.
This is (currently) only implemented for oriented matroids
that were initially created from matrices; i.e. the original realization
of this oriented matroid or its dual is remembered.
The principal goal of the Java Oriented Matroid project is to improve the implementation of this method.
UnsupportedOperationException
- Realization not implemented in most cases.Bibliography.shor1991
OMasFaceLattice getFaceLattice()
equals(getFaceLattice())
is true.
Note that in some sense this is a property of the dual. The labels
on the faces of the return face lattice are covectors.OM dual()
OM reorient(Label... reorientationSet)
reorientationSet
- The elements to reorientLabel[] elements()
getChirotope()
and getRealized()
UnsignedSet setOfElements()
elements()
, except it is unordered.Matroid getMatroid()
int rank()
int hashCode()
SetOfSignedSet
s.boolean equals(Object om)
elements()
being equal.int asInt(Label e)
e
- An element in elements()
e
in elements()
int asInt(String label)
label
- The label of the elemente
in elements()
, where e.label() = label
<T extends Label> int[] asInt(T... e)
e
- Elements in elements()
e
in elements()
UnsignedSet asSet(int... ix)
elements()
into an UnsignedSet.ix
- The indicesasInt(UnsignedSet)
int[] asInt(UnsignedSet u)
u
u
- a subset of setOfElements()
asSet(int...)
boolean isAcyclic()
OM permuteGround(Permutation p)
om
s.t.
om.equals(this)
and Arrays.equals(p.permute(this.ground()),om.ground()
are the same.p
- The permutation to apply.OM permute(Permutation p)
this.equals(this.permute(p))
is false.p
- The permutation to apply.int n()
elements()
elements()
.Group automorphisms()
π ∈ automorphisms()
we have this.equals(this.permute(π))
Function<SignedSet,SignedSet> signedSetPermuter(Permutation p)
elements()
into
a function that will map a signed set to the permuted signed set.p
- This is a permutation of elements()
FactoryFactory ffactory()
boolean isUniform()
rank()
elements is a basis for the underlying matroid.