# pdDiag {nlme}

### Description

This function is a constructor for the `pdDiag`

class, representing a diagonal positive-definite matrix. If the matrix associated with `object`

is of dimension n, it is represented by n unrestricted parameters, given by the logarithm of the square-root of the diagonal values. When `value`

is `numeric(0)`

, an uninitialized `pdMat`

object, a one-sided formula, or a vector of character strings, `object`

is returned as an uninitialized `pdDiag`

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 underlying positive-definite matrix.

### Usage

pdDiag(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 of length equal to the dimension of the underlying positive-definite matrix. 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 vector of character strings 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 vector of character strings. 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`factors`

appearing in the formulas. Defaults to the parent frame from which the function was called.

### Values

a `pdDiag`

object representing a diagonal positive-definite matrix, also inheriting from class `pdMat`

.

### References

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`

Documentation reproduced from package nlme, version 3.1-124. License: GPL (>= 2)