The coloops of a matroid M are the loops of the dual matroid. The set of coloops of M equals both the intersection of the bases of M, and the complement of the union of the circuits of M.
i1 : M = matroid({a,b,c,d},{{a,b},{a,c}})
o1 = a matroid of rank 2 on 4 elements
o1 : Matroid
|
i2 : circuits M
o2 = {set {1, 2}, set {3}}
o2 : List
|
i3 : C = set coloops M
o3 = set {0}
o3 : Set
|
i4 : C === M.groundSet - fold(circuits M, (a, b) -> a + b) o4 = true |
i5 : C === fold(bases M, (a, b) -> a*b) o5 = true |
i6 : M_C
o6 = {a}
o6 : List
|
i7 : D = dual M; peek D
o8 = Matroid{bases => {set {2, 3}, set {1, 3}}}
cache => CacheTable{...3...}
groundSet => set {0, 1, 2, 3}
rank => 2
|
i9 : coloops matroid completeGraph 4 == {}
o9 = true
|
The object coloops is a method function.