diff --git a/Project.toml b/Project.toml index 51e51efdf..c3efb7177 100644 --- a/Project.toml +++ b/Project.toml @@ -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" @@ -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] @@ -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"] diff --git a/src/operators/jordanmpotensor.jl b/src/operators/jordanmpotensor.jl index 04c4ee1cb..8131f90fb 100644 --- a/src/operators/jordanmpotensor.jl +++ b/src/operators/jordanmpotensor.jl @@ -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 diff --git a/src/utility/utility.jl b/src/utility/utility.jl index 973f37889..670439523 100644 --- a/src/utility/utility.jl +++ b/src/utility/utility.jl @@ -251,7 +251,7 @@ 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) @@ -259,7 +259,7 @@ function mul_front!( 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!( @@ -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 @@ -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!(