\HeaderA{pdIdnot}{Overflow proof pdMat class for multiples of the identity matrix}{pdIdnot}
\aliasA{coef.pdIdnot}{pdIdnot}{coef.pdIdnot}
\aliasA{corMatrix.pdIdnot}{pdIdnot}{corMatrix.pdIdnot}
\aliasA{Dim.pdIdnot}{pdIdnot}{Dim.pdIdnot}
\aliasA{logDet.pdIdnot}{pdIdnot}{logDet.pdIdnot}
\aliasA{pdConstruct.pdIdnot}{pdIdnot}{pdConstruct.pdIdnot}
\aliasA{pdFactor.pdIdnot}{pdIdnot}{pdFactor.pdIdnot}
\aliasA{pdMatrix.pdIdnot}{pdIdnot}{pdMatrix.pdIdnot}
\aliasA{solve.pdIdnot}{pdIdnot}{solve.pdIdnot}
\aliasA{summary.pdIdnot}{pdIdnot}{summary.pdIdnot}
\keyword{models}{pdIdnot}
\keyword{smooth}{pdIdnot}
\keyword{regression}{pdIdnot}
\begin{Description}\relax
This set of functions is a modification of the  \code{pdMat} class \code{pdIdent}
from library \code{nlme}. The modification is to replace the log parameterization used in \code{pdMat}
with a \code{\LinkA{notLog}{notLog}} parameterization, since the latter is much less susceptible to overflow 
and underflow of the parameters on the original scale. The functions are particularly useful for
working with Generalized Additive Mixed Models where variance parameters/smoothing parameters can
be very large or very small, so that overflow or underflow can be a problem.

These functions would not normally be called directly, although unlike the 
\code{\LinkA{pdTens}{pdTens}} class it is easy to do so.
\end{Description}
\begin{Usage}
\begin{verbatim}
pdIdnot(value = numeric(0), form = NULL, 
       nam = NULL, data = sys.frame(sys.parent()))
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{value}] Initialization values for parameters. Not normally used.
\item[\code{form}] A one sided formula specifying the random effects structure. 
\item[\code{nam}] a names argument, not normally used with this class.
\item[\code{data}] data frame in which to evaluate formula.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Note that while the \code{pdFactor} and \code{pdMatrix} functions return the inverse of the scaled random 
effect covariance matrix or its factor, the \code{pdConstruct} function is initialised with estimates of the 
scaled covariance matrix itself.
\end{Details}
\begin{Value}
A class \code{pdIdnot} object, or related quantities. See the \code{nlme} documentation for further details.
\end{Value}
\begin{Author}\relax
Simon N. Wood \email{simon.wood@r-project.org}
\end{Author}
\begin{References}\relax
Pinheiro J.C. and Bates, D.M. (2000) Mixed effects Models in S and S-PLUS. Springer

The \code{nlme} source code.

\url{http://www.stats.gla.ac.uk/~simon/}
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{te}{te}}, \code{\LinkA{pdTens}{pdTens}}, \code{\LinkA{notLog}{notLog}}, \code{\LinkA{gamm}{gamm}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
# see gamm
\end{ExampleCode}
\end{Examples}

