Re: "Transparency" with respect to differentiation

*To*: mathgroup at smc.vnet.net*Subject*: [mg74088] Re: "Transparency" with respect to differentiation*From*: Martin Schoenecker <ms_usenet at gmx.de>*Date*: Fri, 9 Mar 2007 02:03:47 -0500 (EST)*Organization*: Technische Universitaet Darmstadt*References*: <es909c$2c5$1@smc.vnet.net> <eslrt9$ptl$1@smc.vnet.net> <esolc1$efq$1@smc.vnet.net>

> Does something like the following meet your needs? > > In[1]:= > quat[(a_) + (b_)] := quat[a] + quat[b]; > quat /: D[quat[fun_], var__] := quat[D[fun, var]]; > Unprotect[D]; > D[quat[(a_) + (b_)], var__] := D[quat[a], var] + D[quat[b], var]; > Protect[D]; > > In[6]:= > quat[f[x] + g[x] + h[x]] > Out[6]= > quat[f[x]] + quat[g[x]] + quat[h[x]] Thank you! Yes, that works perfectly. I'm just wondering if it was more proper style to achieve that without changing the definition of built-in commands, i.e. without having to Unprotect[D]. In the meanwhile, I will use your approach. Best Regards, Martin