hop

◼ hop[c, d] returns the electron hopping operator between the levels described by the operators c and d.
◼ hop[c, d, σ] with σ=UP | DO returns the electron hopping operator between the levels described by the operators c and d for spin σ electrons.

◼ Operators c and d must be expressed in a form which excludes the first index (creation/annihilation) and the last index (spin).

◼ See also: spinfliphop, holehop, twohop.

Further examples

Load sneg and declared c and d to be fermionic operators

<< sneg`sneg`;
snegfermionoperators[c, d];

Hopping between levels described by operators c and d with no additional indexes

hop[c[], d[]]
hop[c[], d[], UP]
hop[c[], d[], DO]

Hopping between levels that are indexes with, for example, site number i and channel α

hop[c[i], c[j]]
hop[c[i, α], c[j, α]]

Hopping commutes with the total spin operators

{(Subscript[S, x]), (Subscript[S, y]), (Subscript[S, z]), S2} = 
      manyspin[{c[1], c[2]}]
H = hop[c[1], c[2]]
komutator[H, (Subscript[S, x])] == 0 // ExpandAll
komutator[H, (Subscript[S, y])] == 0 // ExpandAll
komutator[H, (Subscript[S, z])] == 0 // ExpandAll
komutator[H, S2] == 0 // ExpandAll

Hopping commutes with the total isospin operators if the isospin site indexes are of different parity

{(Subscript[I, x]), (Subscript[I, y]), (Subscript[I, z]), I2} = 
      manyisospin[{c[1], c[2]}, {1, 2}]
komutator[H, (Subscript[I, x])] == 0 // ExpandAll
komutator[H, (Subscript[I, y])] == 0 // ExpandAll
komutator[H, (Subscript[I, z])] == 0 // ExpandAll
komutator[H, I2] == 0 // ExpandAll

\(Hopping\ operator\ does\ not\ commute\ with\ the\ total\ isospin\ operators\ I\_x, 
    I\_y\ and\ with\ \(I\^2\) 
      if\ the\ isospin\ site\ indexes\ are\ of\ the\ same\ parity . \ 
        It\ does\ commute, \ however, \ with\ I\_z = Q/2, \ 
    where\ Q\ is\ the\ electron\ charge\ \(\((with\ respect\ to\ half - 
            filled\ system)\)\(.\)\)\)

{(Subscript[I, x]), (Subscript[I, y]), (Subscript[I, z]), I2} = 
      manyisospin[{c[1], c[2]}, {1, 1}]
komutator[H, (Subscript[I, x])] // Expand
komutator[H, (Subscript[I, y])] // Expand
komutator[H, (Subscript[I, z])] == 0 // ExpandAll
komutator[H, I2] // Expand

10-site tight-binding chain example

basis = Table[c[CR, i, UP], {i, 10}]
H = -Sum[
          hop[c[i], c[i + 1], UP], {i, 9}]
matrix = 
        matrixrepresentationop[H, basis, basis];
MatrixForm[matrix]
{val, vec} = Eigensystem[matrix];
N[val]
ListPlot[vec[[1]], 
        PlotJoined -> True];
ListPlot[vec[[2]], PlotJoined -> True];