Skip to content

Commit 5d5741c

Browse files
sparsevec test
1 parent 3d98d9d commit 5d5741c

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/rulesets/SparseArrays/sparsematrix.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ function rrule(::typeof(findnz), v::AbstractSparseVector)
4444
function findnz_pullback(Δ)
4545
_, V̄ = unthunk(Δ)
4646
isa AbstractZero && return (NoTangent(), V̄)
47-
return NoTangent(), sparse(I, V̄, n)
47+
return NoTangent(), sparsevec(I, V̄, n)
4848
end
4949

5050
return (I, V), findnz_pullback

test/rulesets/SparseArrays/sparsematrix.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,11 @@ end
2525
I, J, V = findnz(A)
2626
= rand!(similar(V))
2727
test_rrule(findnz, A dA, output_tangent=(zeros(length(I)), zeros(length(J)), V̄))
28+
29+
v = sprand(5, 0.5)
30+
dv = similar(v)
31+
rand!(dv.nzval)
32+
I, V = findnz(v)
33+
= rand!(similar(V))
34+
test_rrule(findnz, v dv, output_tangent=(zeros(length(I)), V̄))
2835
end

0 commit comments

Comments
 (0)