chol {Matrix}R Documentation

Choleski Decomposition - 'Matrix' S4 Generic

Description

Compute the Choleski factorization of a real symmetric positive-definite square matrix.

Usage

chol(x, ...)
## S4 method for signature 'dsCMatrix':
chol(x, pivot = FALSE, ...)

Arguments

x a (sparse or dense) square matrix, here inheriting from class Matrix; if x is not positive definite, an error is signalled.
pivot logical indicating if pivoting is used.
... potentially further arguments passed to methods.

Value

a matrix of class Cholesky, i.e., upper triangular: R such that R R' = x.

Methods

Use showMethods(chol) to see all; some are worth mentioning here:

chol
signature(x = "dgeMatrix"): works via "dpoMatrix", see class dpoMatrix.
chol
signature(x = "dpoMatrix"): Returns (and stores) the Cholesky decomposition of x, via LAPACK routines dlacpy and dpotrf.
chol
signature(x = "dppMatrix"): Returns (and stores) the Cholesky decomposition via LAPACK routine dpptrf.
chol
signature(x = "dsCMatrix", pivot = "logical"): Returns (and stores) the Cholesky decomposition of x. If pivot is TRUE (the default) Metis is used to create a reordering of the rows and columns of x so as to minimize fill-in.

See Also

The default from base, chol.

Examples

showMethods(chol, inherited = FALSE) # show different methods

sy2 <- new("dsyMatrix", Dim = as.integer(c(2,2)), x = c(14, NA,32,77))
(c2 <- chol(sy2))#-> "Cholesky" matrix
stopifnot(all.equal(c2, chol(as(sy2, "dpoMatrix")), tol= 1e-13))
str(c2)

## An example where chol() can't work
(sy3 <- new("dsyMatrix", Dim = as.integer(c(2,2)), x = c(14, -1, 2, -7)))
try(chol(sy3)) # error, since it is not positive definite

[Package Matrix version 0.999375-29 Index]