TITLE: Computing Directional Derivatives #

EXERCISES

Problem 1:

Use the definition of directional derivative to compute the directional derivative of the function, > with(linalg):f := (x,y) -> x/y: 'f(x,y)' = f(x,y); f(x, y) = x/y # at the point, > r := vector([6,-2]): # in the direction of the vector, > v := vector([-1,3])/sqrt(10): #

Solution 1

Let's call Dvf the directional derivative. From the definition we have, > Dvf := Limit('(f(r+h*v)-f(r))/h',h=0); f(r + h v) - f(r) Dvf := Limit ----------------- h -> 0 h # where in our case, > p := evalm(r+h*v): Dvf := Limit((f(p[1],p[2])-f(r[1],r[2]))/h,h=0); 1/2 6 - 1/10 h 10 ----------------- + 3 1/2 -2 + 3/10 h 10 Dvf := lim --------------------- h -> 0 h # which simplifies to, > Dvf := Limit(simplify((f(p[1],p[2])-f(r[1],r[2]))/h),h=0); 1/2 10 Dvf := lim 8 --------------- h -> 0 1/2 -20 + 3 h 10 # and the directional derivative is then, > Dvf := limit((f(p[1],p[2])-f(r[1],r[2]))/h,h=0); 1/2 Dvf := - 2/5 10 # Ofcourse the formula with the grad gives the same answer, > formula := innerprod(grad(f(x,y),[x,y]), v); 1/2 10 (y + 3 x) formula := - 1/10 --------------- 2 y > answer := subs({x=6,y=-2},formula); 1/2 answer := - 2/5 10 >