\HeaderA{pdMat}{Positive-Definite Matrix}{pdMat}
\aliasA{plot.pdMat}{pdMat}{plot.pdMat}
\keyword{models}{pdMat}
\begin{Description}\relax
This function gives an alternative way of constructing an object
inheriting from the \code{pdMat} class named in \code{pdClass}, or
from \code{data.class(object)} if \code{object} inherits from
\code{pdMat},  and is mostly used internally in other functions. See
the documentation on the principal constructor function, generally
with the same name as the \code{pdMat} class of object.
\end{Description}
\begin{Usage}
\begin{verbatim}
pdMat(value, form, nam, data, pdClass)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{value}] an optional initialization value, which can be any of the
following: a \code{pdMat} object, a positive-definite
matrix, a one-sided linear formula (with variables separated by
\code{+}), a vector of character strings, or a numeric
vector. Defaults to \code{numeric(0)}, corresponding to an
uninitialized object.
\item[\code{form}] an optional one-sided linear formula specifying the
row/column names for the matrix represented by \code{object}. Because
factors may be present in \code{form}, the formula needs to be
evaluated on a data.frame to resolve the names it defines. This
argument is ignored when \code{value} is a one-sided
formula. Defaults to \code{NULL}.
\item[\code{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
\code{value} is a vector of character strings. Defaults to
\code{NULL}.
\item[\code{data}] an optional data frame in which to evaluate the variables
named in \code{value} and \code{form}. It is used to
obtain the levels for \code{factors}, which affect the
dimensions and the row/column names of the underlying matrix. If
\code{NULL}, no attempt is made to obtain information on 
\code{factors} appearing in the formulas. Defaults to the
parent frame from which the function was called.
\item[\code{pdClass}] an optional character string naming the
\code{pdMat} class to be assigned to the returned object. This
argument will only be used when \code{value} is not a \code{pdMat} 
object. Defaults to \code{"pdSymm"}.
\end{ldescription}
\end{Arguments}
\begin{Value}
a \code{pdMat} object representing a positive-definite matrix,
inheriting from the class named in \code{pdClass}, or from
\code{class(object)}, if \code{object} inherits from \code{pdMat}.
\end{Value}
\begin{Author}\relax
Jose Pinheiro \email{Jose.Pinheiro@pharma.novartis.com} and Douglas Bates \email{bates@stat.wisc.edu}
\end{Author}
\begin{References}\relax
Pinheiro, J.C., and Bates, D.M. (2000) "Mixed-Effects Models
in S and S-PLUS", Springer.
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{pdClasses}{pdClasses}}, 
\code{\LinkA{pdCompSymm}{pdCompSymm}}, \code{\LinkA{pdDiag}{pdDiag}},
\code{\LinkA{pdIdent}{pdIdent}}, \code{\LinkA{pdNatural}{pdNatural}},
\code{\LinkA{pdSymm}{pdSymm}},
\code{\LinkA{reStruct}{reStruct}},
\code{\LinkA{solve.pdMat}{solve.pdMat}}, 
\code{\LinkA{summary.pdMat}{summary.pdMat}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
pd1 <- pdMat(diag(1:4), pdClass = "pdDiag")
pd1
\end{ExampleCode}
\end{Examples}

