This function is similar to `base::chol`

, but it returns the lower root and possibly remove unnecessary columns.

1 | ```
cholRoot(x)
``` |

`x` |
A positive semidefinite matrix. |

This function calls `base::chol`

with pivoting and returns the lower root. In the case of less than full rank `x`

, unnecessary columns are removed. `tcrossprod(cholRoot(x))`

will reproduce `x`

(up to numerical errors).

A numeric matrix, not necessarily a square matrix.

Long Qu

`Matrix::chol`

, `base::chol`

.

1 2 3 4 5 | ```
set.seed(3456L)
A=tcrossprod(matrix(runif(10L), 5L))
cholRoot(A)
range(A - tcrossprod(cholRoot(A)))
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.