

   DDiiaaggoonna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

        pdDiag(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 of length
             equal to the dimension of the underlying positive-
             definite matrix. Defaults to `numeric(0)', corre-
             sponding 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 `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 unini-
        tialized `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} 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.

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

        a `pdDiag' object representing a diagonal positive-def-
        inite matrix, also inheriting from class `pdMat'.

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

        Jose Pinheiro and Douglas Bates

   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 <- pdDiag(diag(1:3), nam = c("A","B","C"))
        pd1

