Skip to content

Commit 41a7d54

Browse files
committed
Add CircuitsMatroid class
1 parent 360a9d1 commit 41a7d54

File tree

6 files changed

+757
-30
lines changed

6 files changed

+757
-30
lines changed

src/doc/en/reference/matroids/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Concrete implementations
2727
:maxdepth: 1
2828

2929
sage/matroids/basis_matroid
30+
sage/matroids/circuits_matroid
3031
sage/matroids/circuit_closures_matroid
3132
sage/matroids/linear_matroid
3233
sage/matroids/rank_matroid
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from sage.matroids.matroid cimport Matroid
2+
from sage.matroids.set_system cimport SetSystem
3+
4+
cdef class CircuitsMatroid(Matroid):
5+
cdef frozenset _groundset # _E
6+
cdef int _matroid_rank # _R
7+
cdef SetSystem _C # circuits
8+
cdef dict _k_C # k-circuits (k=len)
9+
cdef bint _nsc_defined
10+
cpdef groundset(self) noexcept
11+
cpdef _rank(self, X) noexcept
12+
cpdef full_rank(self) noexcept
13+
cpdef _is_independent(self, F) noexcept
14+
cpdef _max_independent(self, F) noexcept
15+
cpdef _circuit(self, F) noexcept
16+
17+
# enumeration
18+
cpdef bases(self) noexcept
19+
cpdef circuits(self, k=*) noexcept
20+
cpdef nonspanning_circuits(self) noexcept
21+
22+
# properties
23+
cpdef girth(self) noexcept
24+
cpdef is_paving(self) noexcept
25+
26+
# isomorphism
27+
cpdef _is_isomorphic(self, other, certificate=*) noexcept
28+
29+
# verification
30+
cpdef is_valid(self) noexcept

0 commit comments

Comments
 (0)