We can no longer use the Cholesky decomposition given by R's chol function since it returns "meaningless results" if matrices are not non-negative definite (even for minimal negative eigen values which are essentially zero):

     If ‘pivot = TRUE’ and ‘x’ is not non-negative definite then there
     will be a warning message but a meaningless result will occur.  So
     only use ‘pivot = TRUE’ when ‘x’ is non-negative definite by
     construction.

Therefore we now use the singular value decomposition.