# lattice¶

Classes

 Chain(L, site, **kwargs) A chain of L equal sites. Honeycomb(Lx, Ly, sites, **kwargs) A honeycomb lattice. IrregularLattice(regular_lattice[, remove, …]) A variant of a regular lattice, where we might have extra sites or sites missing. Kagome(Lx, Ly, sites, **kwargs) A Kagome lattice. Ladder(L, sites, **kwargs) A ladder coupling two chains. Lattice(Ls, unit_cell[, order, bc, bc_MPS, …]) A general, regular lattice. SimpleLattice(Ls, site, **kwargs) A lattice with a unit cell consiting of just a single site. Square(Lx, Ly, site, **kwargs) A square lattice. Triangular(Lx, Ly, site, **kwargs) A triangular lattice. TrivialLattice(mps_sites, **kwargs) Trivial lattice consisting of a single (possibly large) unit cell in 1D.

Functions

 get_lattice(lattice_name) Given the name of a Lattice class, get the lattice class itself. get_order(shape, snake_winding[, priority]) Built the Lattice.order in (Snake-) C-Style for a given lattice shape. get_order_grouped(shape, groups) Variant of get_order(), grouping some sites of the unit cell.

Module description

Classes to define the lattice structure of a model.

The base class Lattice defines the general structure of a lattice, you can subclass this to define you own lattice. The SimpleLattice is a slight simplification for lattices with a single-site unit cell. Further, we have some predefined lattices, namely Chain, Ladder in 1D and Square, Triangular, Honeycomb, and Kagome in 2D.

The IrregularLattice provides a way to remove or add sites to an existing, regular lattice.