Add Cholesky and QR decomposition

The API is starting to get a little cluttered. We should consider
wrapping results from decompositions in structs.