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 factor
s 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