# coverIdeal -- creates the cover ideal of a (hyper)graph

## Synopsis

• Usage:
I = coverIdeal H
• Inputs:
• H,
• Outputs:
• I, , the cover ideal of H

## Description

Returns the monomial ideal generated by the minimal vertex covers. This is also the Alexander dual of the edge ideal of the hypergraph H.
 `i1 : S = QQ[a,b,c,d,e,f];` ```i2 : k6 = completeGraph S -- complete graph on 6 vertices o2 = Graph{edges => {{a, b}, {a, c}, {a, d}, {a, e}, {a, f}, {b, c}, {b, d}, {b, e}, {b, f}, {c, d}, {c, e}, {c, f}, {d, e}, {d, f}, {e, f}}} ring => S vertices => {a, b, c, d, e, f} o2 : Graph``` ```i3 : coverIdeal k6 -- each generator corresponds to a minimal vertex of k6 o3 = monomialIdeal (a*b*c*d*e, a*b*c*d*f, a*b*c*e*f, a*b*d*e*f, a*c*d*e*f, ------------------------------------------------------------------------ b*c*d*e*f) o3 : MonomialIdeal of S``` ```i4 : h = hyperGraph {a*b*c,c*d,d*e*f} o4 = HyperGraph{edges => {{a, b, c}, {c, d}, {d, e, f}}} ring => S vertices => {a, b, c, d, e, f} o4 : HyperGraph``` ```i5 : coverIdeal h o5 = monomialIdeal (a*d, b*d, c*d, c*e, c*f) o5 : MonomialIdeal of S``` ```i6 : dual coverIdeal h == edgeIdeal h o6 = true```

• dual -- dual module or map
• edgeIdeal -- creates the edge ideal of a (hyper)graph
• vertexCoverNumber -- find the vertex covering number of a (hyper)graph
• vertexCovers -- list the minimal vertex covers of a (hyper)graph

## Ways to use coverIdeal :

• coverIdeal(HyperGraph)