Lattice#
- class Lattice(graph)[source]#
Bases:
object
General lattice.
- Parameters:
graph (Union[PyGraph, 'nx.Graph']) – Input graph for Lattice. Can be provided as
rustworkx.PyGraph
, which is used internally, or, for convenience, asrustworkx.Graph
. The graph cannot be a multigraph.- Raises:
ValueError – If the input graph is a multigraph.
ValueError – If the graph edges are non-numeric.
Attributes
- graph#
Return a copy of the input graph.
- node_indexes#
Return the node indexes.
- num_nodes#
Return the number of nodes.
- weighted_edge_list#
Return a list of weighted edges.
Methods
- draw(*, self_loop=False, style=None)[source]#
Draw the lattice.
- Parameters:
self_loop (bool) – Draw self-loops in the lattice. Defaults to False.
style (LatticeDrawStyle | None) – Styles for rustworkx.visualization.mpl_draw. Please see https://www.rustworkx.org/apiref/rustworkx.visualization.mpl_draw.html for details.
- classmethod from_adjacency_matrix(interaction_matrix)[source]#
Constructs a new lattice from a 2-dimensional adjacency matrix.
This method is equivalent to
PyGraph.from_adjacency_matrix()
or its complex counterpart when given a complex-valued matrix.- Parameters:
interaction_matrix (ndarray) – the adjacency matrix from which to build out the lattice.
- Raises:
ValueError – if the provided adjacency matrix is not a 2-D square matrix.
- Returns:
A new lattice based on the provided adjacency matrix.
- Return type:
- classmethod from_nodes_and_edges(num_nodes, weighted_edges)[source]#
Return an instance of Lattice from the number of nodes and the list of edges.
- to_adjacency_matrix(weighted=False)[source]#
Return its adjacency matrix from weighted edges. The weighted edge list is interpreted as the upper triangular matrix. Defaults to False.