You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When you enable auto_fermion, i.e. ITensors.enable_auto_fermion() then exp(A::ITensor) doesn't return the correct result.
Here is a minimal working example just building the identity matrix with exp (but the incorrect result propagates to exponentiating more complicated ITensors) and comparing to the correct result.
Minimal runnable code
using ITensors
ITensors.enable_auto_fermion()
n =4
s =siteinds("Fermion", n; conserve_qns=true)
id_tensor =op("I", s[2])*op("I", s[3])
@show id_tensor
id_tensor_from_exp =exp(0.0* id_tensor)
@showpermute(id_tensor_from_exp, inds(id_tensor))
@show id_tensor == id_tensor_from_exp
Both of these methods should return the same, identity matrix but the one returned from exp is not (which you can check by applying it to a wavefunction) and has signs which are wrong.
When you enable auto_fermion, i.e.
ITensors.enable_auto_fermion()
thenexp(A::ITensor)
doesn't return the correct result.Here is a minimal working example just building the identity matrix with
exp
(but the incorrect result propagates to exponentiating more complicated ITensors) and comparing to the correct result.Minimal runnable code
Both of these methods should return the same, identity matrix but the one returned from
exp
is not (which you can check by applying it to a wavefunction) and has signs which are wrong.Output of minimal runnable code
The text was updated successfully, but these errors were encountered: