CholeskyFactor
An owned lower Cholesky factor L of a symmetric positive-definite matrix A = L Lᵀ.
Created by factorCholesky. Inputs and returned matrices never share the factor's storage. Allocating solves leave inputs unchanged. Destination solves may overwrite a supplied right-hand side. No diagonal regularization is applied; callers decide how to stabilize their model before factorization. Concurrent operations are safe with independent destinations and workspaces.
Functions
extended
Return an owned factor of the block matrix [[A, cross], [crossᵀ, diagonal]].
cross has size rows and one column per appended entry. diagonal is square with that many rows; its upper triangle is ignored. This factor and both inputs are unchanged. workspace belongs to one invocation at a time. No jitter or pivot correction is applied.
Throws
If the shapes disagree or the selected input entries are nonfinite.
If the Schur complement is not positive definite or its factor is nonfinite. The failing pivot index refers to the enlarged matrix.
logDeterminant
Natural logarithm of the determinant of A; zero for an empty matrix.
lowerFactor
Return an independent copy of L, with zeros above the diagonal.
rankUpdated
Return an owned factor of A + update updateᵀ, leaving this factor and update unchanged.
update must contain size finite entries. No regularization is applied. workspace lends rotation scratch and belongs to one invocation at a time.
Throws
If the update has the wrong size or nonfinite entries.
If the updated factor cannot be represented with finite entries.
solve
Solve A x = right, returning an independent vector.
Solve A X = right, with one right-hand side per column.
solveInto
Solve A x = right into out, which may be right, and return out.
Both vectors must have size entries. Other inputs and the factor are unchanged. workspace belongs to this invocation; concurrent calls must use separate workspaces.
Solve A X = right into out, which may share right's storage, and return out.
Both matrices must have size rows and the same column count. The factor is unchanged. workspace belongs to this invocation; concurrent calls must use separate workspaces.
solveLower
Solve L X = right, or Lᵀ X = right when transpose is true, into an independent matrix.
solveLowerInto
Solve L X = right, or Lᵀ X = right when transpose, into out and return out.
Both matrices must have size rows and the same column count. out may share right's storage. The factor is unchanged. workspace belongs to one invocation at a time.