From cd7011d1f42d4cff0048630e2b4fea1d9a47060d Mon Sep 17 00:00:00 2001 From: CompatHelper Julia Date: Thu, 2 Oct 2025 01:53:52 +0000 Subject: [PATCH 1/5] CompatHelper: bump compat for MatrixAlgebraKit to 0.5, (keep existing compat) --- Project.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index 338cbc8..4cb0e0c 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "BlockSparseArrays" uuid = "2c9a651f-6452-4ace-a6ac-809f4280fbb4" authors = ["ITensor developers and contributors"] -version = "0.10.6" +version = "0.10.7" [deps] Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" @@ -41,7 +41,7 @@ GPUArraysCore = "0.1, 0.2" LinearAlgebra = "1.10" MacroTools = "0.5.13" MapBroadcast = "0.1.5" -MatrixAlgebraKit = "0.2.2, 0.3, 0.4" +MatrixAlgebraKit = "0.2.2, 0.3, 0.4, 0.5" SparseArraysBase = "0.7.1" SplitApplyCombine = "1.2.3" TensorAlgebra = "0.3, 0.4" From 5982740f9887400d7be6772ee0c29e4d698bb3c3 Mon Sep 17 00:00:00 2001 From: mtfishman Date: Thu, 2 Oct 2025 16:18:33 -0400 Subject: [PATCH 2/5] New truncate interface --- Project.toml | 2 +- src/factorizations/orthnull.jl | 6 +++--- src/factorizations/truncation.jl | 14 +++++++------- test/Project.toml | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Project.toml b/Project.toml index 4cb0e0c..f4b99e6 100644 --- a/Project.toml +++ b/Project.toml @@ -41,7 +41,7 @@ GPUArraysCore = "0.1, 0.2" LinearAlgebra = "1.10" MacroTools = "0.5.13" MapBroadcast = "0.1.5" -MatrixAlgebraKit = "0.2.2, 0.3, 0.4, 0.5" +MatrixAlgebraKit = "0.5" SparseArraysBase = "0.7.1" SplitApplyCombine = "1.2.3" TensorAlgebra = "0.3, 0.4" diff --git a/src/factorizations/orthnull.jl b/src/factorizations/orthnull.jl index dc8b1d8..14c7393 100644 --- a/src/factorizations/orthnull.jl +++ b/src/factorizations/orthnull.jl @@ -147,7 +147,7 @@ function MatrixAlgebraKit.left_null_svd!( ) return left_null_svd!(A, N, alg, null_truncation_strategy(; atol=0, rtol=0)) end -function MatrixAlgebraKit.truncate!( +function MatrixAlgebraKit.truncate( ::typeof(left_null!), (U, S)::Tuple{AbstractBlockSparseMatrix,AbstractBlockSparseMatrix}, strategy::TruncationStrategy, @@ -166,9 +166,9 @@ function MatrixAlgebraKit.check_input( return nothing end function MatrixAlgebraKit.right_null_lq!(A::AbstractBlockSparseMatrix, N, alg) - return error("Not implement.") + return error("Not implemented.") end -function MatrixAlgebraKit.truncate!( +function MatrixAlgebraKit.truncate( ::typeof(right_null!), (S, Vᴴ)::Tuple{AbstractBlockSparseMatrix,AbstractBlockSparseMatrix}, strategy::TruncationStrategy, diff --git a/src/factorizations/truncation.jl b/src/factorizations/truncation.jl index eb04195..ec84f12 100644 --- a/src/factorizations/truncation.jl +++ b/src/factorizations/truncation.jl @@ -7,7 +7,7 @@ using MatrixAlgebraKit: eigh_trunc!, findtruncated, svd_trunc!, - truncate! + truncate """ BlockDiagonalTruncationStrategy(strategy::TruncationStrategy) @@ -41,12 +41,12 @@ end for f in [:eig_trunc!, :eigh_trunc!] @eval begin - function MatrixAlgebraKit.truncate!( + function MatrixAlgebraKit.truncate( ::typeof($f), (D, V)::NTuple{2,AbstractBlockSparseMatrix}, strategy::TruncationStrategy, ) - return truncate!($f, (D, V), BlockDiagonalTruncationStrategy(strategy)) + return truncate($f, (D, V), BlockDiagonalTruncationStrategy(strategy)) end end end @@ -74,23 +74,23 @@ function to_truncated_indices(values::AbstractBlockVector, I::AbstractVector{Boo return blocks end -function MatrixAlgebraKit.truncate!( +function MatrixAlgebraKit.truncate( ::typeof(svd_trunc!), (U, S, Vᴴ)::NTuple{3,AbstractBlockSparseMatrix}, strategy::BlockDiagonalTruncationStrategy, ) I = findtruncated(diag(S), strategy) - return (U[:, I], S[I, I], Vᴴ[I, :]) + return (U[:, I], S[I, I], Vᴴ[I, :]), I end for f in [:eig_trunc!, :eigh_trunc!] @eval begin - function MatrixAlgebraKit.truncate!( + function MatrixAlgebraKit.truncate( ::typeof($f), (D, V)::NTuple{2,AbstractBlockSparseMatrix}, strategy::BlockDiagonalTruncationStrategy, ) I = findtruncated(diag(D), strategy) - return (D[I, I], V[:, I]) + return (D[I, I], V[:, I]), I end end end diff --git a/test/Project.toml b/test/Project.toml index 410ea2b..ba11df9 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -31,7 +31,7 @@ DiagonalArrays = "0.3" GPUArraysCore = "0.2" JLArrays = "0.2" LinearAlgebra = "1" -MatrixAlgebraKit = "0.4" +MatrixAlgebraKit = "0.5" Random = "1" SafeTestsets = "0.1" SparseArraysBase = "0.7" From 75cd51686be90a9d1e12fd751dcf5cc233832147 Mon Sep 17 00:00:00 2001 From: Matt Fishman Date: Thu, 2 Oct 2025 16:26:07 -0400 Subject: [PATCH 3/5] Apply suggestion from @mtfishman --- src/factorizations/orthnull.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/factorizations/orthnull.jl b/src/factorizations/orthnull.jl index bac6218..453d573 100644 --- a/src/factorizations/orthnull.jl +++ b/src/factorizations/orthnull.jl @@ -149,7 +149,7 @@ function MatrixAlgebraKit.left_null_svd!( end function MatrixAlgebraKit.truncate( ::typeof(left_null!), - (U, S)::Tuple{AbstractBlockSparseMatrix,AbstractBlockSparseMatrix}, + (U, S)::Tuple{AbstractBlockSparseMatrix, AbstractBlockSparseMatrix}, strategy::TruncationStrategy, ) return error("Not implemented.") From 66fa1e4f7cf57902e5a7d69a992c34a2f8a13ee5 Mon Sep 17 00:00:00 2001 From: mtfishman Date: Thu, 2 Oct 2025 16:32:23 -0400 Subject: [PATCH 4/5] Fix overload --- src/factorizations/orthnull.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/factorizations/orthnull.jl b/src/factorizations/orthnull.jl index 453d573..f1adf27 100644 --- a/src/factorizations/orthnull.jl +++ b/src/factorizations/orthnull.jl @@ -168,7 +168,7 @@ end function MatrixAlgebraKit.right_null_lq!(A::AbstractBlockSparseMatrix, N, alg) return error("Not implement.") end -function MatrixAlgebraKit.truncate!( +function MatrixAlgebraKit.truncate( ::typeof(right_null!), (S, Vᴴ)::Tuple{AbstractBlockSparseMatrix, AbstractBlockSparseMatrix}, strategy::TruncationStrategy, From 0970f889ff636cfa223e40762d8b410f9e7ef8d5 Mon Sep 17 00:00:00 2001 From: mtfishman Date: Thu, 2 Oct 2025 16:33:57 -0400 Subject: [PATCH 5/5] Bump version --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index f4b99e6..acc4379 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "BlockSparseArrays" uuid = "2c9a651f-6452-4ace-a6ac-809f4280fbb4" authors = ["ITensor developers and contributors"] -version = "0.10.7" +version = "0.10.8" [deps] Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"