[Edited for clarification after comment]

Suppose that the function f is defined as the linear combination of several translated/reflected functions starting from the primitive f0[x,y,z]

f[x_, y_, z_] := f0[x,y,z-z1]+f0[x,y,z-z3]+f0[x,y,z-3z2+z1]

wherein z1,z2,z3,... are real positive numbers. The actual composition of f is not known, but it follows the above pattern.

I would like then to construct the function g obtained from f by considering the negative value of the third argument. The required output in this example would be

g[x_, y_, z_] := f0[x,y,-(z-z1)]+f0[x,y,-(z-z3)]+f0[x,y,-(z-3z2+z1)]

I cannot simply do

g[x_, y_, z_] := f[x, y, -z]

since this would yield

f0[x, y, -z - z1] + f0[x, y, -z + z1 - 3 z2] + f0[x, y, -z - z3]

How would is that possible to find and isolate in general the third argument of f0 so that the proper substitution can be applied? Or what would be the cleanest way of define the functions f and g?

Thank you all very much for sharing your knowledge and advice.

  • 1
    $\begingroup$ Could do something like f[x,y,-z]/.z1->-z1 but a prior question: why is f defined in terms of a "global" variable z1? In other words, why is it not f[x_,y_,z_,z1_]:=...? $\endgroup$ May 31, 2019 at 18:43
  • $\begingroup$ Thank you very much for your comment. This is a simplified minimal example taken out of context. I have a combination of translated / reflected functions in which I could find f0[x,y,z-z1] or something else like f0[x,y,z-3z2+z1], f0[x,y,z-z3], wherein z1,z2,z3 are real positive numbers. I do not know in advance what would be my third argument of f0 and so I was looking for a more general way to do the substitution and cannot do it directly. $\endgroup$ May 31, 2019 at 18:52
  • 1
    $\begingroup$ You will need to give a clear description of the actual problem, by editing the original post. $\endgroup$ May 31, 2019 at 18:57

1 Answer 1


A simple solution is as follows. If your f stores a combination of the f0's and if the g is intended to be f with negated third argument in all contained f0, then consider doing:

f[x_, y_, z_] := f0[x,y,z-z1]+f0[x,y,z-z3]+f0[x,y,z-3z2+z1]
g[x_, y_, z_] := f[x,y,z]/.f0[a_,b_,c_]->f0[a,b,-c]

then for example

f[q, w, r]

f0[q, w, r - z1] + f0[q, w, r + z1 - 3 z2] + f0[q, w, r - z3]


g[q, w, r]

f0[q, w, -r + z1] + f0[q, w, -r - z1 + 3 z2] + f0[q, w, -r + z3]

  • $\begingroup$ Thank you very much - it was indeed what I was looking for - it is much appreciated :) $\endgroup$ Jun 1, 2019 at 8:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.