Largest remaining Schur-complement diagonal as pivot (ties: lowest
index), stopping when the remaining trace falls to tol times the
trace of A or at max_rank columns (Harbrecht, Peters and
Schneider 2012). Identical to the Python arm
morie.fn.zschl.pivoted_cholesky.
Usage
PivotedCholesky(A, tol = 1e-12, max_rank = NULL)
Arguments
- A
Positive semi-definite matrix.
- tol
Relative trace tolerance.
- max_rank
Maximum rank.
Value
List with L (n x r, original row order), pivots
(1-based) and rank.
References
Harbrecht, H., Peters, M. and Schneider, R. (2012). On the
low-rank approximation by the pivoted Cholesky decomposition. Applied
Numerical Mathematics 62, 428-440.
Examples
PivotedCholesky(matrix(c(4, 2, 2, 1), 2))
#> $L
#> [,1]
#> [1,] 2
#> [2,] 1
#>
#> $pivots
#> [1] 1
#>
#> $rank
#> [1] 1
#>