Skip to content

Commit 43a104c

Browse files
split MPOHamiltonian creation from local operator into Finite and Infinite case
1 parent 4a95edf commit 43a104c

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

src/operators/mpohamiltonian.jl

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -595,15 +595,18 @@ function InfiniteMPOHamiltonian(lattice::AbstractArray{<:VectorSpace},
595595
return InfiniteMPOHamiltonian(lattice, local_operators...)
596596
end
597597

598-
for MPOHamType in (:FiniteMPOHamiltonian, :InfiniteMPOHamiltonian)
599-
@eval begin
600-
function $MPOHamType(local_operator::TensorMap{E,S,N,N}) where {E,S,N}
601-
lattice_space = space(local_operator, 1)
602-
n_sites = length(domain(local_operator))
603-
lattice = fill(lattice_space, n_sites)
604-
return $MPOHamType(lattice, (tuple(collect(1:n_sites)...) => local_operator))
605-
end
606-
end
598+
function FiniteMPOHamiltonian(local_operator::TensorMap{E,S,N}) where {E,S,N}
599+
lattice_space = space(local_operator, 1)
600+
n_sites = length(domain(local_operator))
601+
lattice = fill(lattice_space, n_sites)
602+
return FiniteMPOHamiltonian(lattice, (tuple(collect(1:n_sites)...) => local_operator))
603+
end
604+
605+
function InfiniteMPOHamiltonian(local_operator::TensorMap{E,S,N,N}) where {E,S,N}
606+
lattice_space = space(local_operator, 1)
607+
n_sites = length(domain(local_operator))
608+
lattice = PeriodicArray([lattice_space])
609+
return InfiniteMPOHamiltonian(lattice, (tuple(collect(1:n_sites)...) => local_operator))
607610
end
608611

609612
Base.parent(H::AbstractMPOHamiltonian) = H.data

0 commit comments

Comments
 (0)