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.
pdLogChol(value, form, nam, data)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.
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.
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.
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.
a pdLogChol object representing a general positive-definite
matrix, also inheriting from class pdMat.
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.
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.
# NOT RUN {
(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
# }
Run the code above in your browser using DataLab