From d55540a7c836e96f9f5e46cabe0b5e49d789587c Mon Sep 17 00:00:00 2001 From: willtebbutt Date: Mon, 17 Aug 2020 14:21:28 +0100 Subject: [PATCH] Restrict types in logdet (#245) * Restrict types in logdet * Bump patch Co-authored-by: wt --- Project.toml | 2 +- src/rulesets/LinearAlgebra/dense.jl | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index 22b54d344..2f70bb7ac 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "ChainRules" uuid = "082447d4-558c-5d27-93f4-14fc19e9eca2" -version = "0.7.12" +version = "0.7.13" [deps] ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" diff --git a/src/rulesets/LinearAlgebra/dense.jl b/src/rulesets/LinearAlgebra/dense.jl index b2778640f..9800363c1 100644 --- a/src/rulesets/LinearAlgebra/dense.jl +++ b/src/rulesets/LinearAlgebra/dense.jl @@ -78,12 +78,12 @@ end ##### `logdet` ##### -function frule((_, Δx), ::typeof(logdet), x::Union{Number, AbstractMatrix}) +function frule((_, Δx), ::typeof(logdet), x::Union{Number, StridedMatrix{<:Number}}) Ω = logdet(x) return Ω, tr(x \ Δx) end -function rrule(::typeof(logdet), x::Union{Number, AbstractMatrix}) +function rrule(::typeof(logdet), x::Union{Number, StridedMatrix{<:Number}}) Ω = logdet(x) function logdet_pullback(ΔΩ) ∂x = x isa Number ? ΔΩ / x' : ΔΩ * inv(x)'