HyperCubicLattice#
- class HyperCubicLattice(size, edge_parameter=1.0, onsite_parameter=0.0, boundary_condition=BoundaryCondition.OPEN)[ソース]#
ベースクラス:
Lattice
Hyper-cubic lattice in \(d\) dimensions.
The
HyperCubicLattice
can be initialized with tuples of size, edge_parameters, and boundary_conditions. For example,from qiskit_nature.second_q.hamiltonians.lattices import ( BoundaryCondition, HyperCubicLattice, ) lattice = HyperCubicLattice( size = (3, 4, 5), edge_parameter = (1.0, -2.0, 3.0), onsite_parameter = 2.0, boundary_condition = (BoundaryCondition.OPEN, BoundaryCondition.OPEN, BoundaryCondition.OPEN) )
is a three-dimensional lattice of size 3 by 4 by 5, which has weights 1.0, -2.0, 3.0 on edges in x, y, and z directions, respectively, and weights 2.0 on self-loops. The boundary conditions are open for all the directions.
- パラメータ:
edge_parameter (complex | Tuple[complex, ...]) – Weights on the edges in each direction. When it is a single value, it is interpreted as a tuple of the same length as size consisting of the same values. Defaults to 1.0.
onsite_parameter (complex) – Weight on the self-loops, which are edges connecting a node to itself. This is uniform over the lattice points. Defaults to 0.0.
boundary_condition (BoundaryCondition | Tuple[BoundaryCondition, ...]) – Boundary condition for each dimension. The available boundary conditions are: BoundaryCondition.OPEN, BoundaryCondition.PERIODIC. When it is a single value, it is interpreted as a tuple of the same length as size consisting of the same values. Defaults to BoundaryCondition.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 each dimension.
- 戻り値:
the boundary condition.
- dim#
Dimensions of the hyper cubic lattice.
- 戻り値:
the dimension.
- edge_parameter#
Weights on the edges in each direction.
- 戻り値:
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.
- size#
Lengths of each dimension.
- 戻り値:
the size.
- 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.