Hi,
Here is my Hamiltonian with Majorana operator @@\lambda^1=C+C^\dagger@@ :
auto sites = Spinless(N,{"ConserveNf",false});
// Create the Hamiltonian using AutoMPO
auto ampo = AutoMPO(sites);
for(int i = 1; i <= N; ++i)
{
ampo += -1.0,"C",i;
ampo += -1.0,"Cdag",i;
}
For N=2, the Hamiltonian should be
$$
\begin{pmatrix}
0 & -1 & -1 & 0\\
-1 & 0 & 0 & -1\\
-1 & 0 & 0 & -1\\
0 & -1& -1 & 0\\
\end{pmatrix}
$$
However, the ITensor of H is
ITensor r=4: ("Spinless 1",2,Site|578)' ("Spinless 1",2,Site|578) ("Spinless 2",2,Site|138)' ("Spinless 2",2,Site|138)
{log(scale)=1.04, norm=2.83 (Dense Real)}
(2,1,1,1) -1.000000
(1,2,1,1) 1.0000000
(1,1,2,1) -1.000000
(2,2,2,1) -1.000000
(1,1,1,2) 1.0000000
(2,2,1,2) 1.0000000
(2,1,2,2) -1.000000
(1,2,2,2) 1.0000000
which is
$$
\begin{pmatrix}
0 & 1 & 1 & 0\\
-1 & 0 & 0 & 1\\
-1 & 0 & 0 & 1\\
0 & -1& -1 & 0\\
\end{pmatrix}
$$
is not Hermitian but DMRG reported energy is
Energy after sweep 6/6 is -2.000000000000
Using overlap <G|H|G> = -0.0000000000
The ground state |G> is
ITensor r=2: ("Spinless 1",2,Site|578) ("Spinless 2",2,Site|138)
{log(scale)=-0.00, norm=1.00 (Dense Real)}
(1,1) 1.0000000
which is |00>
In short, the Autompo seems not working on such @@Hamitonian = C_i + C^\dagger_i@@
Moreover, by using A and F operators instead for two sites,
ampo += -1,"A",1;
ampo += -1,"Adag",1;
ampo += -1,"F",1,"A",2;
ampo += -1,"F",1,"Adag",2;
Energy after sweep 6/6 is -1.414213562373
Using overlap = -1.4142135624
ITensor r=4: ("Spinless 1",2,Site|28) ("Spinless 1",2,Site|28)' ("Spinless 2",2,Site|438) ("Spinless 2",2,Site|438)'
{log(scale)=1.04, norm=2.83 (Dense Real)}
(2,1,1,1) -1.000000
(1,2,1,1) -1.000000
(1,1,2,1) -1.000000
(2,2,2,1) 1.0000000
(1,1,1,2) -1.000000
(2,2,1,2) 1.0000000
(2,1,2,2) -1.000000
(1,2,2,2) -1.000000
which is
$$
\begin{pmatrix}
0 & -1 & -1 & 0\\
-1 & 0 & 0 & -1\\
-1 & 0 & 0 & 1\\
0 & -1& 1 & 0\\
\end{pmatrix}
$$
and it's still not correct.
Could you help me out with it?
Thanks.
Best,
Victor