Items tagged with differentiation



I'm trying to write and simplify expressions involving partial derivatives of an arbitrary function, say f(x,y).

Specifically, I would like diff(f(t,y),t) to evaluate to D[1](f)(t,y), instead of 

And eval(diff(f(x,y),x),x=t) gives the same result. 

Interestingly, diff(f(2*t,y),t) does evaluate to 2*D[1](f)(2*t,y), as expected.

I could get some results by using a custom differentiation function

`diff/f` := proc(x,y,v) 
    if v = x then return D[1](f)(v,y):
    elif v = y then return D[2](f)(x,v):
    else return 0: # is there a fallback I can use without risking infinite recursion?
end proc:

and it works for the simple case, but now diff(f(2*t,y),t) does not work.

All this makes me feel that there must be a way to get what I want by default, but I can't figure it out.

Is there? Thank you in advance!

I am somewhat surprised to find that


say, returns 1. Does that really make mathematical sense with diff(f(x),x) here being the argument of a function?

PS: I bumped into this issue because I was trying to write down some structured type, or some other matching criterium, that will return true for some scalarly quantity consisting of any number of functions and their derivatives if and only if all arguments to all functions have differential order zero. This criterium would exclude the above function, for instance.

Update: Just for the sake of completeness, or as a service to any visitor to this thread, the above was readily resolved as being due to a blunder of mine, see a comment of mine below. The thread, though, developed into a quite interesting one concerning issues with conserved currents, and related, in the case of Grassmann-odd quantities, issues that are at the time of writing still unresolved.

I am getting the following error while calculating function containing diffrential. Thankz in advance

KK := proc (x) options operator, arrow; diff(diff(x^2, x)) end proc;

proc (x) options operator, arrow; diff(diff(x^2, x)) end proc



Error, (in KK) invalid input: diff received 2, which is not valid for its 2nd argument




Download FUNCTION_(1).mw

Any way to type in dy/dx differentiation without having to use the graphic pallete?

I can do a couple of ways ..



but dy/dx direct typing eludes maple, I thought there was a way at one time

Is there a maple routine or sequence of routines to minimize an energy functional (scalar energy with a function as an argument)?

I'd like to avoid applying calculus of variations/integration by parts by hand.

For example, I'm looking for something like:

E := int(diff(f(x),x)^2,x=0..1);
bc := f(0) = 0, f(1) = 1;

whose result would be:

       f(x) = x

Is there a way to use dsolve to do this?

My task is Second Order Implicit Differentiation (if my english is correct)

My paper's photoI tried to accomplish it usig maple:

ScreenShoot of my maplebut my  mixed partials  are different but they should be equal if i used the correct expression in mapple.. Why is that or simply how do I lolve my problem using mapple?

Help pleease!!

Please help me to differentiate function "u" wrt t in following manner:





DepVars := [F(xi), G(xi)]

[F(xi), G(xi)]


alias(F = F(xi), G = G(eta))

F, G


declare(F, G(xi))

F(xi)*`will now be displayed as`*F


G(xi)*`will now be displayed as`*G


u := a[0]+(F*a[1]+G*a[2]+kappa[1])/(mu[0]+mu[1]*(diff(F, xi))+mu[2]*(diff(G, eta)))+(F^2*a[3]+F*G*a[4]+G^2*a[5]+kappa[2])/(mu[0]+mu[1]*(diff(F, xi))+mu[2]*(diff(G, eta)))^2

a[0]+(a[1]*F+a[2]*G+kappa[1])/(mu[0]+mu[1]*(diff(F, xi))+mu[2]*(diff(G, eta)))+(a[3]*F^2+a[4]*F*G+a[5]*G^2+kappa[2])/(mu[0]+mu[1]*(diff(F, xi))+mu[2]*(diff(G, eta)))^2


xi := -t*c[1]*k[1]+x*k[1]; 1; eta := -t*c[2]*k[2]+x*k[2]





diff(u, t)

Error, invalid input: diff received -t*c[1]*k[1]+x*k[1], which is not valid for its 2nd argument




Download [1063]


how to do differentiation of an ideal in maple?

availables variables : a,b,c

case 1 : all are independent variebles, a,b,c

case 2 : only one independent variable, a

case 3: only one dependent variable a


i find this, but i do not know respect to which variable when differentiate an ideal which has 3 variables and 3 equations

I'd like to differentiate  3*(r/sqrt(a))+ (r/sqrt(a))^2  w.r.t  r/sqrt(a) and obtain

    3 + 2* (r/sqrt(a))

in otherwords, treat (r/sqrt(a)) as a single variable. This is what I tried:

v:=r/sqrt(a);    #the single expression to differentiate w.r.t

The problem is that when doing x^2 and x is r/sqrt(a), then it become r^2/a and it does not remain (r/sqrt(a))^2, so now the algsubs does not "see" it. I get as final answer

ofcourse, one can now try to simplify the above to the required form, maybe using assumptions or by dividing by sqrt(a) the numerator and denominator of the first term above to get  3+2*(r/sqrt(a)) but this is all requires extra work and can be hard depending on the result.

is there a better way to do the above so it works in general? The problem is in the function p, I need a way to tell Maple now to simplify it somehow. In Mathematica, I can do this like this:

Clear[p, x, r, a]
p[x_] := x^2 + 3*x;
v = r/Sqrt[a];
With[{v = x}, Inactive[D][p[v], v]];
% /. x -> v



Hey, I need to answer this question, not sure where to start..Any help/tips would be much appreciated....


Bob wants to explore the effect of changes in a, b and c on the function h, where h(x, y) = ∂ 2 /∂x∂y (ay sin(bx + c)). How should Bob do this so that if he redefines the variables a, b, or c later in the Maple session, subsequently computed function values h(x) use the new values of a, b, c?

I need to replace the "MISSING" in MultiDiff := proc(f,n,x) ---MISSING--- end proc; so that MultiDiff(f,n,x) evaluates as f (n) (x) if f is a suitably differentiable function, n is a positive integer, and x is an undefined variable..F(n) being an nth derivitave..Not sure where to start..Any help appreciated


I wrote a custom recursive procedure to calculate some value (it is an implementation of a recursive algorithm)
During the further calculations derivatives of this procedure occur. Because of the statements in the specific procedure the automatic diff of a procedure does not work (at least I think that is the reason). However this is no problem as the differentiation is far from simple. L'hopitals rule needs to be used when necessary and Maple cannot detect when it needs to be used automatically (because there is another function, implicitly defined involved).
Therefore I am looking to write my own diff procedure as an extension. From the manual I gathered that this can be done as such `diff/name_of_type' =... however my procedure is not a type and I cannot easily write a 'type/name_of_type' function to define it as such. Can someone help me out?


I've made a toy example:

I know that in the case of this toy example other ways are possible.
What I need is a way to write my own procedure to evaluate the differential (D[1](A))(1,2,3);

Possibly defining procedure A as a type and writing 'diff/A'=proc...



I am getting the following expression when I partially differentiate an expression:

PDE11 := diff(theta(z, p), z, z, p)+2*lambda(p)*theta(z, p)*(diff(lambda(p), p))+lambda(p)^2*(diff(theta(z, p), p))+lambda(p)^2*(sin(theta(z, p))-theta(z, p))+2*p*lambda(p)*(sin(theta(z, p))-theta(z, p))*(diff(lambda(p), p))+p*lambda(p)^2*(cos(theta(z, p))*(diff(theta(z, p), p))-(diff(theta(z, p), p)))

I differentiate the above equation to get each term in the form of :table([f=......])

(table([f = 1+sum(Lambda[n](0)/factorial(n), n = 1 .. infinity)]))(p)^2

It is difficult to understand the expression. Maple does not show any error. Can you please tell me what the error is?

how to make below can be successfully run?

normaldiff := proc(f1)
return limit((subs(x=x+h,f1)-f1)/h, h=0):
end if:
recurdiff := proc(f2)
if f2 = 0 then
return 0:
end if:
if f2 <> 0 then
return limit((subs(x=x+h,normaldiff(f2)+recurdiff(f2))-(normaldiff(f2)+recurdiff(f2)))/h, h=0):
end if:

f := x;

expect return 1, is like normal diff


1 2 3 Page 1 of 3