slimgroup / JUDI.jl

Julia Devito inversion.
https://slimgroup.github.io/JUDI.jl
MIT License
97 stars 31 forks source link

ChainRules #115

Closed mloubout closed 2 years ago

mloubout commented 2 years ago

Add rrules. Because internal JUDI vectors are now proper abstract vector, return_array isn't mandatory anymore as norm/dot/... is automatically differentiable as the norm of an array.

Added the examples from JUDI4Flux and gradient tests

codecov[bot] commented 2 years ago

Codecov Report

Merging #115 (6660f4e) into master (892476c) will increase coverage by 0.73%. The diff coverage is 86.84%.

@@            Coverage Diff             @@
##           master     #115      +/-   ##
==========================================
+ Coverage   81.55%   82.28%   +0.73%     
==========================================
  Files          23       24       +1     
  Lines        1816     1857      +41     
==========================================
+ Hits         1481     1528      +47     
+ Misses        335      329       -6     
Impacted Files Coverage Δ
src/JUDI.jl 83.33% <ø> (ø)
src/TimeModeling/LinearOperators/operators.jl 83.03% <62.50%> (-0.30%) :arrow_down:
src/TimeModeling/Types/ModelStructure.jl 85.24% <66.66%> (ø)
src/TimeModeling/Utils/auxiliaryFunctions.jl 79.55% <73.33%> (+1.88%) :arrow_up:
src/TimeModeling/LinearOperators/lazy.jl 85.89% <92.30%> (+3.28%) :arrow_up:
src/TimeModeling/Types/abstract.jl 77.96% <93.33%> (+0.28%) :arrow_up:
src/TimeModeling/TimeModeling.jl 100.00% <100.00%> (ø)
src/rrules.jl 100.00% <100.00%> (ø)
src/TimeModeling/Types/GeometryStructure.jl 91.95% <0.00%> (+0.57%) :arrow_up:
... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 892476c...6660f4e. Read the comment docs.