R: Find Eulerian paths or cycles in a graph

has_eulerian_path {igraph} | R Documentation

## Find Eulerian paths or cycles in a graph

### Description

`has_eulerian_path` and `has_eulerian_cycle` checks whether there is an Eulerian path or cycle in the input graph. `eulerian_path` and `eulerian_cycle` return such a path or cycle if it exists, and throws an error otherwise.

### Usage

    has_eulerian_path(graph)

    has_eulerian_cycle(graph)

    eulerian_path(graph)

    eulerian_cycle(graph)

### Arguments

`graph` | An igraph graph object

### Details

`has_eulerian_path` decides whether the input graph has an Eulerian path, i.e. a path that passes through every edge of the graph exactly once, and returns a logical value as a result. `eulerian_path` returns a possible Eulerian path, described with its edge and vertex sequence, or throws an error if no such path exists.

`has_eulerian_cycle` decides whether the input graph has an Eulerian cycle, i.e. a path that passes through every edge of the graph exactly once and that returns to its starting point, and returns a logical value as a result. `eulerian_cycle` returns a possible Eulerian cycle, described with its edge and vertex sequence, or throws an error if no such cycle exists.

### Value

For `has_eulerian_path` and `has_eulerian_cycle`, a logical value that indicates whether the graph contains an Eulerian path or cycle. For `eulerian_path` and `eulerian_cycle`, a named list with two entries:

`epath` | A vector containing the edge ids along the Eulerian path or cycle.
`vpath` | A vector containing the vertex ids along the Eulerian path or cycle.

### Examples

    g <- make_graph( ~ A-B-C-D-E-A-F-D-B-F-E )

    has_eulerian_path(g)
    eulerian_path(g)

    has_eulerian_cycle(g)
    ## Not run: eulerian_cycle(g)

[Package igraph version 1.3.2 Index]