Method on @infsup: R = chol (A)
Method on @infsup: [R, P] = chol (A)
Method on @infsup: [R, …] = chol (…, "upper")
Method on @infsup: [L, …] = chol (…, "lower")

Compute the Cholesky factor, R, of each symmetric positive definite matrix in A.

The Cholsky factor is defined by

R’ * R = A.
chol (infsup (pascal (3)))
  ⇒ ans = 3×3 interval matrix

       [1]   [1]   [1]
       [0]   [1]   [2]
       [0]   [0]   [1]

Called using the lower flag, chol returns the lower triangular factorization such that

L * L’ = A.
chol (infsup (pascal (3)), "lower")
  ⇒ ans = 3×3 interval matrix

       [1]   [0]   [0]
       [1]   [1]   [0]
       [1]   [2]   [1]

Warning: Output data widths may grow rapidly with increasing dimensions.

Called with one output argument this function fails if each symmetric matrix in A is guaranteed to be not positive definite. With two output arguments P flags whether each symmetric matrix was guaranteed to be not positive definite and the function does not fail. A positive value of P indicates that each symmetric matrix in A is guaranteed to be not positive definite. Otherwise P is zero.

This function tries to guarantee that each symmetric matrix in A is positive definite. If that fails, a warning is triggered.

A = infsup (pascal (3));
A(3, 3) = "[5, 6]";
chol (A)
  -| warning: chol: matrix is not guaranteed to be positive definite
  ⇒ ans = 3×3 interval matrix

       [1]   [1]      [1]
       [0]   [1]      [2]
       [0]   [0]   [0, 1]

See also: @infsup/lu, @infsup/qr.

Package: interval