此函数计算另一个图的线图。
详细信息
无向图 G
的线图 L(G)
定义如下。L(G)
对于 G
中的每条边都有一个顶点,如果 L(G)
中的两个顶点对应的边共享一个端点,则它们之间由一条边连接。
有向图 G
的线图 L(G)
略有不同,L(G)
对于 G
中的每条边都有一个顶点,如果第一个顶点对应边的目标与第二个顶点对应边的源相同,则 L(G)
中的两个顶点由一条有向边连接。
作者
Gabor Csardi csardi.gabor@gmail.com, C 代码的第一个版本由 Vincent Matossian 编写。
示例
# generate the first De-Bruijn graphs
g <- make_full_graph(2, directed = TRUE, loops = TRUE)
make_line_graph(g)
#> IGRAPH c0d35b3 D--- 4 8 -- Line graph
#> + attr: name (g/c)
#> + edges from c0d35b3:
#> [1] 1->1 3->1 1->2 3->2 2->3 4->3 2->4 4->4
make_line_graph(make_line_graph(g))
#> IGRAPH ce1ed90 D--- 8 16 -- Line graph
#> + attr: name (g/c)
#> + edges from ce1ed90:
#> [1] 1->1 2->1 5->2 6->2 1->3 2->3 5->4 6->4 3->5 4->5 7->6 8->6 3->7 4->7 7->8
#> [16] 8->8
make_line_graph(make_line_graph(make_line_graph(g)))
#> IGRAPH ec540d2 D--- 16 32 -- Line graph
#> + attr: name (g/c)
#> + edges from ec540d2:
#> [1] 1-> 1 2-> 1 3-> 2 4-> 2 9-> 3 10-> 3 11-> 4 12-> 4 1-> 5 2-> 5
#> [11] 3-> 6 4-> 6 9-> 7 10-> 7 11-> 8 12-> 8 5-> 9 6-> 9 7->10 8->10
#> [21] 13->11 14->11 15->12 16->12 5->13 6->13 7->14 8->14 13->15 14->15
#> [31] 15->16 16->16