# Deriv-package: Symbolic Differentiation In Deriv: Symbolic Differentiation

## Description

R already contains two differentiation functions: D and deriv.

R's existing functions have several limitations:

• the derivatives table can't be modified at runtime, and is only available in C.

• function cannot substitute function calls. eg:

`f <- function(x, y) x + y; deriv(~f(x, x^2), "x")`

The advantages of this package include:

• It is entirely written in R, so would be easier to maintain.

• Can differentiate function calls:

• if the function is in the derivative table, then the chain rule is applied.

• if the function is not in the derivative table (or it is anonymous), then the function body is substituted in.

• these two methods can be mixed. An entry in the derivative table need not be self-contained – you don't need to provide an infinite chain of derivatives.

• It's easy to add custom entries to the derivatives table, e.g.

`drule[["cos"]] <- alist(x=-sin(x))`

• The output can be an executable function, which makes it suitable for use in optimization problems.

## Details

 Package: Deriv Type: Package Version: 3.8.5 Date: 2018-06-11 License: GPL (>= 3)

Two main functions are Deriv() for differentiating and Simplify() for simplifying symbolically.

## Author(s)

Andrew Clausen, Serguei Sokol

Maintainer: Serguei Sokol (sokol at insa-toulouse.fr)

## References

`D`, `deriv`, packages Ryacas, rSymPy

## Examples

 ```1 2 3 4``` ```## Not run: f <- function(x) x^2 ## Not run: Deriv(f) # function (x) # 2 * x ```

### Example output

```
```

Deriv documentation built on June 12, 2018, 1:03 a.m.