• To: mathgroup at christensen.cybernetics.net
• Subject: [mg810] Defining your own Derivative
• From: P.Jemmer at sussex.ac.uk (Patrick Jemmer)
• Date: Fri, 21 Apr 1995 01:49:36 -0400
• Organization: University of Sussex

```I have a problem where I need to do something like the following, and
define a slightly new "derivative" operator:

(* define variables *)
x1:=mRi/R^(4/3)
y1:=x1^2-Rii/R^(5/3)

(* define derivatives of derivatives *)
(* this bit works ok *)

Unprotect[D]

D[mRi,ri]:=Rij*Rj/mRi

D[R,ri]:=Ri
D[Ri,ri]:=Rii
D[Rj,ri]:=Rij
D[Rii,ri]:=Rjji
D[Rij,ri]:=Riij
D[Riij,ri]:=Riiji
D[Rjji,ri]:=Rjjii

(* define derivatives of variables *)
(* However there are problems _here_ *)

D[x,ri]:=D[x1,ri]
D[y,ri]:=D[y1,ri]

-----

For example if I try to look at D[x,ri] I get the answer 0, rather

How do I  make MMA apply the cahin rule (or whatever) to these new
definitions of "D". Do I explicitly have to redefine, for example:

D[a_/b_,ri]:=(1/b)*D[a,ri]-(a/b^2)*D[b,ri]  ?

The problem is that I initially defined a whole new function "df"
and wrote out all these properties so that it worked, and I was
looking for something a little more elegant.