Use this if you are using igraph from R
Simple graphs are graphs which do not contain loop and multiple edges.
simplify(graph, remove.multiple = TRUE, remove.loops = TRUE, edge.attr.comb = igraph_opt("edge.attr.comb")) is_simple(graph)
graph 
The graph to work on. 
remove.multiple 
Logical, whether the multiple edges are to be removed. 
remove.loops 
Logical, whether the loop edges are to be removed. 
edge.attr.comb 
Specifies what to do with edge attributes, if

A loop edge is an edge for which the two endpoints are the same vertex. Two edges are multiple edges if they have exactly the same two endpoints (for directed graphs order does matter). A graph is simple is it does not contain loop edges and multiple edges.
is_simple
checks whether a graph is simple.
simplify
removes the loop and/or multiple edges from a graph. If
both remove.loops
and remove.multiple
are TRUE
the
function returns a simple graph.
A new graph object with the edges deleted.
Gabor Csardi csardi.gabor@gmail.com
which_loop
, which_multiple
and
count_multiple
, delete_edges
,
delete_vertices
g < graph( c(1,2,1,2,3,3) ) is_simple(g) is_simple(simplify(g, remove.loops=FALSE)) is_simple(simplify(g, remove.multiple=FALSE)) is_simple(simplify(g))