# Z Function Surface log syntax

What do you type into Z Math Surface to get the function of log (x).

I tried 'log x' and 'log(x)' with no success.

• Commented Jul 12, 2021 at 8:36

The problem is that the surface is evaluated over positive and negative values, and log is undefined for negative values. If you look in the console, you'll see that when you use log in your equation (for instance: log(x)+log(y), you'll get the following error:

If you square the values of x and y, though, there will be no negative values and the equation works:

• Thank you so very much! Commented Jul 12, 2021 at 10:33

Shift the domain.

As explained the domain of log(x) is for x > 0 Related using XYZ surface and setting a default when undefined

$$\log(x)$$ is asymptotic towards x = 0. ie

$$\lim_{x \to 0} \log(x) = -\infty$$

If the equation z = 0 is used the domain of x and y used by the operator is [-1, 1], (default size 2, 2) hence can shift to x, y > 0 domain by replacing

x with x + 1.00001
y with  y + 1.00001


or taking operator size property into account, x has the domain [-x_size / 2, x_size / 2]

So to plot log(x) * log(y) on size 10 * 20, on the positive x, y quadrant use

log(x + 5.00001) * log(y + 10.00001)


May wish to move the resulting mesh, in EDIT mode by selecting all and shifting 5.00001 in x and 10.00001 in y, such that the mesh origin (0, 0, 0) is x, y origin