# Automated Differentiation Task

(Redirected from automatic differentiation)

An Automated Differentiation Task is a function differentiation task that is an automated task.

**Context:**- It can be solved by an Automated Differentiation System.

**Counter-Example(s):****See:**Mathematics, Computer Algebra, Derivative, Chain Rule, Symbolic Differentiation, Numerical Differentiation, Round-Off Error, Discretization, Gradient Descent, Theano Library.

## References

### 2015

- (Wikipedia, 2015) ⇒ http://en.wikipedia.org/wiki/Automatic_differentiation Retrieved:2015-1-10.
- In mathematics and computer algebra,
**automatic differentiation**(AD), also called**algorithmic differentiation**or**computational differentiation**,^{[1]}is a set of techniques to numerically evaluate the derivative of a function specified by a computer program. AD exploits the fact that every computer program, no matter how complicated, executes a sequence of elementary arithmetic operations (addition, subtraction, multiplication, division, etc.) and elementary functions (exp, log, sin, cos, etc.). By applying the chain rule repeatedly to these operations, derivatives of arbitrary order can be computed automatically, accurately to working precision, and using at most a small constant factor more arithmetic operations than the original program.Automatic differentiation is not:

- Symbolic differentiation, or
- Numerical differentiation (the method of finite differences).

- These classical methods run into problems: symbolic differentiation leads to inefficient code (unless carefully done) and faces the difficulty of converting a computer program into a single expression, while numerical differentiation can introduce round-off errors in the discretization process and cancellation. Both classical methods have problems with calculating higher derivatives, where the complexity and errors increase. Finally, both classical methods are slow at computing the partial derivatives of a function with respect to
*many*inputs, as is needed for gradient-based optimization algorithms. Automatic differentiation solves all of these problems.

- In mathematics and computer algebra,

### 2016

- (Wikipedia, 2016) ⇒ https://en.wikipedia.org/wiki/automatic_differentiation Retrieved:2016-9-20.
- In mathematics and computer algebra,
**automatic differentiation**(**AD**), also called**algorithmic differentiation**or**computational differentiation**,^{[1]}is a set of techniques to numerically evaluate the derivative of a function specified by a computer program. AD exploits the fact that every computer program, no matter how complicated, executes a sequence of elementary arithmetic operations (addition, subtraction, multiplication, division, etc.) and elementary functions (exp, log, sin, cos, etc.). By applying the chain rule repeatedly to these operations, derivatives of arbitrary order can be computed automatically, accurately to working precision, and using at most a small constant factor more arithmetic operations than the original program.Automatic differentiation is not:

- Symbolic differentiation, nor
- Numerical differentiation (the method of finite differences).

- These classical methods run into problems: symbolic differentiation leads to inefficient code (unless carefully done) and faces the difficulty of converting a computer program into a single expression, while numerical differentiation can introduce round-off errors in the discretization process and cancellation. Both classical methods have problems with calculating higher derivatives, where the complexity and errors increase. Finally, both classical methods are slow at computing the partial derivatives of a function with respect to
*many*inputs, as is needed for gradient-based optimization algorithms. Automatic differentiation solves all of these problems, at the expense of introducing more software dependencies.

- In mathematics and computer algebra,