What is the difference between the gradient and the gradient vector? Here is the where my confusion starts.... When they are speaking of curves, they are using the terms "gradient" and "slope" for slope.
But when it comes to surfaces, it was stated that the gradient will give the normal vector to a surface...
In the first case it was related to something about the slope of the tangent, and in the second case it was related to something about normal vector. I am getting confused.
Is it possible for some one to clear on this topic..
 A: Suppose we have a function $f : \mathbb{R}^n \to \mathbb{R}$. We now introduce function $g : \mathbb{R}^{n+1} \to \mathbb{R}$, defined by
$$g (x,z) = f (x) - z$$
Differentiating, we get a vector field $\nabla g : \mathbb{R}^{n+1} \to \mathbb{R}^{n+1}$
$$\nabla g (x,z) = \begin{bmatrix} \nabla_x f (x)\\-1\end{bmatrix}$$
If we pick a point on the surface $\{ (x,z) \in \mathbb{R}^{n+1} \mid g (x,z) = 0\}$, say, $(\bar{x},f(\bar{x}))$, and we evaluate the vector field $\nabla g$, at that point, we obtain a vector that is normal to the surface at that point. However, the gradient vector $\nabla_x f$ still gives us information about the "slope" of $f$ at that point.
In short, the gradient vector that tells us about the slope is $\nabla_x f$ and the gradient vector that tells us about the normal is $\nabla g$. The latter has one more dimension than the former.

For example, choose $n=1$. Suppose that we have $f (x) = x^2$. We have a curve $z = x^2$ in $\mathbb{R}^2$. The gradient vector normal to the curve is
$$\nabla g (x,x^2) = \begin{bmatrix} f' (x)\\-1\end{bmatrix} = \begin{bmatrix} 2 x\\-1\end{bmatrix}$$
To verify that this vector is normal to the curve, take the inner product of $\nabla g (x,x^2)$ and an infinitesimal tangent vector
$$\begin{bmatrix} f' (x)\\-1\end{bmatrix}^T \begin{bmatrix} \mathrm{d}x\\ f' (x) \,\mathrm{d}x\end{bmatrix} = f'(x) \, \mathrm{d}x - f' (x) \,\mathrm{d}x = 0$$
A: How you interpret the gradient depends on how you represent the surface.
For example, for a surface written in the form $z=f(x,y)$, the gradient is more like the slope interpretation. More specifically, if you take the dot product of the gradient at a point $(x,y)$ and a small displacement vector $\Delta r $ then you will approximately get the change in $z$ when you move in that direction. Note that when interpreting the gradient this way, all of the vectors are in $\mathbb{R}^2$ and the gradient itself is normal to the level curves of $f(x,y)$.
For a surface written in the form $f(x,y,z)=0$ you get a 3 dimensional gradient which is normal to the surface. It really is the same thing scaled up a dimension, since $f(x,y,z)=0$ is a level surface of the function $f(x,y,z)$.
