Rate of change and gradient

I'm trying to solve the follow problem:

Suppose that we are on the point $P=(1/\sqrt{2},1/2,1/2)$ over $z=\sqrt{1-x^2-y^2},$ $z\geq 0, x^2+y^2<1.$ In which direction we have to move over the surface such as: a) rate of change of z is zero? b) z will be increasing with maximum rate of change? c) z will be decreasing with maximum rate of change?

My attempt is based in computing gradient vector of the function z in $(1/\sqrt{2},1/2)$. Then computing the norm of the gradient. So I have the direction and the maximum rate of change. But I don't know how to find the direction such as rate of change of z will be zero.

Could you give me a hand with this? I'm not sure if my attempt is correct.

Thanks in advance. Any kind of help will be thankful.

This type of problem is generally solved using the directional derivative. It can be found using direct calculation, but a much faster and painless way is through a theorem which states that it's the product of the Jacobi matrix ($Df(\vec x)$) of the function and the vector in which direction the derivative is computed, namely $D_vf(\vec x)=Df(\vec x)\cdot v$, where we have $z=f(x,y)$. For this function, the Jacobi matrix is a functional: $$Df(\vec x)=(\partial_xf,\partial_yf)^\tau=(-\frac{x}{\sqrt{1-x^2-y^2}}, -\frac{y}{\sqrt{1-x^2-y^2}})^\tau, \hspace{7pt}Df(\vec P)=(-\sqrt{2}, -1)^\tau$$
Note that in the case of multivariable scalar functions (i.e. $f:\mathbb{R}^n\to \mathbb{R}$) the gradient is just the transpose of the Jacobi matrix: $\nabla f(\vec x)=(Df(\vec x))^\tau$.
Now we can write a general unit vector $v=(a,b), a^2+b^2=1$. The request that the function doesn't change in the direction of the vector is equivalent to saying that the directional derivative is zero in the given point. Now you got two equations (the product of the Jacobian and the vector+the norm of the vector) with two variables (a,b), which you can solve and get the direction in which the function doesn't change.
As for b and c, you may calculate the vector in which direction the function changes maximally in a similar way (except that there the expression $Df(\vec P)\cdot v$ is a function for which you need to find a maximum/minimum using the second equation to eliminate the second variable), but the easier way is to just note that this function has level sets which are circles with some given radius, so the general vector which gives a maximum change of the function is orthogonal to the zero-change vectors and is pointing towards the center (increase of the function) or away from it (decrease of the function).