VertexFinder.jl
Package author: Jukka Aho (@ahojukka5)
The need to determine pseudoperipheral vertices arises from several graph-theoretical approaches for ordering sparse matrix equations. This package implements George-Liu algorithm for finding a pseudoperipheral vertex in a graph aiming at returning a vertex having a large eccentricity.
Usage
Let's consider the following graph:
It is easy to see that peripheral vertices for this graph are 9 and 6. The
requirement for the description of the graph is the following: graph must
implement getindex
and each adjacency list must be iterable. For example, list
of lists or dictionary of lists meets the requirements.
G = Dict(
1 => (3, 8, 9),
2 => (3, 8, 7),
3 => (1, 2),
4 => (8, 9),
5 => (7, 8),
6 => (2, 7),
7 => (5, 2, 6),
8 => (1, 2, 4, 5),
9 => (1, 4))
Starting from node 1:
w0 = 1
w1 = find(G, w0)
w2 = find(G, w1)
w3 = find(G, w2)
println(w1)
println(w2)
println(w3)
# output
6
9
6
Contributing to project
Any contributions are highly appreciated! If you have some good ideas how to make this package better, feel free to open an issue or send me an email.