SPFF said:
Now if the function F(r) looks something like GMr/r^3 and I want to linearize with respect to direction and magnitude, would a taylor expansion wrt just the vector r be enough, or would I have to do the taylor expansion with respect to two variable, r and r.
Im leaning towards the latter.
Yes, so am I, but I would prefer to think of it as only doing a Taylor expansion of the function ##\mathbf{r} \mapsto \tfrac{\mathbf{r}}{r^3}## w.r.t. ##\mathbf{r}## where I would take into account that ##r## itself is a function of ##\mathbf{r}## as well. So, to make it (overly, admittedly) explicit, assuming you are in three-dimensional space, you are expanding the function
$$
\begin{bmatrix}
x\\
y\\
z
\end{bmatrix}
\mapsto
(x^2 + y^2 + z^2)^{-\frac{3}{2}}
\begin{bmatrix}
x\\
y\\
z
\end{bmatrix}
$$
which depends on three variables and has three components. (You can of course just Taylor each component separately.) Once you have found the linear approximation, you may then restrict yourself to certain subclasses of perturbations, such as those for which the length or the direction stay constant.
Of course, instead of writing everything out in components, you can also write directly (calling the above function ##F##),
$$
F({\mathbf{r}) = F(\mathbf{r}_0}) +DF(\mathbf{r}_0)\cdot(\mathbf{r} - \mathbf{r}_0) + \text{h.o.t.}
$$
where the second term on the right is a matrix-vector product. The ##i##th row of the ##3 \times 3## derivative matrix ##DF(\mathbf{r}_0)## is just the gradient of the ##i##th component of ##F## evaluated at ##\mathbf{r} = \mathbf{r}_0##. (It is sometimes called the "vector gradient", but I'm not sure whether I find that terminology helpful.) This way you get a vector-valued expansion that looks just like that of a scalar-valued function of one variable.