-
Notifications
You must be signed in to change notification settings - Fork 170
Fermion sign when QNs not conserved #311
Copy link
Copy link
Closed
Description
Here is an issue brought up in the support forum (http://www.itensor.org/support/1858/itensor-results-fermions-without-particle-number-conservation). When QNs are not conserved, it looks like the Fermion sign is not being put in correctly by AutoMPO:
auto N = 2;
auto sites = Fermion(N,{"ConserveQNs",false});
auto ampo = AutoMPO(sites);
for(int b = 1; b <= N-1; ++b)
{
ampo += -1,"Cdag",b,"C",b+1;
ampo += -1,"Cdag",b+1,"C",b;
}
auto H = toMPO(ampo);
PrintData(H(1)*H(2));returns:
H(1)*H(2) =
ITensor ord=4: (2|id=730|n=1,Site,Fermion)' (2|id=730|n=1,Site,Fermion) (2|id=487|n=2,Site,Fermion) (2|id=487|n=2,Site,Fermion)'
{norm=1.41 (Dense Real)}
(2,1,2,1) -1.000000
(1,2,1,2) 1.0000000
The correct Hamiltonian is returned in ITensor v2, as well as in ITensor v3 when QNs are conserved.
@emstoudenmire, any chance you know what might be going wrong here?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels