Generalize HoppingKind
Currently, a HoppingKind
instance corresponds to all hopping between a
and b
such that
a.family is hk.family_a
b.family is hk.family_b
a.tag - b.tag == hk.delta
This cannot describe hoppings between lattices with differing but commensurate periods like square(1)
and square(2)
.
I propose to modify this as follows:
b.tag = a.tag * hk.factor - hk.delta
The factor would be one by default and as such this enhancement is backwards-compatible.