Applying the square root of operator on polynomial functions

I am trying to apply an "operation" on polynomial functions: apply the operator $(\frac{\partial f}{\partial x}-y\frac{\partial f}{\partial z})^2+(\frac{\partial f}{\partial y}+x\frac{\partial f}{\partial z})^2$ to functions and then take the square root of it. But after certain rounds of operations, because of the square root, the denominators became really complicated and the computer basically chocked. Is there any good way that I could solve the problem or I just have to switch to different programming software like Matlab ?

A small example:

xleft := Function[{f}, D[f, x] - y*D[f, z]/2];

yleft := Function[{f}, D[f, y] + x*D[f, z]/2];

lapl := Function[{f}, xleft[xleft[f]] + yleft[yleft[f]]]

laplsquaroot := Function[{f}, Sqrt[lapl[f]]]


When I used the Nest function here, Nest[laplsquaroot, x^9 + y^6 + z^12, n], when n became larger than 5 the computer got chocked...

Any suggestion ??

• The LeafCount of your test function increases with every step by a factor of about 140. For n=4 it is already 8,308,058. What else then a huge slowdown in the next steps were you expecting? Jan 26, 2015 at 21:22
• Do you have any suggestions ? I was thinking I could Fourier transform or ... Jan 26, 2015 at 21:23
• How exactly would MATlab help in this case? Jan 26, 2015 at 21:24
• One more result: For n=5, LeafCount is 1,603,393,231 Jan 26, 2015 at 21:30
• Using Simplify at every step reduces LeafCount considerably (so it is possible to reach higher values of n than without it). But it is slow as well. Jan 26, 2015 at 21:42