I am fitting a GMM in which I allow my covariance matrices (residual and latent variable) to vary across classes (although the residual structure is assumed homogeneous across the classes). I specify random starts of course, but supply user-defined starting values for all estimated parameters. I understand how MPLUS varies the values for the latent class means, but am unclear as to how it varies the values for all other parameters. Could you a) point me to a reference that explains how Mplus accomplishes this and b) if not, then perhaps briefly describe the process for me? Note, the model recovers no more than two viable classes (which is what it should do!).