AbstractDifferentiation
An abstract interface for automatic differentiation.
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 11 committers (9.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.5%) to scientific vocabulary
Keywords from Contributors
Repository
An abstract interface for automatic differentiation.
Basic Info
- Host: GitHub
- Owner: JuliaDiff
- License: mit
- Language: Julia
- Default Branch: master
- Homepage: https://juliadiff.org/AbstractDifferentiation.jl/
- Size: 393 KB
Statistics
- Stars: 140
- Watchers: 12
- Forks: 17
- Open Issues: 46
- Releases: 16
Metadata Files
README.md
AbstractDifferentiation
Motivation
This is a package that implements an abstract interface for differentiation in Julia. This is particularly useful for implementing abstract algorithms requiring derivatives, gradients, jacobians, Hessians or multiple of those without depending on specific automatic differentiation packages' user interfaces.
Julia has more (automatic) differentiation packages than you can count on 2 hands. Different packages have different user interfaces. Therefore, having a backend-agnostic interface to request the function value and its gradient for example is necessary to avoid a combinatorial explosion of code when trying to support every differentiation package in Julia in every algorithm package requiring gradients. For higher order derivatives, the situation is even more dire since you can combine any 2 differentiation backends together to create a new higher-order backend.
Getting started
- If you are an autodiff user and want to write code in a backend-agnostic way, read the user guide in the docs.
- If you are an autodiff developer and want your backend to implement the interface, read the implementer guide in the docs (still in construction).
Citing this package
If you use this package in your work, please cite the package:
bib
@article{schafer2021abstractdifferentiation,
title={AbstractDifferentiation. jl: Backend-Agnostic Differentiable Programming in Julia},
author={Sch{\"a}fer, Frank and Tarek, Mohamed and White, Lyndon and Rackauckas, Chris},
journal={NeurIPS 2021 Differentiable Programming Workshop},
year={2021}
}
Owner
- Name: JuliaDiff
- Login: JuliaDiff
- Kind: organization
- Website: https://www.juliadiff.org/
- Repositories: 24
- Profile: https://github.com/JuliaDiff
Differentiation Tools in Julia
Citation (Citation.bib)
@article{schafer2021abstractdifferentiation,
title={AbstractDifferentiation. jl: Backend-Agnostic Differentiable Programming in Julia},
author={Sch{\"a}fer, Frank and Tarek, Mohamed and White, Lyndon and Rackauckas, Chris},
journal={NeurIPS 2021 Differentiable Programming Workshop},
year={2021}
}
GitHub Events
Total
- Issues event: 1
- Watch event: 3
- Pull request event: 3
- Fork event: 1
- Create event: 2
Last Year
- Issues event: 1
- Watch event: 3
- Pull request event: 3
- Fork event: 1
- Create event: 2
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| David Widmann | d****n | 30 |
| Frank Schaefer | f****r@u****h | 23 |
| Mohamed Tarek | m****8@g****m | 16 |
| Seth Axen | s****n@g****m | 9 |
| Guillaume Dalle | 2****e | 7 |
| github-actions[bot] | 4****] | 2 |
| dependabot[bot] | 4****] | 2 |
| Hendrik Ranocha | m****l@r****e | 1 |
| Gabriel Gerlero | g****o | 1 |
| Christopher Rackauckas | a****s@c****m | 1 |
| Adrian Hill | a****l@m****g | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 69
- Total pull requests: 69
- Average time to close issues: 9 months
- Average time to close pull requests: about 1 month
- Total issue authors: 20
- Total pull request authors: 15
- Average comments per issue: 3.07
- Average comments per pull request: 3.64
- Merged pull requests: 49
- Bot issues: 0
- Bot pull requests: 9
Past Year
- Issues: 1
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 2
Top Authors
Issue Authors
- gdalle (17)
- sethaxen (12)
- mohamed82008 (9)
- oxinabox (4)
- prbzrg (4)
- marius311 (4)
- Qfl3x (2)
- devmotion (2)
- ChrisRackauckas (2)
- adrhill (1)
- alecloudenback (1)
- ToucheSir (1)
- gaurav-arya (1)
- fph (1)
- scheidan (1)
Pull Request Authors
- devmotion (16)
- sethaxen (12)
- mohamed82008 (10)
- dependabot[bot] (8)
- github-actions[bot] (6)
- gdalle (6)
- ranocha (3)
- frankschae (3)
- marius311 (2)
- prbzrg (2)
- gerlero (2)
- timholy (2)
- ChrisRackauckas (1)
- adrhill (1)
- ToucheSir (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 63 total
- Total dependent packages: 15
- Total dependent repositories: 0
- Total versions: 16
juliahub.com: AbstractDifferentiation
An abstract interface for automatic differentiation.
- Homepage: https://juliadiff.org/AbstractDifferentiation.jl/
- Documentation: https://docs.juliahub.com/General/AbstractDifferentiation/stable/
- License: MIT
-
Latest release: 0.6.2
published over 2 years ago
Rankings
Dependencies
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite