Make a 'Lattice' class that is compatible (in some restricted sense) with a symmetry
We will define a class of sites (Lattice
) characterized by:
-
sym
-- the symmetry on which this class of sites is based -
div
-- an integer factor to dividesym.periods
into a finer lattice -
T
-- matrix where rows are the lattice vectors in the basis ofsym.periods / div
We will need to update the to_unit_cell
, unit_cell
and act
functions to work with sites from
these lattices.
Such lattices should also define an ordering (<
) that will determine which
sites are chosen for the fundamental domain. This will allow us to remove the bas
parameter
to the fundamental_domain
functions, and use simple site comparison.