Skip to content

Commit ce46097

Browse files
find and replace MPOMultiline with MultilineMPO
1 parent 9606248 commit ce46097

File tree

16 files changed

+82
-82
lines changed

16 files changed

+82
-82
lines changed

src/MPSKit.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export braille
3434
export AbstractMPO
3535
export MPO, FiniteMPO, InfiniteMPO
3636
export MPOHamiltonian, FiniteMPOHamiltonian, InfiniteMPOHamiltonian
37-
export SparseMPO, DenseMPO, MPOMultiline
37+
export SparseMPO, DenseMPO, MultilineMPO
3838
export UntimedOperator, TimedOperator, MultipliedOperator, LazySum
3939

4040
export ∂C, ∂AC, ∂AC2, environments, expectation_value, effective_excitation_hamiltonian
@@ -93,7 +93,7 @@ include("states/ortho.jl")
9393
include("operators/abstractmpo.jl")
9494
include("operators/mpo.jl")
9595
include("operators/mpohamiltonian.jl") # the mpohamiltonian objects
96-
include("operators/mpomultiline.jl")
96+
include("operators/multilinempo.jl")
9797
include("operators/projection.jl")
9898
include("operators/timedependence.jl")
9999
include("operators/multipliedoperator.jl")

src/algorithms/approximate/idmrg.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
function approximate(ost::MultilineMPS, toapprox::Tuple{<:MPOMultiline,<:MultilineMPS},
1+
function approximate(ost::MultilineMPS, toapprox::Tuple{<:MultilineMPO,<:MultilineMPS},
22
alg::IDMRG1, oenvs=environments(ost, toapprox))
33
ψ = copy(ost)
44
mpo, above = toapprox
@@ -57,7 +57,7 @@ function approximate(ost::MultilineMPS, toapprox::Tuple{<:MPOMultiline,<:Multili
5757
return nst, nenvs, ϵ
5858
end
5959

60-
function approximate(ost::MultilineMPS, toapprox::Tuple{<:MPOMultiline,<:MultilineMPS},
60+
function approximate(ost::MultilineMPS, toapprox::Tuple{<:MultilineMPO,<:MultilineMPS},
6161
alg::IDMRG2, oenvs=environments(ost, toapprox))
6262
length(ost) < 2 && throw(ArgumentError("unit cell should be >= 2"))
6363
mpo, above = toapprox

src/algorithms/approximate/vomps.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,20 @@ function approximate(ψ::InfiniteMPS,
33
envs=environments(ψ, toapprox))
44
# PeriodicMPO's always act on MultilineMPS's. To avoid code duplication, define everything in terms of MultilineMPS's.
55
multi, envs = approximate(convert(MultilineMPS, ψ),
6-
(convert(MPOMultiline, toapprox[1]),
6+
(convert(MultilineMPO, toapprox[1]),
77
convert(MultilineMPS, toapprox[2])), algorithm, envs)
88
ψ = convert(InfiniteMPS, multi)
99
return ψ, envs
1010
end
1111

12-
Base.@deprecate(approximate(ψ::MultilineMPS, toapprox::Tuple{<:MPOMultiline,<:MultilineMPS},
12+
Base.@deprecate(approximate(ψ::MultilineMPS, toapprox::Tuple{<:MultilineMPO,<:MultilineMPS},
1313
alg::VUMPS, envs...; kwargs...),
1414
approximate(ψ, toapprox,
1515
VOMPS(; alg.tol, alg.maxiter, alg.finalize,
1616
alg.verbosity, alg.alg_gauge, alg.alg_environments),
1717
envs...; kwargs...))
1818

19-
function approximate(ψ::MultilineMPS, toapprox::Tuple{<:MPOMultiline,<:MultilineMPS},
19+
function approximate(ψ::MultilineMPS, toapprox::Tuple{<:MultilineMPO,<:MultilineMPS},
2020
alg::VOMPS, envs=environments(ψ, toapprox))
2121
ϵ::Float64 = calc_galerkin(ψ, envs)
2222
temp_ACs = similar.(ψ.AC)

src/algorithms/changebonds/optimalexpand.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ end
3838

3939
function changebonds(ψ::InfiniteMPS, H::DenseMPO, alg::OptimalExpand,
4040
envs=environments(ψ, H))
41-
(nmψ, envs) = changebonds(convert(MultilineMPS, ψ), convert(MPOMultiline, H), alg, envs)
41+
(nmψ, envs) = changebonds(convert(MultilineMPS, ψ), convert(MultilineMPO, H), alg, envs)
4242
return (convert(InfiniteMPS, nmψ), envs)
4343
end
4444

src/algorithms/changebonds/svdcut.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ end
6868
function changebonds(ψ::InfiniteMPO, alg::SvdCut)
6969
return convert(InfiniteMPO, changebonds(convert(InfiniteMPS, ψ), alg))
7070
end
71-
function changebonds(ψ::MPOMultiline, alg::SvdCut)
72-
return convert(MPOMultiline, changebonds(convert(MultilineMPS, ψ), alg))
71+
function changebonds(ψ::MultilineMPO, alg::SvdCut)
72+
return convert(MultilineMPO, changebonds(convert(MultilineMPS, ψ), alg))
7373
end
7474
function changebonds(ψ::MultilineMPS, alg::SvdCut)
7575
return Multiline(map(x -> changebonds(x, alg), ψ.data))

src/algorithms/derivatives.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,21 @@ Base.:*(h::Union{MPO_∂∂C,MPO_∂∂AC,MPO_∂∂AC2}, v) = h(v);
3434
function ∂∂C(pos::Int, mps, operator::AbstractMPO, cache)
3535
return MPO_∂∂C(leftenv(cache, pos + 1, mps), rightenv(cache, pos, mps))
3636
end
37-
function ∂∂C(col::Int, mps, operator::MPOMultiline, envs)
37+
function ∂∂C(col::Int, mps, operator::MultilineMPO, envs)
3838
return MPO_∂∂C(leftenv(envs, col + 1, mps), rightenv(envs, col, mps))
3939
end
40-
function ∂∂C(row::Int, col::Int, mps, operator::MPOMultiline, envs)
40+
function ∂∂C(row::Int, col::Int, mps, operator::MultilineMPO, envs)
4141
return MPO_∂∂C(leftenv(envs, row, col + 1, mps), rightenv(envs, row, col, mps))
4242
end
4343

4444
function ∂∂AC(pos::Int, mps, operator::AbstractMPO, cache)
4545
return MPO_∂∂AC(operator[pos], leftenv(cache, pos, mps), rightenv(cache, pos, mps))
4646
end
47-
function ∂∂AC(row::Int, col::Int, mps, operator::MPOMultiline, envs)
47+
function ∂∂AC(row::Int, col::Int, mps, operator::MultilineMPO, envs)
4848
return MPO_∂∂AC(operator[row, col], leftenv(envs, row, col, mps),
4949
rightenv(envs, row, col, mps))
5050
end
51-
function ∂∂AC(col::Int, mps, operator::MPOMultiline, envs)
51+
function ∂∂AC(col::Int, mps, operator::MultilineMPO, envs)
5252
return MPO_∂∂AC(envs.operator[:, col], leftenv(envs, col, mps),
5353
rightenv(envs, col, mps))
5454
end;
@@ -57,11 +57,11 @@ function ∂∂AC2(pos::Int, mps, operator::AbstractMPO, cache)
5757
return MPO_∂∂AC2(operator[pos], operator[pos + 1], leftenv(cache, pos, mps),
5858
rightenv(cache, pos + 1, mps))
5959
end;
60-
function ∂∂AC2(col::Int, mps, operator::MPOMultiline, envs)
60+
function ∂∂AC2(col::Int, mps, operator::MultilineMPO, envs)
6161
return MPO_∂∂AC2(operator[:, col], operator[:, col + 1], leftenv(envs, col, mps),
6262
rightenv(envs, col + 1, mps))
6363
end
64-
function ∂∂AC2(row::Int, col::Int, mps, operator::MPOMultiline, envs)
64+
function ∂∂AC2(row::Int, col::Int, mps, operator::MultilineMPO, envs)
6565
return MPO_∂∂AC2(operator[row, col], operator[row, col + 1],
6666
leftenv(envs, row, col, mps), rightenv(envs, row, col + 1, mps))
6767
end

src/algorithms/excitation/quasiparticleexcitation.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ end
167167
# Statmech Excitations #
168168
################################################################################
169169

170-
function excitations(H::MPOMultiline, alg::QuasiparticleAnsatz, ϕ₀::Multiline{<:InfiniteQP},
170+
function excitations(H::MultilineMPO, alg::QuasiparticleAnsatz, ϕ₀::Multiline{<:InfiniteQP},
171171
lenvs, renvs; num=1, solver=Defaults.linearsolver)
172172
qp_envs(ϕ) = environments(ϕ, H, lenvs, renvs; solver)
173173
function H_eff(ϕ′)
@@ -194,13 +194,13 @@ function excitations(H::InfiniteMPO, alg::QuasiparticleAnsatz, ϕ₀::InfiniteQP
194194
return Es, ϕs
195195
end
196196

197-
function excitations(H::MPOMultiline, alg::QuasiparticleAnsatz, ϕ₀::Multiline{<:InfiniteQP},
197+
function excitations(H::MultilineMPO, alg::QuasiparticleAnsatz, ϕ₀::Multiline{<:InfiniteQP},
198198
lenvs; num=1, solver=Defaults.linearsolver)
199199
# Infer `renvs` in function body as it depends on `solver`.
200200
renvs = ϕ₀.trivial ? lenvs : environments(ϕ₀.right_gs, H; solver)
201201
return excitations(H, alg, ϕ₀, lenvs, renvs; num, solver)
202202
end
203-
function excitations(H::MPOMultiline, alg::QuasiparticleAnsatz, ϕ₀::Multiline{<:InfiniteQP};
203+
function excitations(H::MultilineMPO, alg::QuasiparticleAnsatz, ϕ₀::Multiline{<:InfiniteQP};
204204
num=1, solver=Defaults.linearsolver)
205205
# Infer `lenvs` in function body as it depends on `solver`.
206206
lenvs = environments(ϕ₀.left_gs, H; solver)
@@ -214,16 +214,16 @@ function excitations(H::DenseMPO, alg::QuasiparticleAnsatz, momentum::Real,
214214
sector=one(sectortype(lmps)), num=1, solver=Defaults.linearsolver)
215215
multiline_lmps = convert(MultilineMPS, lmps)
216216
if lmps === rmps
217-
excitations(convert(MPOMultiline, H), alg, momentum, multiline_lmps, lenvs,
217+
excitations(convert(MultilineMPO, H), alg, momentum, multiline_lmps, lenvs,
218218
multiline_lmps,
219219
lenvs; sector, num, solver)
220220
else
221-
excitations(convert(MPOMultiline, H), alg, momentum, multiline_lmps, lenvs,
221+
excitations(convert(MultilineMPO, H), alg, momentum, multiline_lmps, lenvs,
222222
convert(MultilineMPS, rmps), renvs; sector, num, solver)
223223
end
224224
end
225225

226-
function excitations(H::MPOMultiline, alg::QuasiparticleAnsatz, momentum::Real,
226+
function excitations(H::MultilineMPO, alg::QuasiparticleAnsatz, momentum::Real,
227227
lmps::MultilineMPS,
228228
lenvs=environments(lmps, H), rmps=lmps,
229229
renvs=lmps === rmps ? lenvs : environments(rmps, H);
@@ -263,7 +263,7 @@ function effective_excitation_hamiltonian(H::Union{InfiniteMPOHamiltonian,
263263
return ϕ′
264264
end
265265

266-
function effective_excitation_hamiltonian(H::MPOMultiline, ϕ::Multiline{<:InfiniteQP},
266+
function effective_excitation_hamiltonian(H::MultilineMPO, ϕ::Multiline{<:InfiniteQP},
267267
envs=environments(ϕ, H))
268268
ϕ′ = Multiline(similar.(ϕ.data))
269269
left_gs = ϕ.left_gs

src/algorithms/expval.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ function expectation_value(ψ::FiniteQP, mpo::FiniteMPO)
118118
return expectation_value(convert(FiniteMPS, ψ), mpo)
119119
end
120120
function expectation_value(ψ::InfiniteMPS, mpo::InfiniteMPO, envs...)
121-
return expectation_value(convert(MultilineMPS, ψ), convert(MPOMultiline, mpo), envs...)
121+
return expectation_value(convert(MultilineMPS, ψ), convert(MultilineMPO, mpo), envs...)
122122
end
123-
function expectation_value(ψ::MultilineMPS, O::MPOMultiline{<:Union{DenseMPO,SparseMPO}},
123+
function expectation_value(ψ::MultilineMPS, O::MultilineMPO{<:Union{DenseMPO,SparseMPO}},
124124
envs::InfiniteMPOEnvironments=environments(ψ, O))
125125
return prod(product(1:size(ψ, 1), 1:size(ψ, 2))) do (i, j)
126126
GL = leftenv(envs, i, j, ψ)
@@ -130,7 +130,7 @@ function expectation_value(ψ::MultilineMPS, O::MPOMultiline{<:Union{DenseMPO,Sp
130130
conj(ψ.AC[i + 1, j][1 4; 8])
131131
end
132132
end
133-
function expectation_value(ψ::MultilineMPS, mpo::MPOMultiline, envs...)
133+
function expectation_value(ψ::MultilineMPS, mpo::MultilineMPO, envs...)
134134
# TODO: fix environments
135135
return prod(x -> expectation_value(x...), zip(parent(ψ), parent(mpo)))
136136
end

src/algorithms/statmech/gradient_grassmann.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
function leading_boundary(state::InfiniteMPS, H::DenseMPO, alg::GradientGrassmann,
22
envs=environments(state, H))
33
(multi, envs, err) = leading_boundary(convert(MultilineMPS, state),
4-
convert(MPOMultiline, H), alg, envs)
4+
convert(MultilineMPO, H), alg, envs)
55
state = convert(InfiniteMPS, multi)
66
return (state, envs, err)
77
end

src/algorithms/statmech/vomps.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Power method algorithm for infinite MPS.
2424
alg_environments = Defaults.alg_environments()
2525
end
2626

27-
function leading_boundary(ψ::MultilineMPS, O::MPOMultiline, alg::VOMPS,
27+
function leading_boundary(ψ::MultilineMPS, O::MultilineMPO, alg::VOMPS,
2828
envs=environments(ψ, O))
2929
ϵ::Float64 = calc_galerkin(ψ, envs)
3030
temp_ACs = similar.(ψ.AC)

0 commit comments

Comments
 (0)