Learn R Programming

Matrix (version 1.0-4)

BunchKaufman-methods: Bunch-Kaufman Decomposition Methods

Description

The Bunch-Kaufman Decomposition of a square symmetric matrix $A$ is $A = P LDL' P'$ where $P$ is a permutation matrix, $L$ is unit-lower triangular and $D$ is block-diagonal with blocks of dimension $1\times 1$ or $2\times2$.

Usage

BunchKaufman(x, ...)

Arguments

x
a symmetric square matrix.
...
potentially further arguments passed to methods.

Value

  • an object of class BunchKaufman, which can also be used as a (triangular) matrix directly.

References

The original LAPACK source code, including documentation; http://www.netlib.org/lapack/double/dsytrf.f and http://www.netlib.org/lapack/double/dsptrf.f

See Also

The resulting class, BunchKaufman. Related decompositions are the LU, lu, and the Cholesky, chol (and for sparse matrices, Cholesky).

Examples

Run this code
data(CAex)
dim(CAex)
isSymmetric(CAex)# TRUE
CAs <- as(CAex, "symmetricMatrix")
if(FALSE) # no method defined yet for *sparse* :
   bk. <- BunchKaufman(CAs)
## does apply to *dense* symmetric matrices:
bkCA <- BunchKaufman(as(CAs, "denseMatrix"))
bkCA

image(bkCA)# shows how sparse it is, too
str(R.CA <- as(bkCA, "sparseMatrix"))
## an upper triangular 72x72 matrix with only 144 non-zero entries

Run the code above in your browser using DataLab