

   GGeenneerraall PPoossiittiivvee--DDeeffiinniittee MMaattrriixx

        pdSymm(value, form, nam, data)

   AArrgguummeennttss::

      value: an optional initialization value, which can be any
             of the following: a code{pdMat} object, a posi-
             tive-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 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 the
             random effects model. Defaults to parent frame
             from which the function was called.

   DDeessccrriippttiioonn::

        This function is a constructor for the `pdSymm' 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 matrix-logarithm parametrization described in
        Pinheiro and Bates (1996). 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 `pdSymm'
        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} func-
        tions. 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 pos-
        itive-definite matrix.

   VVaalluuee::

        a `pdSymm' object representing a general positive-defi-
        nite matrix, also inheriting from class `pdMat'.

   AAuutthhoorr((ss))::

        Jose Pinheiro and Douglas Bates

   RReeffeerreenncceess::

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

   SSeeee AAllssoo::

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

   EExxaammpplleess::

        library(lme)
        pd1 <- pdSymm(diag(1:3), nam = c("A","B","C"))
        pd1

