///|
/// The lower Cholesky factor of a symmetric positive-definite matrix `a`, so
/// that `a = l * l^T`.
///
/// The factor is what the Kalman gain is solved with: a Cholesky solve costs
/// half an LU solve and never needs pivoting for a covariance.
pub fn cholesky(a : Mat) -> Mat raise Refused {
let n = a.rows
if a.rows != a.cols {
raise Refused::Dimension(got=a.cols, want=a.rows)
}
if n == 0 {
raise Refused::Empty
}
let l = Mat::zeros(n, n)
for j in 0.. Mat raise Refused {
let n = l.rows
if b.rows != n {
raise Refused::Dimension(got=b.rows, want=n)
}
let width = b.cols
let y = Mat::zeros(n, width)
for i in 0..=..0 {
for j in 0..