I learned them from 'An Introduction to Optimization' by Edwin K. P. Chong and Stanislaw H. Zak.
Derivative of $f$ $$Df(x)=\left[\begin{matrix} \frac{{\partial}f}{{\partial}x_1} (x) & \cdots & \frac{{\partial}f}{{\partial}x_n} (x) \end{matrix}\right]$$
Gradient of $f$ $${\nabla}f(x)=Df(x)^\top=\left[\begin{matrix} \frac{{\partial}f}{{\partial}x_1} (x) \\ \vdots \\ \frac{{\partial}f}{{\partial}x_n} (x) \end{matrix}\right]$$
Hessian of $f$ $$F(x) = D^2f(x)=\left[\begin{matrix} \frac{{\partial^2}f}{{\partial}x_1^2} & \frac{{\partial^2}f}{{\partial}x_2{\partial}x_1} & \cdots & \frac{{\partial^2}f}{{\partial}x_n{\partial}x_1}\\ \frac{{\partial^2}f}{{\partial}x_1{\partial}x_2} & \frac{{\partial^2}f}{{\partial}x_2^2} & \cdots & \frac{{\partial^2}f}{{\partial}x_n{\partial}x_2}\\ \vdots & \vdots & \ddots & \vdots\\ \frac{{\partial^2}f}{{\partial}x_1{\partial}x_n} & \frac{{\partial^2}f}{{\partial}x_2{\partial}x_n} & \cdots & \frac{{\partial^2}f}{{\partial}x_n^2}\\ \end{matrix}\right]$$
However, in wikipedia or wolfram, the Hessian matrix of $f$ is defined as $$H(x) = \left[\begin{matrix} \frac{{\partial^2}f}{{\partial}x_1^2} & \frac{{\partial^2}f}{{\partial}x_1{\partial}x_2} & \cdots & \frac{{\partial^2}f}{{\partial}x_1{\partial}x_n}\\ \frac{{\partial^2}f}{{\partial}x_2{\partial}x_1} & \frac{{\partial^2}f}{{\partial}x_2^2} & \cdots & \frac{{\partial^2}f}{{\partial}x_2{\partial}x_n}\\ \vdots & \vdots & \ddots & \vdots\\ \frac{{\partial^2}f}{{\partial}x_n{\partial}x_1} & \frac{{\partial^2}f}{{\partial}x_n{\partial}x_2} & \cdots & \frac{{\partial^2}f}{{\partial}x_n^2}\\ \end{matrix}\right]$$
That is, $H(x)=F(x)^\top$. What is the correct Hessian???
I know almost all functions have $\frac{{\partial}f}{{\partial}x_i{\partial}x_j}(x) = \frac{{\partial}f}{{\partial}x_j{\partial}x_i}(x)$.
However, there exist some functions that have $\frac{{\partial}f}{{\partial}x_i{\partial}x_j}(x) \ne \frac{{\partial}f}{{\partial}x_j{\partial}x_i}(x)$.