Finding the derivative of a vector w.r.t. another

45 Views Asked by At

Let $\boldsymbol{x}$ be a vector in $\mathbb{R}^n$, and $$x = ||\boldsymbol{x}|| = (\boldsymbol{x}^T\boldsymbol{x})^{\frac{1}{2}}$$ $$\boldsymbol{s} = \frac{x^2}{x(1+x^2)}\boldsymbol{x}$$

How can I derive the derivative of $\boldsymbol{s}$ w.r.t. $\boldsymbol{x}$, i.e. $\frac{\partial\boldsymbol{s}}{\partial\boldsymbol{x}}$?

I checked several websites and it follows that $\frac{\partial||\boldsymbol{x}||}{\partial\boldsymbol{x}} = \frac{\boldsymbol{x}^T}{||\boldsymbol{x}||}$, and it follows that $\frac{\partial||\boldsymbol{x}||^2}{\partial\boldsymbol{x}} = 2\boldsymbol{x}^T$. My attempt at this derivative yields a scalar instead of a matrix.

$$\frac{\partial\boldsymbol{s}}{\partial\boldsymbol{x}} = \frac{x^2}{x(1+x^2)} + (\frac{x^2}{x(1+x^2)})'\boldsymbol{x}\\ = \frac{x^2}{x(1+x^2)} + \frac{2\boldsymbol{x}^T(x+x^3) - (1+3x^2)(\frac{\boldsymbol{x}^T}{x})x^2}{x^2(1+x^2)^2}\boldsymbol{x}\\ = \frac{x^2}{x(1+x^2)} + \frac{2x^2(x+x^3) - (1+3x^2)x^3}{x^2(1+x^2)^2}\\ $$

which turns out to be a scalar. Where did I go wrong? thanks in advance!