From 151e987faa59cac103be2061b866c50462ca4f4e Mon Sep 17 00:00:00 2001 From: Miha Zgubic Date: Mon, 25 Jul 2022 11:46:37 +0200 Subject: [PATCH 1/3] fix densification bug --- src/chainrules.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chainrules.jl b/src/chainrules.jl index 0071255..7b383e8 100644 --- a/src/chainrules.jl +++ b/src/chainrules.jl @@ -25,7 +25,7 @@ function ChainRulesCore.rrule(::Type{<:BlockDiagonal}, blocks::Vector{V}) where end # densification -function _densification_pullback(Ȳ::Matrix, T, nrows, ncols) +function _densification_pullback(Ȳ::AbstractMatrix, T, nrows, ncols) row_idxs = cumsum(nrows) .- nrows .+ 1 col_idxs = cumsum(ncols) .- ncols .+ 1 From c6d233d82f9790741be4d2781275c4af70613d10 Mon Sep 17 00:00:00 2001 From: Miha Zgubic Date: Mon, 25 Jul 2022 11:50:22 +0200 Subject: [PATCH 2/3] test --- test/chainrules.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/chainrules.jl b/test/chainrules.jl index 4c55052..8ae953c 100644 --- a/test/chainrules.jl +++ b/test/chainrules.jl @@ -14,8 +14,9 @@ end @testset "Matrix" begin - D = BlockDiagonal([randn(1, 2), randn(2, 2)]) + D = BlockDiagonal([randn(2, 2), randn(2, 2)]) test_rrule(Matrix, D) + test_rrule(Matrix, D, output_tangent=UpperTriangular(rand(4, 4))) end @testset "BlockDiagonal * Vector" begin From e7f8c200c22b62a86e79b35205fc061df14d02cd Mon Sep 17 00:00:00 2001 From: Miha Zgubic Date: Mon, 25 Jul 2022 11:50:52 +0200 Subject: [PATCH 3/3] 0.1.35 --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index b252141..9ecf5e4 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "BlockDiagonals" uuid = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0" authors = ["Invenia Technical Computing Corporation"] -version = "0.1.34" +version = "0.1.35" [deps] ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"