Comments (7)
Can you explain the motivation for it? I assumed that typically the main idea is to not construct the Jacobian at all but directly compute Jacobian-vector products. But here you just store the Jacobian?
from abstractdifferentiation.jl.
Oh wait, it's actually a lazy operator that is stored? Then you could just define mul!
, couldn't you?
from abstractdifferentiation.jl.
The motivation was to use this lazy Jacobian as a LinearOperator
(in the sense of LinearOperators.jl) in our package ImplicitDifferentiation.jl. It's easier to define mul!
on a struct, and I needed to know the array order statically in order to write type-stable code
from abstractdifferentiation.jl.
But I eventually gave up because of #83
from abstractdifferentiation.jl.
Isn't this what our lazy_jacobian
function already returns?
from abstractdifferentiation.jl.
Maybe but I needed the additional flattening step and the existence of a mul!
method because of the Krylov solver we were using.
from abstractdifferentiation.jl.
Closing in favor of #114
from abstractdifferentiation.jl.
Related Issues (20)
- Only support tuples and not single inputs/outputs HOT 7
- Use DocStringExtensions.jl
- Fix type instabilities HOT 7
- Add JET tests for linting and type instabilities
- AbstractDifferentiation stable docs 404 HOT 1
- Lazy jacobians could implement more of the LinearAlgebra interface
- New version timeline HOT 11
- Inconsistency in value_and_pushforward_function vs value_and_pullback_function outputs HOT 6
- Regression in type inferrability HOT 5
- Get rid of ugly macro? HOT 6
- `value_and_pullback_function` doesn't do what its docstring says HOT 3
- Configurable ForwardDiff tag
- Maybe AbstractDifferentiation should shrink to a collection of names? HOT 1
- Comparison with DifferentiationInterface.jl HOT 2
- Handling of thunks and tangents HOT 1
- Define a function for v' J v
- Expose tests through public API in src HOT 2
- Add docs for how to implement API as an AD HOT 2
- API Docs for end-users HOT 5
- `pushforward_function` and `pullback_function` are confused by tuples vs single input
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from abstractdifferentiation.jl.