KagomeLattice#
- class KagomeLattice(rows, cols, edge_parameter=1.0, onsite_parameter=0.0, boundary_condition=BoundaryCondition.OPEN)[ソース]#
ベースクラス:
Lattice
The two-dimensional kagome lattice.
The kagome lattice is a two-dimensional Bravais lattice formed by tiling together equilateral triangles and regular hexagons in an alternating pattern. The lattice is spanned by the primitive lattice vectors
and with each unit cell consisting of three lattice sites located at , and , respectively.This class allows for the simple construction of kagome lattices. For example,
from qiskit_nature.second_q.hamiltonians.lattices import ( BoundaryCondition, KagomeLattice, ) kagome = KagomeLattice( 5, 4, edge_parameter = 1.0, onsite_parameter = 2.0, boundary_condition = BoundaryCondition.PERIODIC )
instantiates a kagome lattice with 5 and 4 unit cells in the x and y direction, respectively, which has weights 1.0 on all edges and weights 2.0 on self-loops. The boundary conditions are periodic for the entire lattice.
- パラメータ:
rows (int) – Number of unit cells in the x direction.
cols (int) – Number of unit cells in the y direction.
edge_parameter (complex) – Weight on all the edges, specified as a single value Defaults to 1.0,
onsite_parameter (complex) – Weight on the self-loops, which are edges connecting a node to itself. Defaults to 0.0.
boundary_condition (BoundaryCondition | tuple[BoundaryCondition, BoundaryCondition]) – Boundary condition for each direction. The available boundary conditions are:
BoundaryCondition.OPEN
,BoundaryCondition.PERIODIC
. Defaults toBoundaryCondition.OPEN
.
- 例外:
ValueError – When edge parameter or boundary condition is a tuple, the length of that is not the same as that of size.
Attributes
- boundary_condition#
Boundary condition for the entire lattice.
- 戻り値:
The boundary condition.
- cols#
Number of unit cells in the y direction.
- 戻り値:
The number of columns of the lattice.
- edge_parameter#
Weights on all edges.
- 戻り値:
The parameter for the edges.
- graph#
Return a copy of the input graph.
- node_indexes#
Return the node indexes.
- num_nodes#
Return the number of nodes.
- onsite_parameter#
Weight on the self-loops.
- 戻り値:
The parameter for the self-loops.
- rows#
Number of unit cells in the x direction.
- 戻り値:
The number of rows of the lattice.
- size#
Number of unit cells in the x and y direction, respectively.
- 戻り値:
The size of the lattice.
- weighted_edge_list#
Return a list of weighted edges.
Methods
- draw(*, self_loop=False, style=None)#
Draw the lattice.
- パラメータ:
self_loop (bool) – Draw self-loops in the lattice. Defaults to False.
style (LatticeDrawStyle | None) – Styles for rustworkx.visualization.mpl_draw. Please see https://qiskit.org/documentation/rustworkx/stubs/rustworkx.visualization.mpl_draw.html#rustworkx.visualization.mpl_draw for details.
- draw_without_boundary(*, self_loop=False, style=None)[ソース]#
Draw the lattice with no edges between the boundaries.
- パラメータ:
self_loop (bool) – Draw self-loops in the lattice. Defaults to False.
style (LatticeDrawStyle | None) – Styles for rustworkx.visualization.mpl_draw. Please see https://qiskit.org/documentation/rustworkx/stubs/rustworkx.visualization.mpl_draw.html#rustworkx.visualization.mpl_draw for details.
- classmethod from_adjacency_matrix(interaction_matrix)#
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.- パラメータ:
interaction_matrix (ndarray) – the adjacency matrix from which to build out the lattice.
- 例外:
ValueError – if the provided adjacency matrix is not a 2-D square matrix.
- 戻り値:
A new lattice based on the provided adjacency matrix.
- 戻り値の型:
- classmethod from_nodes_and_edges(num_nodes, weighted_edges)#
Return an instance of Lattice from the number of nodes and the list of edges.
- to_adjacency_matrix(weighted=False)#
Return its adjacency matrix from weighted edges. The weighted edge list is interpreted as the upper triangular matrix. Defaults to False.
- uniform_parameters(uniform_interaction, uniform_onsite_potential)#
Returns a new lattice with uniform parameters but otherwise identical structure.