Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add class CircuitsMatroid #37148

Merged
merged 13 commits into from
Feb 13, 2024
1 change: 1 addition & 0 deletions src/doc/en/reference/matroids/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Concrete implementations
:maxdepth: 1

sage/matroids/basis_matroid
sage/matroids/circuits_matroid
sage/matroids/circuit_closures_matroid
sage/matroids/linear_matroid
sage/matroids/rank_matroid
Expand Down
31 changes: 31 additions & 0 deletions src/sage/matroids/circuits_matroid.pxd
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
from sage.matroids.matroid cimport Matroid
from sage.matroids.set_system cimport SetSystem

cdef class CircuitsMatroid(Matroid):
cdef frozenset _groundset # _E
cdef int _matroid_rank # _R
cdef SetSystem _C # circuits
cdef dict _k_C # k-circuits (k=len)
cdef bint _nsc_defined
cpdef groundset(self) noexcept
cpdef _rank(self, X) noexcept
cpdef full_rank(self) noexcept
cpdef _is_independent(self, F) noexcept
cpdef _max_independent(self, F) noexcept
cpdef _circuit(self, F) noexcept

# enumeration
cpdef bases(self) noexcept
cpdef circuits(self, k=*) noexcept
cpdef nonspanning_circuits(self) noexcept
cpdef no_broken_circuits_sets(self, ordering=*) noexcept

# properties
cpdef girth(self) noexcept
cpdef is_paving(self) noexcept

# isomorphism
cpdef _is_isomorphic(self, other, certificate=*) noexcept

# verification
cpdef is_valid(self) noexcept
Loading
Loading