Differentiation of mvp
objects
deriv.Rd
Differentiation of mvp
objects
Arguments
- expr
Object of class
mvp
- v
Character vector. Elements denote variables to differentiate with respect to
- ...
Further arguments. In
deriv()
, a non-negative integer argument specifies the order of the differential, and inaderiv()
the argument names specify the differentials and their values their respective orders
Details
deriv(S,v)
returns \(\frac{\partial^r S}{\partial
v_1\partial v_2\ldots\partial v_r}\). Here, v
is a (character) vector of symbols.
deriv(S,v,n)
returns the n-th derivative of S
with
respect to symbol v
, \(\frac{\partial^n S}{\partial
v^n}\).
aderiv()
uses the ellipsis construction with the names of the
argument being the variable to be differentiated with respect to.
Thus aderiv(S,x=1,y=2)
returns \(\frac{\partial^3
S}{\partial x\partial y^2}\).
Examples
(p <- rmvp(10,4,15,5))
#> mvp object algebraically equal to
#> 6 + 10 a b^5 c e^3 + 7 a^2 b^2 d^2 e + 3 a^2 b^4 c^3 d^5 + 5 a^2 c d^3 e^2 + 2
#> b c^2 e^3 + 2 b^2 c^2 d + 9 b^5 c^6 d^2 e^2 + 7 c^5 d^5 e^4 + 3 d^2 e
deriv(p,"a")
#> mvp object algebraically equal to
#> 14 a b^2 d^2 e + 6 a b^4 c^3 d^5 + 10 a c d^3 e^2 + 10 b^5 c e^3
deriv(p,"a",3)
#> mvp object algebraically equal to
#> 0
deriv(p,letters[1:3])
#> mvp object algebraically equal to
#> 72 a b^3 c^2 d^5 + 50 b^4 e^3
deriv(p,rev(letters[1:3])) # should be the same
#> mvp object algebraically equal to
#> 72 a b^3 c^2 d^5 + 50 b^4 e^3
aderiv(p,a=1,b=2,c=1)
#> mvp object algebraically equal to
#> 216 a b^2 c^2 d^5 + 200 b^3 e^3
## verify the chain rule:
x <- rmvp(7,symbols=6)
v <- allvars(x)[1]
s <- as.mvp("1 + y - y^2 zz + y^3 z^2")
LHS <- subsmvp(deriv(x,v)*deriv(s,"y"),v,s) # dx/ds*ds/dy
RHS <- deriv(subsmvp(x,v,s),"y") # dx/dy
LHS - RHS # should be zero
#> mvp object algebraically equal to
#> 0