return uninitialised memory if matrix is not full rank, that should not be.
Also Cholesky can be computed on non-full rank matrices, I think we should rather check psd here. Does LLT do that?
Please unit test these cases