As for derivatives of function:
$$\frac{\partial (x*x)}{\partial {x}} = \frac{\partial (x^2)}{\partial {x}} = 2x$$
But for derivatives of matrices, since $\frac{\partial (\boldsymbol{a}^{T}\boldsymbol{x})}{\partial \boldsymbol{x}}{} = \boldsymbol{a}$,
plug $\boldsymbol{a} = \boldsymbol{x}$ we get:
$$\frac{\partial (\boldsymbol{x}^{T}\boldsymbol{x})}{\partial \boldsymbol{x}} = \boldsymbol{x}$$
Why $\frac{\partial (\boldsymbol{x}^{T}\boldsymbol{x})}{\partial \boldsymbol{x}}{} \neq 2\boldsymbol{x}$ ?
The equation posted is wrong.
$\frac{\partial (\boldsymbol{x}^{T}\boldsymbol{x})}{\partial \boldsymbol{x}}{} = 2\boldsymbol{x}$ is true.
the problem is plugging $a = x$ is improper since $x$ is a variable while $a$ is a constant.
derivatives of matrices: $\frac{\partial (\boldsymbol{x}^{T}\boldsymbol{x})}{\partial \boldsymbol{x}}{} = 2\boldsymbol{x}$
derivatives of function: $\frac{\partial (x*x)}{\partial {x}} = 2x$
While
derivatives of matrices: $\frac{\partial (\boldsymbol{a}^{T}\boldsymbol{x})}{\partial \boldsymbol{x}}{} = \boldsymbol{a}$
derivatives of function: $\frac{\partial (a*x)}{\partial {x}} = a$