Closed migrosser closed 1 year ago
Patch coverage: 73.52
% and project coverage change: -0.86
:warning:
Comparison is base (
320283a
) 97.43% compared to head (f761fec
) 96.57%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
This PR implements chainrules for the product of a linear operator with vectors and is a fix for issue #278 .
To avoid adding additional dependencies, the chainrules are implemented in the extension
LinearOperatorsChainRulesCoreExt
. Thus, they will only be loaded if the moduleChainRulesCore
is loaded. This cooresponds to the approach taken byAbstractFFTs.jl
.So far, this PR contains chainrules for the functions
*(op::AbstractLinearOperator{T}, v::AbstractVector{S})
and*(v::Union{Transpose{S, V}, Adjoint{S, V}}, op::AbstractLinearOperator{T})
. There might exist further functions for which a chainrule might be useful, but to me these two appeared to contain most use-cases for the combination Zygote.jl / LinearOperators.jl