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