kwant.lattice.TranslationalSymmetry(*periods)[source]¶Bases: kwant.builder.Symmetry
A translational symmetry defined in real space.
An alias exists for this common name: kwant.TranslationalSymmetry.
Group elements of this symmetry are integer tuples of appropriate length.
| Parameters: | p0, p1, p2, ... : sequences of real numbers
|
|---|
Notes
This symmetry automatically chooses the fundamental domain for each new
SiteFamily it encounters. If this site family does not correspond to a
Bravais lattice, or if it does not have a commensurate period, an error is
produced. A certain flexibility in choice of the fundamental domain can be
achieved by calling manually the add_site_family method and providing it
the other_vectors parameter.
The fundamental domain for hoppings are all hoppings (a, b) with site
a in fundamental domain of sites.
Methods
add_site_family(fam, other_vectors=None)[source]¶Select a fundamental domain for site family and cache associated data.
| Parameters: | fam : SiteFamily
other_vectors : 2d array-like of integers
|
|---|---|
| Raises: | KeyError
ValueError
|
reversed()[source]¶Return a reversed copy of the symmetry.
The resulting symmetry has all the period vectors opposite to the original and an identical fundamental domain.
subgroup(*generators)[source]¶Return the subgroup generated by a sequence of group elements.
| Parameters: | *generators: sequence of int
|
|---|
to_fd(a, b=None)[source]¶Map a site or hopping to the fundamental domain.
If b is None, return a site equivalent to a within the
fundamental domain. Otherwise, return a hopping equivalent to (a,
b) but where the first element belongs to the fundamental domain.
Equivalent to self.act(-self.which(a), a, b).
Attributes