Add support for
cholesky(#322)
Fix
NaNMath.powmethod ambiguity (#292)
Add support for
fma(#289)Fix bugs in Hessian code generation (#290)
Rephrase "Don't overload manually" (#285)
Remove unused custom set types (#287)
Remove superflous overloads on
identityand invalidations caused by them (#280)
Return
Dualonfloat,widen,big(#279)
Fix type conversions of primal value in
Dual(#271)
Add ChainRulesCore extension, support
ignore_derivatives(#267)Fix
deton matrix ofDuals (#268)Minor updates to documentation (0ce0650, #266)
Avoid invalidations on
>,>=by falling back to<,<=(#261) (#259)Test invalidations in CI (#264)
Run CI tests on Julia 1.12, update JET (#246)
Fix invalidations on
ismissingandisnothing(#259)
This release is only breaking for users who touched unexported internals.
Refactor internal types (#254)
Select internal data structures for sparsity pattern representations via the
TracerSparsityDetectorandTracerLocalSparsityDetectorkeyword argumentsgradient_pattern_typeandhessian_pattern_type. Refer to the new doc page on "Performance" for more information. (#254, #256)Move DataInterpolations.jl extension out of SCT (#255)
Document limitations on stateful code (#249)
Stop tracing through multiplication by zero (#243)
Update code style and formatter to Runic.jl
DataInterpolations
v8compatiblity (#234)
Performance optimization in pattern creation (#239)
Add more matrix division methods (#236)
Add stable API for tracer type via
jacobian_eltypeandhessian_eltype(#233)
Add stable API for allocation of buffers via
jacobian_bufferandhessian_buffer(#232)
Return
Dualonzeroand friends (#231)
Fix for method ambiguities resulting from the 3-argument
dotmethods introduced inv0.6.11(#228)
SCT has a new preprint! 🎉 Check it out on the arXiv: Sparser, Better, Faster, Stronger: Efficient Automatic Differentiation for Sparse Jacobians and Hessians (#225)
Add overloads for 3-argument
dot(#226)
Fix
jacobian_sparsityoutput initialization for inplace functions (#223)
Relax type annotations in Jacobian output parsing (#217)
Simplify DataInterpolations.jl extension (#210)
Fix detector display by replacing
printlnwithprint(#201)Improve code generation for 2-to-1 overloads on arbitrary types (#197, #202)
Update package tests and CI workflow (#198, #199)
Shorter printing of default detectors (#190)
Consistently refer to
TracerSparsityDetectorasdetector(#191)Make imports explicit, test with ExplicitImports.jl (#188)
Add DataInterpolations.jl package extension (#178)
Add LogExpFunctions.jl package extension (#184)
Add NaNMath.jl package extension ([#187])
Support two-argument
atanandlog(#185)Document limitations of operator overloading utils (#180)
Reexport ADTypes interface (#182)
Update developer documentation URLs (#186)
Reorganize code and update code generation utilities (#179, #183)
Return only primal value when applying non-differentiable methods to
Dualnumbers (#169)Increase sparsity for Diagonal inputs (#165)
Add more methods on
round,rand(#162)This release brings large updates to the documentation:
Refactor type conversions (#173, #168, #166)
Make comparisons regular operators (#169)
Fix Hessian on NNlib activation functions
celu,elu,selu,hardswish(#162)Fix
isless(#161)
Improve the performance of Hessian pattern tracing by an order of magnitude:
Support ComponentArrays (#146)
Support boolean not (
!) (#150)Support
isless(#149)
Remove
ConnectivityTracer(#140)Remove legacy interface (#140)
- instead of
jacobian_pattern(f, x), usejacobian_sparsity(f, x, TracerSparsityDetector()) - instead of
hessian_pattern(f, x), usehessian_sparsity(f, x, TracerSparsityDetector()) - instead of
local_jacobian_pattern(f, x), usejacobian_sparsity(f, x, TracerLocalSparsityDetector()) - instead of
local_hessian_pattern(f, x), usehessian_sparsity(f, x, TracerLocalSparsityDetector())
- instead of
Remove overloads on
similarto reduce amount of invalidations (#132)Fix sparse array construction (#142)
Add array overloads (#131)
Generalize sparsity pattern representations (#139, #119)
Reduce allocations of new tracers (#128)
Reduce compile times (#119)