1% Generated by roxygen2: do not edit by hand 2% Please edit documentation in R/ldl.R 3\name{ldl} 4\alias{ldl} 5\title{LDL Decomposition of a Matrix} 6\usage{ 7ldl(x, tol) 8} 9\arguments{ 10\item{x}{Symmetrix matrix.} 11 12\item{tol}{Tolerance parameter for LDL decomposition, determines which 13diagonal values are counted as zero. Same value is used in isSymmetric function. 14Default is \code{max(100, max(abs(diag(as.matrix(x))))) * .Machine$double.eps}.} 15} 16\value{ 17Transformed matrix with D in diagonal, L in strictly lower diagonal 18and zeros on upper diagonal. 19} 20\description{ 21Function \code{ldl} computes the LDL decomposition of a positive semidefinite matrix. 22} 23\examples{ 24# Positive semidefinite matrix, example matrix taken from ?chol 25x <- matrix(c(1:5, (1:5)^2), 5, 2) 26x <- cbind(x, x[, 1] + 3*x[, 2]) 27m <- crossprod(x) 28l <- ldl(m, tol = 1e-8) # arm64 Mac setup in CRAN fails with default tolerance 29d <- diag(diag(l)) 30diag(l) <- 1 31all.equal(l \%*\% d \%*\% t(l), m, tol = 1e-15) 32} 33