Higher order product rule and chain rule

Given two functions f and g, the product rule tells you how to take the first derivative of their product, and the chain rule tells you how to take the first derivative of their composition. What if you want to take higher order derivatives? You could repeatedly apply basic calculus rules, but there are formulas for taking the higher order derivatives all at once.

The generalization of the product rule is known as Leibniz rule. It’s fairly simple and looks a lot like the binomial theorem.

{d^n \over dx^n} \left( f(x) g(x) \right) = \sum_{k=0}^n {n \choose k} f^{(k)}(x) g^{(n-k)}(x)

The generalization of the chain rule is known as Faà di Bruno’s theorem. It’s more complicated, and it uses exponential Bell polynomials, something I’ve blogged about a few time lately.

{d^n \over dx^n} f(g(x)) = \sum_{k=1}^n f^{(k)}(g(x)) B_{n,k} \left(g^{(1)}(x),g^{(2)}(x), \dots, g^{(n-k+1)}(x)\right)

More Bell polynomial posts:

7 thoughts on “Higher order product rule and chain rule

  1. Why not to have given the explicit form of the Faà di Bruno Formula, without the Bell polynomials, too?

  2. Because I’ve been interested in Bell polynomials lately, more than Faà di Bruno’s theorem per se.

  3. On a related note, do you have any experience with “automated differentiation”? I found this article by chance one day,
    but I found it rather confusing. It seems something like this might be quite useful though. You could input arrays of relatively simple functions and their derivatives, and specify a complicated composition of those functions using some sort of structure, and have the computer calculate derivatives of the composition at specified points.

Comments are closed.