# intersection.igraph

##### Intersection of graphs

The intersection of two or more graphs are created. The graphs may have identical or overlapping vertex sets.

- Keywords
- graphs

##### Usage

```
# S3 method for igraph
intersection(..., byname = "auto", keep.all.vertices = TRUE)
```

##### Arguments

- …
Graph objects or lists of graph objects.

- byname
A logical scalar, or the character scalar

`auto`

. Whether to perform the operation based on symbolic vertex names. If it is`auto`

, that means`TRUE`

if all graphs are named and`FALSE`

otherwise. A warning is generated if`auto`

and some (but not all) graphs are named.- keep.all.vertices
Logical scalar, whether to keep vertices that only appear in a subset of the input graphs.

##### Details

`intersection`

creates the intersection of two or more graphs:
only edges present in all graphs will be included. The corresponding
operator is %s%.

If the `byname`

argument is `TRUE`

(or `auto`

and all graphs
are named), then the operation is performed on symbolic vertex names instead
of the internal numeric vertex ids.

`intersection`

keeps the attributes of all graphs. All graph,
vertex and edge attributes are copied to the result. If an attribute is
present in multiple graphs and would result a name clash, then this
attribute is renamed by adding suffixes: _1, _2, etc.

The `name`

vertex attribute is treated specially if the operation is
performed based on symbolic vertex names. In this case `name`

must be
present in all graphs, and it is not renamed in the result graph.

An error is generated if some input graphs are directed and others are undirected.

##### Value

A new graph object.

##### Examples

```
# NOT RUN {
## Common part of two social networks
net1 <- graph_from_literal(D-A:B:F:G, A-C-F-A, B-E-G-B, A-B, F-G,
H-F:G, H-I-J)
net2 <- graph_from_literal(D-A:F:Y, B-A-X-F-H-Z, F-Y)
print_all(net1 %s% net2)
# }
```

*Documentation reproduced from package igraph, version 1.2.5, License: GPL (>= 2)*