Regular graph¶
Regular graphs are translation invariant graphs in the d-dimensional integer grid. Regular graphs do not explicitly store edges: they are thus not suited to represent edge weighted graphs.
For a given dimension \(N\in\{1,2,3,4,5\}\), there is a specific regular graph class called RegularGraphNd
.
All the specific regular graph classes implement the same interface.
-
class
RegularGraph2d
(shape, neighbour_list)¶ -
__init__
(shape, neighbour_list)¶ Creates a new regular grid graph
Example:
>>> # construct implicit 6 adj 3D graph >>> adj_6 = (( 0, 0, -1), >>> ( 0, 0, 1), >>> ( 0, -1, 0), >>> ( 0, 1, 0), >>> (-1, 0, 0), >>> ( 1, 0, 0)) >>> >>> shape = (100, 100, 100) >>> >>> g = hg.RegularGraph3d(shape, adj_6)
- Parameters:
shape – list of int or embedding of the right dimension
neighbour_list – a list of points coordinates
- Returns:
a regular graph instance
-
adjacent_vertices
(self: higra.higram.RegularGraph2d, vertex: int) → Iterator¶ Iterator over all vertices adjacent to the given vertex.
-
as_explicit_graph
()¶ Converts the current regular graph instance to an equivalent explicit undirected graph.
- Returns:
An
UndirectedGraph
equivalent to the current graph
-
degree
(*args, **kwargs)¶ Overloaded function.
degree(self: higra.higram.RegularGraph2d, vertex: int) -> int
Return the degree of the given vertex.
degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.int32]) -> numpy.ndarray[numpy.uint64]
Return the degree of the given vertices.
degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.uint32]) -> numpy.ndarray[numpy.uint64]
degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.int64]) -> numpy.ndarray[numpy.uint64]
degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.uint64]) -> numpy.ndarray[numpy.uint64]
-
in_degree
(*args, **kwargs)¶ Overloaded function.
in_degree(self: higra.higram.RegularGraph2d, vertex: int) -> int
Return the in degree of the given vertex.
in_degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.int32]) -> numpy.ndarray[numpy.uint64]
Return the in degree of the given vertices.
in_degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.uint32]) -> numpy.ndarray[numpy.uint64]
in_degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.int64]) -> numpy.ndarray[numpy.uint64]
in_degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.uint64]) -> numpy.ndarray[numpy.uint64]
-
in_edges
(self: higra.higram.RegularGraph2d, vertex: int) → Iterator¶ Iterator over all in edges from ‘vertex’. An in edge is a tuple ‘(adjacent_vertex, vertex)’.
-
neighbour_list
(self: higra.higram.RegularGraph2d) → numpy.ndarray[numpy.int64]¶ Get the neighbour list defining the regular graph.
-
num_vertices
(self: higra.higram.RegularGraph2d) → int¶ Return the number of vertices in the graph
-
out_degree
(*args, **kwargs)¶ Overloaded function.
out_degree(self: higra.higram.RegularGraph2d, vertex: int) -> int
Return the out degree of the given vertex.
out_degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.int32]) -> numpy.ndarray[numpy.uint64]
Return the out degree of the given vertices.
out_degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.uint32]) -> numpy.ndarray[numpy.uint64]
out_degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.int64]) -> numpy.ndarray[numpy.uint64]
out_degree(self: higra.higram.RegularGraph2d, vertices_array: numpy.ndarray[numpy.uint64]) -> numpy.ndarray[numpy.uint64]
-
out_edges
(self: higra.higram.RegularGraph2d, vertex: int) → Iterator¶ Iterator over all out edges from ‘vertex’. An out edge is a tuple ‘(vertex, adjacent_vertex)’.
-
shape
(self: higra.higram.RegularGraph2d) → numpy.ndarray[numpy.int64]¶ Get the shape of the grid graph.
-
source
(self: higra.higram.RegularGraph2d, edge: tuple) → detail::accessor<detail::accessor_policies::tuple_item>¶ Get the source vertex of an edge.
-
target
(self: higra.higram.RegularGraph2d, edge: tuple) → detail::accessor<detail::accessor_policies::tuple_item>¶ Get the target vertex of an edge.
-
vertices
(self: higra.higram.RegularGraph2d) → Iterator¶ Iterator over all vertices of the graph.
-