Permute the vertices of a graph

Share:

Description

Create a new graph, by permuting vertex ids.

Usage

1
permute(graph, permutation)

Arguments

graph

The input graph, it can directed or undirected.

permutation

A numeric vector giving the permutation to apply. The first element is the new id of vertex 1, etc. Every number between one and vcount(graph) must appear exactly once.

Details

This function creates a new graph from the input graph by permuting its vertices according to the specified mapping. Call this function with the output of canonical_permutation to create the canonical form of a graph.

permute keeps all graph, vertex and edge attributes of the graph.

Value

A new graph object.

Author(s)

Gabor Csardi csardi.gabor@gmail.com

See Also

canonical_permutation

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# Random permutation of a random graph
g <- sample_gnm(20, 50)
g2 <- permute(g, sample(vcount(g)))
graph.isomorphic(g, g2)

# Permutation keeps all attributes
g$name <- "Random graph, Gnm, 20, 50"
V(g)$name <- letters[1:vcount(g)]
E(g)$weight <- sample(1:5, ecount(g), replace=TRUE)
g2 <- permute(g, sample(vcount(g)))
graph.isomorphic(g, g2)
g2$name
V(g2)$name
E(g2)$weight
all(sort(E(g2)$weight) == sort(E(g)$weight))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.