Skip to content
16 changes: 11 additions & 5 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ MPSKitAdaptExt = "Adapt"
Accessors = "0.1"
Adapt = "4"
Aqua = "0.8.9"
BlockTensorKit = "0.3.8"
CUDA = "5.9"
BlockTensorKit = "0.3.10"
CUDA = "6"
Combinatorics = "1"
Compat = "3.47, 4.10"
DocStringExtensions = "0.9.3"
Expand All @@ -51,14 +51,14 @@ Plots = "1.40"
Printf = "1"
Random = "1"
RecipesBase = "1.1"
TensorKit = "0.16.3"
TensorKitManifolds = "0.7"
TensorKit = "0.17"
TensorKitManifolds = "0.8"
TensorKitTensors = "0.2"
TensorOperations = "5.5.1"
Test = "1"
TestExtras = "0.3"
VectorInterface = "0.2, 0.3, 0.4, 0.5"
cuTENSOR = "2.3"
cuTENSOR = "6"
julia = "1.10"

[extras]
Expand All @@ -74,5 +74,11 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
TestExtras = "5ed8adda-3752-4e41-b88a-e8b09835ee3a"
cuTENSOR = "011b41b2-24ef-40a8-b3eb-fa098493e9e1"

[sources]
BlockTensorKit = {url = "https://github.com/kshyatt/BlockTensorKit.jl", rev="ksh/braidingtensor"}
TensorKit = {url = "https://github.com/QuantumKitHub/TensorKit.jl", rev="ld-fixes"}
TensorKitManifolds = {url = "https://github.com/QuantumKitHub/TensorKitManifolds.jl", rev="ksh/bump"}
TensorKitTensors = {url = "https://github.com/QuantumKitHub/TensorKitTensors.jl", rev="ksh/compat"}

[targets]
test = ["Aqua", "Adapt", "CUDA", "cuTENSOR", "Pkg", "Test", "TestExtras", "Plots", "Combinatorics", "ParallelTestRunner", "TensorKitTensors"]
8 changes: 4 additions & 4 deletions src/operators/jordanmpotensor.jl
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@ struct JordanMPOTensor{
# constructor from data
function JordanMPOTensor{E, S, TA, TB, TC, TD}(
V::TensorMapSumSpace,
A::SparseBlockTensorMap{TA, E, S, 2, 2},
B::SparseBlockTensorMap{TB, E, S, 2, 1},
C::SparseBlockTensorMap{TC, E, S, 1, 2},
D::SparseBlockTensorMap{TD, E, S, 1, 1}
A::SparseBlockTensorMap{<:Any, <:Any, S, 2, 2},
B::SparseBlockTensorMap{<:Any, <:Any, S, 2, 1},
C::SparseBlockTensorMap{<:Any, <:Any, S, 1, 2},
D::SparseBlockTensorMap{<:Any, <:Any, S, 1, 1}
) where {E, S, TA, TB, TC, TD}
return new{E, S, TA, TB, TC, TD}(V, A, B, C, D)
end
Expand Down
8 changes: 4 additions & 4 deletions src/utility/utility.jl
Original file line number Diff line number Diff line change
Expand Up @@ -251,15 +251,15 @@ function mul_front!(
cp = allocator_checkpoint!(allocator)

Ablocks = blocks(A)
Bstructure = TensorKit.fusionblockstructure(space(B))
Bstructure = TensorKit.subblockstructure(space(B))
for ((f₁, f₂), c) in subblocks(C)
# fetch A block
u = first(f₁.uncoupled)
a = Ablocks[u]
isempty(a) && (scale!(c, β); continue)

# fetch B block
haskey(Bstructure.fusiontreeindices, (f₁, f₂)) || (scale!(c, β); continue)
haskey(Bstructure, (f₁, f₂)) || (scale!(c, β); continue)
b = B[f₁, f₂]

tensorcontract!(
Expand Down Expand Up @@ -299,7 +299,7 @@ function mul_tail!(

cp = allocator_checkpoint!(allocator)

Astructure = TensorKit.fusionblockstructure(space(A))
Astructure = TensorKit.subblockstructure(space(A))
Bblocks = blocks(B)
for ((f₁, f₂), c) in subblocks(C)
# fetch B block
Expand All @@ -308,7 +308,7 @@ function mul_tail!(
isempty(b) && (scale!(c, β); continue)

# fetch A block
haskey(Astructure.fusiontreeindices, (f₁, f₂)) || (scale!(c, β); continue)
haskey(Astructure, (f₁, f₂)) || (scale!(c, β); continue)
a = A[f₁, f₂]

tensorcontract!(
Expand Down
Loading