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
* Add `eager=true` to `eigsolve` for reducing the number of matrix-vector multiplications needed for `AC` and `C`.
* Start improving tensor contraction sequences when computing `AC` and `C` in `InfiniteSum{MPO}`.
* Make sure the phases of `AC` and `C` match when computing the precision error `|AC - AL * C|`.
* Use `splitblocks` when making `MPO`s as an additional optimization.
mpos = [MPO(model, s, n; kwargs...) for n in1:N] #slightly improved version. Note: the current implementation does not really allow for staggered potentials for example
27
+
mpos = [splitblocks(linkinds, MPO(model, s, n; kwargs...)) for n in1:N] #slightly improved version. Note: the current implementation does not really allow for staggered potentials for example
28
28
returnInfiniteSum{MPO}(mpos, translator(s))
29
29
end
30
30
@@ -38,7 +38,7 @@ end
38
38
function ITensors.MPO(model::Model, s::CelledVector, n::Int64; kwargs...)
39
39
n1, n2 =1, 2
40
40
opsum =OpSum(model, n1, n2; kwargs...)
41
-
returnMPO(opsum, [s[x] for x in n:(n +nrange(model) -1)]) #modification to allow for more than two sites per term in the Hamiltonians
41
+
returnsplitblocks(linkinds, MPO(opsum, [s[x] for x in n:(n +nrange(model) -1)])) #modification to allow for more than two sites per term in the Hamiltonians
0 commit comments