outputing Hamiltonian with superconductivity

If I initialize a finite system with superconductivity using 2.6.2, finalize it, and output the Hamiltonian using sys.finalized().hamiltonian_submatrix() I have no clue how the sites are ordered. It is neither grouped with particle/hole nor with sites. For example with Delta=1, mu=2, t=5, L=3, the output is [[ 3.+0.j 0.+0.j 5.-0.j 0.+0.j 1.-0.j 0.+0.j] [ 0.+0.j -3.+0.j 0.+0.j 1.-0.j 0.+0.j -5.-0.j] [ 5.+0.j 0.+0.j 3.+0.j 5.-0.j 0.+0.j 1.-0.j] [ 0.+0.j 1.+0.j 5.+0.j 3.+0.j 0.+0.j 0.+0.j] [ 1.+0.j 0.+0.j 0.+0.j 0.+0.j -3.+0.j -5.-0.j] [ 0.+0.j -5.+0.j 1.+0.j 0.+0.j -5.+0.j -3.+0.j]] Is there a way to know how is the basis ordered?

On 13/02/15 16:58, HY wrote:
If I initialize a finite system with superconductivity using 2.6.2, finalize it, and output the Hamiltonian using
sys.finalized().hamiltonian_submatrix()
I have no clue how the sites are ordered. It is neither grouped with particle/hole nor with sites. For example with Delta=1, mu=2, t=5, L=3, the output is [[ 3.+0.j 0.+0.j 5.-0.j 0.+0.j 1.-0.j 0.+0.j] [ 0.+0.j -3.+0.j 0.+0.j 1.-0.j 0.+0.j -5.-0.j] [ 5.+0.j 0.+0.j 3.+0.j 5.-0.j 0.+0.j 1.-0.j] [ 0.+0.j 1.+0.j 5.+0.j 3.+0.j 0.+0.j 0.+0.j] [ 1.+0.j 0.+0.j 0.+0.j 0.+0.j -3.+0.j -5.-0.j] [ 0.+0.j -5.+0.j 1.+0.j 0.+0.j -5.+0.j -3.+0.j]]
Is there a way to know how is the basis ordered?
Hi, A similar question to this has been asked previously: http://thread.gmane.org/gmane.comp.science.kwant.user/132/ The essential point is that the site ordering is arbitrary, but a finalized Builder object (the output of `sys.finalized()` in your script) has a list of sites, the order of which matches the ordering of sites in the Hamiltonian. i.e. the Hamiltonian matrix element `(i, j)` is the element between sites `fsys.sites[i]` and `fsys.sites[j]`, where `fsys = sys.finalized()`. Naturally this ordering carries over to other quantities defined over the sites of the central region (wavefunctions, ldos, ...). Hope this clarifies a bit, Joe
participants (2)
-
HY
-
Joseph Weston