Convert a normal to a mixture of two normal distribution with variance equal to that of the normal

Consider a variable, say x following the normal distribution N(0,5.99). I want to translate this into a symmetric mixture of two normal distributions such that the mean of x is zero and the variance of x is the same as the one following the normal distribution.

Getting the zero mean is straight forward because one can choose a mixture of say 0.5*N(-2,A)+0.5*N(2,A), but I am stuck with how to get the variance, i.e. A in this case.

Any help on this would be greatly appreciated. Thanks

Take a look at the Wikipedia entry for mixtures, specifically the section on moments. The relevant formula is that the variance of a mixture of $n$ distributions with means $\mu_i$, variances $\sigma_i^2$ and weights $w_i$ is

$$E\big((X-\mu)^2\big) = \sigma^2 = \sum_{i=1}^nw_i(\mu_i^2+\sigma_i^2)-\mu^2,$$

where $\mu$ and $\sigma^2$ are the mean and variance of the mixture.

In your specific case, you have $\mu=0$, $\sigma^2=5.99$, $w_i=\frac{1}{2}$ and (say) $\mu_i=\pm 2$, and symmetry implies that $\sigma_1^2=\sigma_2^2$. We get

$$\sigma^2 = \frac{1}{2}(\mu_1^2+\sigma_1^2)+\frac{1}{2}(\mu_2^2+\sigma_2^2) = \mu_1^2+\sigma_1^2,$$

or

$$\sigma_1^2=\sigma_2^2=\sigma^2-\mu_1^2 = 5.99-4 = 1.99.$$

Here is a picture and a simulation for verification:

xx <- seq(-5,5,by=.01)
plot(xx,dnorm(xx,0,sqrt(5.99)),type="l",xlab="",ylab="")
new_mean <- 2
new_var <- 5.99-new_mean^2
lines(xx,0.5*dnorm(xx,-new_mean,sqrt(new_var))+
0.5*dnorm(xx,new_mean,sqrt(new_var)),col="red")

nn <- 1e5
var(c(rnorm(nn,-new_mean,sqrt(new_var)),rnorm(nn,new_mean,sqrt(new_var))))
# [1] 5.996673