For undirected graphs, head and tail is not defined.  In this case
head_of returns vertices incident to the supplied edges, and
tail_of returns the other end(s) of the edge(s).
head_of(graph, es)The input graph.
The edges to query.
A vertex sequence with the head(s) of the edge(s).
Other structural queries: 
[.igraph(),
[[.igraph(),
adjacent_vertices(),
are_adjacent(),
ends(),
get.edge.ids(),
gorder(),
gsize(),
incident_edges(),
incident(),
is_directed(),
neighbors(),
tail_of()