How do the different ways to map spins on bosons differ? There are multiple ways I have found to map spin operators $S^+=S_x+iS_y,\quad S^-=S_x-iS_y,\quad S_z$ onto bosons.

*

*most trivial: a spin-1/2 system is equivalent to bosons with hard-core interactions (as well as fermions), comprise also a two-level system. This mapping is often associated with a Jordan-Wigner transformation. In order to map this further to non-interacting bosons, there is the procedure of bosonization

*The Holstein-Primakoff approach $S^+ = \sqrt{2s} \sqrt{1-\frac{a^\dagger a}{2s}}\, a ~, \quad
S^- = \sqrt{2s} a^\dagger\, \sqrt{1-\frac{a^\dagger a}{2s}} ~, \quad 
S_z = (s - a^\dagger a)$

*The Dyson-Maleev transformation $J^+ = \, a ~, \quad
J^-=  S- ~  \sqrt{2s-a^\dagger a} =  a^\dagger\, (2s-a^\dagger a)~, \quad
J_z=S_z =(s - a^\dagger a)$

*The Schwinger boson representation $S^+=a^\dagger b ,\quad S^-=ab^\dagger,\quad S_z=\frac{1}{2}(a^\dagger a -b^\dagger b)$
My questions are obvious: how are all these approaches related? To what extend are they exact or approximations? Which one should be used in which case?
 A: Holstein-Primakoff:
The primary motivation for carrying out this transformation is the observation that the elementary excitations of the symmetry broken state of the antiferromagnetic Heisenberg model are spin flips. The antiferromagnetic Hamiltonian itself induces spin flips when acting on the Neel state, and hence we cannot calculate the equation of motion for a single spin flip. Instead, we turn to write spins in terms of bosonic degrees of freedom. The mapping reads as follows
$$\hat{S}^{+}_{i} = \hbar\sqrt{2s - \hat{n}_{i}}\ \hat{a}_{i},\ \hat{S}^{-}_{i} = \hbar\hat{a}^{\dagger}_{i} \sqrt{2s - \hat{n}_{i}},\ \hat{S}_{i}^{z} = \hbar\left(s - \hat{n}_{i}\right),$$
where $\hat{n}_{i} = \hat{a}^{\dagger}_{i}\hat{a}_{i}$. These operators obey the usual su(2) algebra. When we expand the square root factors to leading order in $s$, we obtain the following
$$\sqrt{2s - \hat{n}_{i}} = \sqrt{2s}\left(1 - \frac{\hat{n}_{i}}{2\left(\sqrt{2s}\right)^{2}} - \frac{\hat{n}_{i}^{2}}{16\left(\sqrt{2s}\right)^{2}} - \ldots\right),$$
which when inserted into the Hamiltonian, up to quadratic terms yields a simplified model for us to work with and one which also provides a good description of the low-energy spectrum. The higher-order terms describe interactions between spin waves.
Schwinger Bosons:
The symmetric phases of the Heisenberg model are easier to describe using representations in which the rotational invariance of the Hamiltonian is manifested. Schwinger bosons are useful for calculating matrix elements of spin operators. Using this representation, the quantum spin Hamiltonian is mapped onto an interacting boson Hamiltonian, which can then be approximated by a self-consistent non-interacting Hamiltonian via mean-field theory.
The Schwinger bosons provide a symmetric representation in spin space while the Holstein-Primakoff bosons single out the spins in the $z$-direction. It is thus more useful to use the Holstein-Primakoff transformation when you have broken symmetry phases and more useful to use Schwinger bosons for the symmetric phases. While the vacuum state of Holstein-Primakoff bosons has to be a broken symmetry state, this is not the case for Schwinger
bosons. Schwinger bosons method is certainly more elegant in a way but is a bit more cumbersome to work with (since you have two bosons to deal with). Holstein Primakoff is often a first thing to try because of the ease of use and the fact that you can easily use a Taylor series to set up an expansion.
For information on the Dyson-Maleev representation see this
