LDLt factorization for full matrices

This is handled by the code I posted. (Note I made an edit to the scaling of L; I had ignored that you would be dividing by a small or even zero element at L_{rr}). You can stop pivoted Cholesky at the first pivot that is sufficiently small or zero. The built in pivoted Cholesky does this for you.

It is perhaps worth noting that the block L[r+1:n, r+1:n] is essentially arbitrary. I returned what was stored in the Cholesky factor at the end of the factorization, but that isn’t significant and you could just as easily make that block equal the identity.