The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
The original version of this software was written in R by Andrew Clausen (clausen at econ.upenn.edu) in 2007.
Mark Reid (mark.reid at anu.edu.au) sent a patch, applied 21/2/2009.
In 2014, Andrew has passed the maintenance to Serguei Sokol (sokol at insa-toulouse.fr). Since then, the software was deeply rewritten and completed.
Main new features include: - new derivative engine allowing simple
syntaxe for differentiation rules; - many new functions are added to the
rule table; - custom differentiation rules can be added by user; -
automatic differentiation (AD) of a code with multiple assignement
operators; - when taking derivative of a function Deriv() returns a
function too. The later can be called with the same arguments as the
original function; - can differentiate by variables stored in vectors or
lists, e.g. param$theta
or x[1]
,
x[2]
etc. - simplifications are extended to rational
expressions and factorizations; - expression caching is enabled by
default; - Deriv() is made the only entry point for all types of
entries: * expression * language * function * right hand side of a
formula * character string * plain unevaluated code - few unit tests
were added to the package
> devtools::install_github("sgsokol/Deriv")
In R session do:
> library(Deriv)
> f <- function(x, n=2) x^n+sin(n*x) # user defined function to diffierentiate
> (df <- Deriv(f)) # -> c(x = n * x^(n - 1) + n * cos(n * x), n = log(x) * x^n + x * cos(n * x))
> df(2, 3) # -> x n
# -> 14.880511 7.465518
> Deriv(expression(f(y, 3)), "y") # -> expression(3 * y^2 + 3 * cos(3 * y))
> Deriv(~ f(y, 3), "y") # -> 3 * y^2 + 3 * cos(3 * y)
> y <- 2; eval(Deriv(~ f(y, 3), "y")) # -> 14.88051
For more information and examples:
> ?Deriv
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.