Closed
Description
This table recaps the features of each extension, with respect to high-level operators.
Each cell can have four values
- ❌: the backend does not support this operator
- ❔: the backend supports this operator but our extension doesn't call it yet / doesn't handle preparation
- ✅: our extension calls the backend operator and handles preparation if possible
backend | derivative | gradient | jacobian | hvp | hessian |
---|---|---|---|---|---|
ChainRulesCore | ❌ | ❌ | ❌ | ❌ | ❌ |
Diffractor | ❌ | ❌ | ❌ | ❌ | ❌ |
Enzyme (forward) | ❌ | ✅ | ✅ | ❌ | ❌ |
Enzyme (reverse) | ❌ | ✅ | ❔ | ❌ | ❌ |
FastDifferentiation | ✅ | ✅ | ✅ | ✅ | ✅ |
FiniteDiff | ✅ | ✅ | ✅ | ❌ | ✅ |
FiniteDifferences | ❌ | ✅ | ✅ | ❌ | ❌ |
ForwardDiff | ✅ | ✅ | ✅ | ❌ | ✅ |
PolyesterForwardDiff | ❌ | ✅ | ✅ | ❌ | ❌ |
ReverseDiff | ✅ | ✅ | ✅ | ❌ | ✅ |
SparseDiffTools | ❌ | ❌ | ✅ | ❌ | ❔ |
Symbolics | ✅ | ✅ | ✅ | ❌ | ✅ |
Tapir | ❌ | ❔ | ❌ | ❌ | ❌ |
Tracker | ❌ | ✅ | ❌ | ❌ | ❌ |
Zygote | ❌ | ✅ | ❌ | ❌ | ✅ |