koblas

Regularize

data class Regularize(val minimumPivot: Double = 1.0E-10) : CholeskyPolicy(source)

Continue past a non-positive pivot, treating it as minimumPivot instead.

The result is a genuine Cholesky factor of a nearby matrix, not of the input — which is the point for an iterative estimate that has drifted slightly indefinite, and is why the caller has to ask.

minimumPivot is in the matrix's own units, not the factor's: the diagonal of L becomes its square root. The default reproduces koblas's historical behaviour exactly (1e-10 here was the buried 1e-5 on L). It is an absolute floor rather than one scaled to the matrix, so a badly scaled input wants a value chosen for it — the reason it is a parameter at all.

Constructors

Regularize

constructor(minimumPivot: Double = 1.0E-10)(source)