sign_vectors.chirotopes¶
Chirotopes.
Classes
|
A chirotope of given rank and ground set size. |
|
Auxiliary class for chirotopes. |
- class sign_vectors.chirotopes.Chirotope(rank: int, ground_set_size: int)¶
A chirotope of given rank and ground set size.
EXAMPLES:
sage: from sign_vectors import * sage: from sign_vectors.chirotopes import * sage: c = Chirotope.from_list([0, 0, -1, 1, 0, 1, -1, 1, -1, -1], 2, 5) sage: c Chirotope of rank 2 on ground set of size 5 sage: c.entry((0, 3)) - sage: c.entries() [0, 0, -, +, 0, +, -, +, -, -] sage: c.as_string() '00-+0+-+--' sage: c.oriented_matroid() Oriented matroid of dimension 1 with elements of size 5. sage: c.dual() Chirotope of rank 3 on ground set of size 5 sage: c.dual().entries() [-, +, +, -, -, 0, -, -, 0, 0]
We construct chirotopes from matrices:
sage: M = matrix([[1, 2, 0, 0], [0, 1, 2, 3]]) sage: c = Chirotope.from_matrix(M) sage: c.entry((0, 1)) + sage: c.entries() [+, +, +, +, +, 0] sage: c.dual() Chirotope of rank 2 on ground set of size 4 sage: c.dual().entries() [0, -, +, +, -, +]
sage: M = matrix([[1, 0, 0, 1], [0, 1, 0, 1], [0, 0, 1, 1]]) sage: c = Chirotope.from_matrix(M) sage: c Chirotope of rank 3 on ground set of size 4 sage: c.entries() [+, +, -, +] sage: c.dual() Chirotope of rank 1 on ground set of size 4 sage: c.dual().entries() [+, +, +, -]
We construct chirotopes from circuits:
sage: c = Chirotope.from_circuits([sign_vector("00+0"), sign_vector("000+")], 2, 4) sage: c.entry([0, 1]) + sage: c.entry([0, 2]) 0 sage: c.entry([1, 2]) 0 sage: c = Chirotope.from_circuits([sign_vector("00+0"), sign_vector("000+")], 2, 4) sage: c.entries() [+, 0, 0, 0, 0, 0] sage: c.dual() Chirotope of rank 2 on ground set of size 4 sage: c.dual().entries() [0, 0, 0, 0, 0, +] sage: c.as_string() '+00000'
sage: c = Chirotope.from_circuits([sign_vector("++0--"), sign_vector("+0--0"), sign_vector("-0++0"), sign_vector("0--0+"), sign_vector("--0++"), sign_vector("0++0-")], 3, 5) sage: c.entries() [+, -, +, 0, -, +, +, 0, -, +] sage: c.dual().entries() [+, +, 0, -, +, +, 0, +, +, +]
We construct chirotopes from cocircuits:
sage: c = Chirotope.from_cocircuits([sign_vector("00+0"), sign_vector("000+")], 2, 4) sage: c.entries() [0, 0, 0, 0, 0, +]
sage: c = Chirotope.from_cocircuits([sign_vector("00++"), sign_vector("0++0"), sign_vector("0+0-")], 2, 4) sage: c.entries() [0, 0, 0, +, +, +]
- as_string() str ¶
Represent the chirotope as a string.
- dual() sign_vectors.chirotopes.Chirotope ¶
Return the dual chirotope.
- entries() list[sign_vectors.chirotopes.Sign] ¶
Return all chirotope entries in lexicographic order.
- entry(rset: list[int]) sign_vectors.chirotopes.Sign ¶
Return the chirotope entry given by
indices
.
- static from_circuits(circuits: set[sign_vectors.sign_vectors.SignVector], rank: int, ground_set_size: int) sign_vectors.chirotopes.Chirotope ¶
Construct a chirotope from its circuits.
- static from_cocircuits(cocircuits: set[sign_vectors.sign_vectors.SignVector], rank: int, ground_set_size: int) sign_vectors.chirotopes.Chirotope ¶
Construct a chirotope from its cocircuits.
- static from_list(entries: list[sign_vectors.chirotopes.Sign], rank: int, ground_set_size: int) sign_vectors.chirotopes.Chirotope ¶
Construct a chirotope from its entries.
- static from_matrix(matrix) sign_vectors.chirotopes.Chirotope ¶
Construct a chirotope from a matrix.
- oriented_matroid() OrientedMatroid ¶
Return the oriented matroid corresponding to the chirotope.
- class sign_vectors.chirotopes.Sign(value)¶
Auxiliary class for chirotopes.
EXAMPLES:
sage: from sign_vectors.chirotopes import Sign sage: Sign(1) + sage: Sign(-1) - sage: Sign(0) 0 sage: Sign(5) + sage: Sign(5).value 1 sage: -Sign(5) - sage: Sign("+") + sage: Sign("-") - sage: Sign("0") 0