## Higher-dimensional, higher-order derivatives, functionally

The post *Beautiful differentiation* showed some lovely code that makes it easy to compute not just the values of user-written functions, but also *all* of its derivatives (infinitely many).
This elegant technique is limited, however, to functions over a *scalar* (one-dimensional) domain.
Next, we explored what it means to transcend that limitation, asking and answering the question *What is a derivative, really?*
The answer to that question is that derivative values are *linear maps* saying how small input changes result in output changes.
This answer allows us to unify several different notions of derivatives and their corresponding chain rules into a single simple and powerful form.

This third post combines the ideas from the two previous posts, to easily compute infinitely many derivatives of functions over arbitrary-dimensional domains.

The code shown here is part of a new Haskell library, which you can download and play with or peruse on the web.

Continue reading ‘Higher-dimensional, higher-order derivatives, functionally’ »