It is thus efficient to work on each diagonal block separately.
In[38]:=
mat=MatrixIn[HH,bs];MatrixForm/@mat
Out[39]=
{0,0}(
0
),1,
1
2
(
ϵ
),{2,0}(
U+2ϵ
)
Double Quantum Dot
Let us now consider a double quantum dot (DQD). From the above example of single-orbital quantum dot, you now see that the following two statements are equivalent:
In[89]:=
Dagger[d[1,Up]]**d[1,Up]Q[d[1,Up]]
Out[89]=
†
d
1,↑
d
1,↑
Out[90]=
†
d
1,↑
d
1,↑
You should also be familiar with the following equivalent statements:
In[91]:=
Sum[Q[d[j,Up]],{j,1,2}]Q[d[{1,2},Up]]
Out[91]=
†
d
1,↑
d
1,↑
+
†
d
2,↑
d
2,↑
Out[92]=
†
d
1,↑
d
1,↑
+
†
d
2,↑
d
2,↑
What about the sum over spin? The following two statements are equivalent:
In[93]:=
Q[d[1,{Up,Down}]]Q[d[1,All]]
Out[93]=
†
d
1,↓
d
1,↓
+
†
d
1,↑
d
1,↑
Out[94]=
†
d
1,↓
d
1,↓
+
†
d
1,↑
d
1,↑
The single-particle part of the two isolated quantum dots is given by
In[95]:=
H0=ϵ*Q[d[{1,2},All]]
Out[95]=
ϵ
†
d
1,↓
d
1,↓
+
†
d
1,↑
d
1,↑
+
†
d
2,↓
d
2,↓
+
†
d
2,↑
d
2,↑
Now, let us turn to the hopping between the two quantum dots. Again one straightforward method is as following:
In[96]:=
Sum[d[1,s]^Dagger**d[2,s],{s,{Up,Down}}]
Out[96]=
†
d
1,↓
d
2,↓
+
†
d
1,↑
d
2,↑
The above has a short-cut as following:
In[97]:=
Hop[d[1,All],d[2,All]]Hop[{d[1,All],d[2,All]}]
Out[97]=
†
d
1,↓
d
2,↓
+
†
d
1,↓
d
2,↑
+
†
d
1,↑
d
2,↓
+
†
d
1,↑
d
2,↑
Out[98]=
†
d
1,↓
d
2,↓
+
†
d
1,↑
d
2,↑
Do not forget to make it Hermitian. (There is one important reason why Hop[...] or FockHopping[...] does not include the hopping terms for both directions.)
So, the hopping part is given by
Then, the overall single-particle part is given by
On-site interactions
Here is the onsite interaction terms.
Many-body eigenstates
Finally, the total Hamiltonian for the DQD is given by
Naturally, the Hamiltonian is block diagonal in this basis.
Therefore, it is efficient to consider each block separately.