If the matrix is not symmetric positive semi-definite, you can only draw from a distribution whose covariance matrix is close to the target, but not identical to it. The general concept of finding close correlation matrices is a research subject in itself and one of the most prominent researchers in that area is N. J. Higham. A good paper is at
www.ma.man.ac.uk/~nareports/narep369.pdf. For a brief review on some simple methods, see
www.jaeckel.org/SplittingTheCore.pdf.For a simple, in all practical cases good enough, approximation I recommend the spectral approximation as discussed in section 6.2 of "Monte Carlo methods in Finance" by Peter Jaeckel (apologies for the plug) which is based on the matrix at least being symmetric. To make it symmetric simply replace it by the average of itself and its transpose.Personally, I never use Cholesky decomposition other than for purposes of demonstrations as to why I don't use it. Instead, tred2, tqli, eigsrt, in that order, from Numerical Recipes decomposes all my matrices efficiently and swiftly and safely (SVD also works but is overkill since it does not take advantage of symmetry which makes the numerical effort significantly bigger). A friend of mine once put it as follows: "The proliferation of the use of Cholesky decompositions is essentially a historical accident.". And he did a PhD. thesis on Monte Carlo algorithms...Best regards,pj