... | ... | @@ -76,37 +76,34 @@ called for each pair `i<n>, j<n>` if not. |
|
|
The difference between finite and infinite systems is that the latter have a discrete
|
|
|
*translational symmetry*. In Kwant-2 the translational symmetry is characterised by N linearly
|
|
|
independent real-space vectors (as opposed to a single realspace vector, as in Kwant-1).
|
|
|
There is an isomorphism from the symmetry group `G` to `(Z^N, +)`, the additive group of
|
|
|
N-tuples of integers.
|
|
|
We define an isomorphism `φ: G → (ℤ^N, +)` from the symmetry group `G` to `(ℤ^N, +)`, the
|
|
|
additive group of N-tuples of integers. Note that there can be several valid choices of `φ`.
|
|
|
|
|
|
We define the infinite sets `S` and `T` respectively to be the sets of all the sites and hoppings in
|
|
|
the system. We define the finite sets, `S'`, of sites, and `T'`, of hoppings as the quotient sets of
|
|
|
`S` and `T` with respect to the equivalence relation defined by the symmetry:
|
|
|
We define the sets `S` and `T` respectively to be the sets of all the sites and hoppings in
|
|
|
the system. We define the *finite representation* of `S`, which we denote `S'`, to be all the elements
|
|
|
of `S` in the fundamental domain of the symmetry group. We define the finite representation of the
|
|
|
hoppings, `T'`, to be the elements of `T` which satisfy the following conditions:
|
|
|
|
|
|
x ~ y ⇔ ∃ g ∈ G | g·x = y`
|
|
|
+ At least one site is in the fundamental domain, i.e. it is in the set `S'`.
|
|
|
+ If one site `s` is not in the fundamental domain then the following condition also has
|
|
|
to be satisfied. The group element `g ∈ G` for which `s = g·p, p ∈ S'` must have a
|
|
|
representation under `φ` in `(ℤ^N, +)` for which the first non-zero element is positive.
|
|
|
This prevents double counting of hoppings.
|
|
|
|
|
|
where `g·` denotes the group action of a symmetry group element on a site/hopping. We also define the
|
|
|
function `where` by:
|
|
|
Given these definitions we can further define the *connection set* of the system as the
|
|
|
subset `G' ⊆ G` which can generate all the sites in the hoppings in `T'`. We define
|
|
|
the *degree* of the system as `|G'|`.
|
|
|
|
|
|
where: S → G
|
|
|
x ↦ g | x = g·y , y ∈ S'
|
|
|
|
|
|
where: T → G x G
|
|
|
(x,y) ↦ (g,h) | (x,y) = (g·u, h·v) , u,v ∈ S'
|
|
|
|
|
|
We can now define the *connection set*, `C`, of a system as the set of symmetry group elements:
|
|
|
|
|
|
C = ⋃ where(t)
|
|
|
t ∈ T'
|
|
|
|
|
|
and we define the *degree* of the system to be the cardinality of the connection set.
|
|
|
|
|
|
Let us look at a few examples to clarify this. This is very difficult without images,
|
|
|
and github wiki is *not easy* to get working with images which are not externally
|
|
|
hosted, especially at 2am.
|
|
|
Note that the above definitions apply equally well to finite systems. In this case
|
|
|
`G` is just the trivial group, `S = S'`, `T=T'` and the system hence has degree 1.
|
|
|
|
|
|
Infinite systems are stored in the following way. The on-sites are stored in the
|
|
|
same way as for finite systems; only sites in the finite representation are stored.
|
|
|
For each element of the connection set the associated hoppings (i.e. the hoppings
|
|
|
between the fundamental domain and its image under the action of the group element)
|
|
|
is stored in the same way as for the finite system.
|
|
|
|
|
|
|
|
|
## Implementation of Common Operations
|
|
|
Here we note down the various common operations that the low-level format has to efficiently support
|
|
|
and how they would be implemented with the above definition for the low-level format. |
|
|
\ No newline at end of file |
|
|
and how they would be implemented with the above definition for the low-level format. |