I am trying to define a derivative that acts on a custom function, $f$, such that when it acts, it increments one of the arguments of by 1. f is not defined; I just want to use it to keep track of derivatives. I know I could define a separate operator to do this, but this function, $f$, will be multiplied by other functions that need differentiating, so I thought it easier to define how derivatives act on f. My attempt thus far:
Derivative[1, 0, 0, 0][f[a,b,c,d]][x1, x2, x3, x4] = f[a,b,c,d]
However, when I go to evaluate this derivative, I get
Input: D[f[a,b,c,d][x1, x2, x3, x4], x1]
Output: f[a,b,c,d]^{1,0,0,0}[x1, x2, x3, x4]
whereas, I would hope to get something like:
Input: D[f[a,b,c,d][x1, x2, x3, x4], x1]
Output: f[a+1,b,c,d][x1, x2, x3, x4]
The derivative definition only works specifically for the exact syntax in the definition, and not with any other arguments apart from a,b,c,d:
Input: D[f[a,b,c,d][x1, x2, x3, x4], x1]
Output: f[a+1,b,c,d]
Any suggestions on how to obtain the second listed output?
Derivative[1, 0, 0, 0][f] = CKB[#1 + 1, #2, #3, #4] &
, and report back. $\endgroup$Slot
the wrong way. Also, I don't see why you expect the output to be in terms off
if you define the right-hand side to beCKB
in the first line. $\endgroup$