Automatic Differentiation using Pseudo Lenses. Neat.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
src/Numeric/ADLens
test
.gitignore
ChangeLog.md
LICENSE
README.md
Setup.hs
package.yaml
stack.yaml

README.md

ad-lens

This blog post tries to explain a bit about what is going on here http://www.philipzucker.com/reverse-mode-auto-differentiation-kind-like-lens/

Check out the test directory for some usage examples

A lens is a getter and setter pair a -> (b, (b->a)). This is also the signature of reverse mode automatic differentiation. The function (b->a) is the transposed Jacobian (using a function representation of Matrices. Matrices are a certain kind of Vector -> Vector functions).

We use the standard Lens trick to make these functions composable via (.).

TODO: Higher order derivatives ReExport safe pieces of standard Lens library Try Accelerate GPU lib More Combinators Recursion Schemes

ad-lens