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.