Using Maple to check partial derivatives \302\251 Mike May, S.J., 2006 - maymk@slu.edu Edited by Russell Blyth - blythrd@slu.edu We can use Maple to compute derivatives for us, thus letting us check our hand computations. To show how to do this we first define a function. f := (x,y) -> x^2+3*x*y+5*x^3+2*sin(exp((y+1)/y^2)); Zio2JEkieEc2IkkieUdGJUYlNiRJKW9wZXJhdG9yR0YlSSZhcnJvd0dGJUYlLCoqJDkkIiIjIiIiKiZGLEYuOSVGLiIiJCokRixGMSIiJi1JJHNpbkdGJTYjLUkkZXhwR0YlNiMqJiwmRjBGLkYuRi5GLkYwISIjRi1GJUYlRiU= We can then find a partial derivative with the diff command. fx := diff(f(x,y),x); LCgqJiIiIyIiIkkieEc2IkYlRiUqJiIiJEYlSSJ5R0YnRiVGJSomIiM6RiUpRiZGJEYlRiU= We can take second derivatives by either taking the partial of the partial, or by using diff with two x's. fxx := diff(f(x,y),x,x); fxxA := diff(fx,x); LCYiIiMiIiIqJiIjSUYkSSJ4RzYiRiRGJA== LCYiIiMiIiIqJiIjSUYkSSJ4RzYiRiRGJA== Third partials work much the same way fxxx := diff(f(x,y),x,x,x); fxxxA := diff(fxx,x); fxxAx := diff(fxxA,x); IiNJ IiNJ IiNJ With our function we can also take the partial derivative with respect to y. fy := diff(f(x,y),y); LCYqJiIiJCIiIkkieEc2IkYlRiUqKiIiI0YlLUkkY29zRzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliR0YnNiMtSSRleHBHRiw2IyomLCZJInlHRidGJUYlRiVGJSlGNUYpISIiRiUsJiokRjZGN0YlKihGKUYlRjRGJSlGNUYkRjdGN0YlRjBGJUYl This is messy enough that we would like to see a worked solution rather than just the answer. For that we load the Student[Calculus1] package and use the DiffTutor command. with(Student[Calculus1]); N1hJM0FudGlkZXJpdmF0aXZlUGxvdEc2Ikk0QW50aWRlcml2YXRpdmVUdXRvckdGJEkvQXBwcm94aW1hdGVJbnRHRiRJNEFwcHJveGltYXRlSW50VHV0b3JHRiRJKkFyY0xlbmd0aEdGJEkvQXJjTGVuZ3RoVHV0b3JHRiRJK0FzeW1wdG90ZXNHRiRJJkNsZWFyR0YkSS9Dcml0aWNhbFBvaW50c0dGJEkzQ3VydmVBbmFseXNpc1R1dG9yR0YkSS9EZXJpdmF0aXZlUGxvdEdGJEkwRGVyaXZhdGl2ZVR1dG9yR0YkSSpEaWZmVHV0b3JHRiRJLkV4dHJlbWVQb2ludHNHRiRJMEZ1bmN0aW9uQXZlcmFnZUdGJEk1RnVuY3Rpb25BdmVyYWdlVHV0b3JHRiRJLkZ1bmN0aW9uQ2hhcnRHRiRJLUZ1bmN0aW9uUGxvdEdGJEkrR2V0TWVzc2FnZUdGJEkvR2V0TnVtUHJvYmxlbXNHRiRJK0dldFByb2JsZW1HRiRJJUhpbnRHRiRJMUluZmxlY3Rpb25Qb2ludHNHRiRJKUludFR1dG9yR0YkSSpJbnRlZ3JhbmRHRiRJLEludmVyc2VQbG90R0YkSS1JbnZlcnNlVHV0b3JHRiRJK0xpbWl0VHV0b3JHRiRJMU1lYW5WYWx1ZVRoZW9yZW1HRiRJNk1lYW5WYWx1ZVRoZW9yZW1UdXRvckdGJEkvTmV3dG9uUXVvdGllbnRHRiRJLk5ld3RvbnNNZXRob2RHRiRJM05ld3RvbnNNZXRob2RUdXRvckdGJEkzUG9pbnRJbnRlcnBvbGF0aW9uR0YkSStSaWVtYW5uU3VtR0YkSS5Sb2xsZXNUaGVvcmVtR0YkSSZSb290c0dGJEklUnVsZUdGJEklU2hvd0dGJEkvU2hvd0luY29tcGxldGVHRiRJKlNob3dTdGVwc0dGJEkoU3VtbWFuZEdGJEk0U3VyZmFjZU9mUmV2b2x1dGlvbkdGJEk5U3VyZmFjZU9mUmV2b2x1dGlvblR1dG9yR0YkSShUYW5nZW50R0YkSTNUYW5nZW50U2VjYW50VHV0b3JHRiRJLVRhbmdlbnRUdXRvckdGJEk0VGF5bG9yQXBwcm94aW1hdGlvbkdGJEk5VGF5bG9yQXBwcm94aW1hdGlvblR1dG9yR0YkSStVbmRlcnN0YW5kR0YkSSVVbmRvR0YkSTNWb2x1bWVPZlJldm9sdXRpb25HRiRJOFZvbHVtZU9mUmV2b2x1dGlvblR1dG9yR0YkSSxXaGF0UHJvYmxlbUdGJA== TutorAnswer := DiffTutor(f(x,y),y); Ly1JJURpZmZHNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHNiI2JCwqKiRJInhHRigiIiMiIiIqJkYsRi5JInlHRihGLiIiJCokRixGMSIiJi1JJHNpbkdGJTYjLUkkZXhwR0YlNiMqJiwmRjBGLkYuRi5GLkYwISIjRi1GMCwmRixGMSoqLUkkY29zR0YlRjZGLkY3Ri4sJiokRjBGLUYuKiZGO0YuRjBGLkY8Ri5GMCEiJUYt TutorAnswer; Ly1JJURpZmZHNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHNiI2JCwqKiRJInhHRigiIiMiIiIqJkYsRi5JInlHRihGLiIiJCokRixGMSIiJi1JJHNpbkdGJTYjLUkkZXhwR0YlNiMqJiwmRjBGLkYuRi5GLkYwISIjRi1GMCwmRixGMSoqLUkkY29zR0YlRjZGLkY3Ri4sJiokRjBGLUYuKiZGO0YuRjBGLkY8Ri5GMCEiJUYt To work with the right hand side of TutorAnswer we use the rhs command. Fy := rhs(TutorAnswer); LCZJInhHNiIiIiQqKi1JJGNvc0c2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkdGJDYjLUkkZXhwR0YpNiMqJiwmSSJ5R0YkIiIiRjNGM0YzRjIhIiNGM0YtRjMsJiokRjIiIiNGMyomRjFGM0YyRjNGNEYzRjIhIiVGNw== This lets us find mixed partials. Fyx := diff(Fy,x); fyx := diff(f(x,y),y,x); IiIk IiIk LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0Yn