In books about group theory written for physicists, there's a strange procedure used to find the roots of a Lie algebra. The steps are:
- Write down the fundamental representation. This is the 'physicist's' fundamental representation, i.e. the one that just takes the matrix representatives for a matrix Lie algebra.
- Extract the Cartan generators in this representation and hence the weights of the fundamental.
- Take all possible differences of pairs of these weights to find candidate roots.
- Sometimes this gives too many roots. In this case, we throw out roots we know can't work, such as the ones that are integer multiples of other roots. If there are still too many, which happens rarely, we toss out more roots until we get the right number, while keeping the root diagram symmetrical.
This procedure is done in Georgi's Lie Algebras in Particle Physics and Zee's Group Theory in a Nutshell for Physicists. In both cases, the physicist can arrive at the roots for every semi-simple Lie algebra with almost no effort.
But why should this procedure work at all? Why must the roots be a subset of the differences of weights of the fundamental, and what's the rigorous way to 'throw out' unneeded roots? Is there a reason that this works when it does?
As requested in the comments, here's an example with $\mathfrak{so}(5)$. The fundamental representation contains Hermitian $5 \times 5$ matrices. Thus a Cartan sublagebra is spanned by $$H^1 = \begin{pmatrix} & -i & & & \\ i & & & & \\ & & & & \\ & & & & \\ & & & & \end{pmatrix}, \quad H^2 = \begin{pmatrix} & & & & \\ & & & & \\ & & & -i & \\ & & i & & \\ & & & & \end{pmatrix}$$ which may be diagonalized to $$H^1 = \text{diag}(-1, 1, 0, 0, 0), \quad H^2 = \text{diag}(0, 0, -1, 1, 0).$$ We thus read off the five weights $$w^1 = (-1, 0), \quad w^2 = (1, 0), \quad w^3 = (0, -1), \quad w^4 = (0, 1), \quad w^5 = (0, 0).$$ There are ten distinct nonzero differences of weights. We throw out the candidate roots $(2, 0)$ and $(0, 2)$ since they are twice $(1, 0)$ and $(0, 1)$, giving the eight roots of $\mathfrak{so}(5)$.