# pdLogChol: General Positive-Definite Matrix In nlme: Linear and Nonlinear Mixed Effects Models

## Description

This function is a constructor for the `pdLogChol` class, representing a general positive-definite matrix. If the matrix associated with `object` is of dimension n, it is represented by n*(n+1)/2 unrestricted parameters, using the log-Cholesky parametrization described in Pinheiro and Bates (1996).

• When `value` is `numeric(0)`, an uninitialized `pdMat` object, a one-sided formula, or a character vector, `object` is returned as an uninitialized `pdLogChol` object (with just some of its attributes and its class defined) and needs to have its coefficients assigned later, generally using the `coef` or `matrix` replacement functions.

• If `value` is an initialized `pdMat` object, `object` will be constructed from `as.matrix(value)`.

• Finally, if `value` is a numeric vector, it is assumed to represent the unrestricted coefficients of the matrix-logarithm parametrization of the underlying positive-definite matrix.

## Usage

 `1` ```pdLogChol(value, form, nam, data) ```

## Arguments

 `value` an optional initialization value, which can be any of the following: a `pdMat` object, a positive-definite matrix, a one-sided linear formula (with variables separated by `+`), a vector of character strings, or a numeric vector. Defaults to `numeric(0)`, corresponding to an uninitialized object. `form` an optional one-sided linear formula specifying the row/column names for the matrix represented by `object`. Because factors may be present in `form`, the formula needs to be evaluated on a data frame to resolve the names it defines. This argument is ignored when `value` is a one-sided formula. Defaults to `NULL`. `nam` an optional character vector specifying the row/column names for the matrix represented by object. It must have length equal to the dimension of the underlying positive-definite matrix and unreplicated elements. This argument is ignored when `value` is a character vector. Defaults to `NULL`. `data` an optional data frame in which to evaluate the variables named in `value` and `form`. It is used to obtain the levels for `factors`, which affect the dimensions and the row/column names of the underlying matrix. If `NULL`, no attempt is made to obtain information on `factor`s appearing in the formulas. Defaults to the parent frame from which the function was called.

## Details

Internally, the `pdLogChol` representation of a symmetric positive definite matrix is a vector starting with the logarithms of the diagonal of the Choleski factorization of that matrix followed by its upper triangular portion.

## Value

a `pdLogChol` object representing a general positive-definite matrix, also inheriting from class `pdMat`.

## Author(s)

José Pinheiro and Douglas Bates bates@stat.wisc.edu

## References

Pinheiro, J.C. and Bates., D.M. (1996) Unconstrained Parametrizations for Variance-Covariance Matrices, Statistics and Computing 6, 289–296.

Pinheiro, J.C., and Bates, D.M. (2000) Mixed-Effects Models in S and S-PLUS, Springer.

## See Also

`as.matrix.pdMat`, `coef.pdMat`, `pdClasses`, `matrix<-.pdMat`

## Examples

 ```1 2 3 4 5 6``` ```(pd1 <- pdLogChol(diag(1:3), nam = c("A","B","C"))) (pd4 <- pdLogChol(1:6)) (pd4c <- chol(pd4)) # -> upper-tri matrix with off-diagonals 4 5 6 pd4c[upper.tri(pd4c)] log(diag(pd4c)) # 1 2 3 ```

### Example output

```Positive definite matrix structure of class pdLogChol representing
A B C
A 1 0 0
B 0 2 0
C 0 0 3
Positive definite matrix structure of class pdLogChol representing
[,1]     [,2]      [,3]
[1,]  7.389056 10.87313  13.59141
[2,] 10.873127 70.59815  64.33434
[3,] 13.591409 64.33434 464.42879
[,1]     [,2]     [,3]
[1,] 2.718282 4.000000  5.00000
[2,] 0.000000 7.389056  6.00000
[3,] 0.000000 0.000000 20.08554
 4 5 6
 1 2 3
```

nlme documentation built on Feb. 4, 2021, 9:06 a.m.