kwant.lattice.
TranslationalSymmetry
(*periods)[source]¶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.
The symmetry periods in real space.
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.
the site family which has to be processed. Be sure to delete the previously processed site families from site_family_data if you want to modify the cache.
Bravais lattice vectors used to complement the periods in forming a basis. The fundamental domain consists of all the lattice sites for which the zero coefficients corresponding to the symmetry periods in the basis formed by the symmetry periods and other_vectors. If an insufficient number of other_vectors is provided to form a basis, the missing ones are selected automatically.
If fam is already stored in site_family_data.
If lattice fam is incompatible with given periods.
has_subgroup
(other)[source]¶Test whether self has the subgroup other…
or, in other words, whether other is a subgroup of self. The reason why this is the abstract method (and not is_subgroup) is that in general it’s not possible for a subgroup to know its supergroups.
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.
Each generator must have length self.num_directions
.
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).
which
(site)[source]¶Calculate the domain of the site.
Return the group element whose action on a certain site from the
fundamental domain will result in the given site
.
Attributes