Skip to content

Commit 64320ba

Browse files
committed
alter JordanMPOTensor Adapt implementation
1 parent 0eafa86 commit 64320ba

1 file changed

Lines changed: 3 additions & 20 deletions

File tree

ext/MPSKitAdaptExt.jl

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,26 +32,9 @@ end
3232

3333
Adapt.adapt_structure(to, mpo::MPO) = MPO(map(adapt(to), mpo.O))
3434

35-
function Adapt.adapt_structure(::Type{TorA}, W::MPSKit.JordanMPOTensor) where {TorA <: Union{Number, DenseVector{<:Number}}}
36-
TT = MPSKit.jordanmpotensortype(spacetype(W), TorA)
37-
W′ = TT(undef, space(W))
38-
ad = adapt(TorA)
39-
40-
for (k, v) in nonzero_pairs(W.A)
41-
W′.A[k] = ad(v)
42-
end
43-
for (k, v) in nonzero_pairs(W.B)
44-
W′.B[k] = ad(v)
45-
end
46-
for (k, v) in nonzero_pairs(W.C)
47-
W′.C[k] = ad(v)
48-
end
49-
for (k, v) in nonzero_pairs(W.D)
50-
W′.D[k] = ad(v)
51-
end
52-
53-
return W′
54-
end
35+
Adapt.adapt_structure(to, W::MPSKit.JordanMPOTensor) =
36+
MPSKit.JordanMPOTensor(space(W), adapt(to, W.A), adapt(to, W.B), adapt(to, W.C), adapt(to, W.D))
37+
5538
Adapt.adapt_structure(to, mpo::MPOHamiltonian) = MPOHamiltonian(map(adapt(to), mpo.W))
5639

5740
end

0 commit comments

Comments
 (0)