\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{notLog2}{notLog2}} parameterization, since the latter avoids
indefiniteness in the likelihood and associated convergence problems: the
parameters also relate to variances rather than standard deviations, for
consistency with the \code{\LinkA{pdTens}{pdTens}} class. 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
The following functions are provided: \code{Dim.pdIndot}, \code{coef.pdIdnot}, \code{corMatrix.pdIdnot}, 
\code{logDet.pdIdnot}, \code{pdConstruct.pdIdnot}, \code{pdFactor.pdIdnot}, \code{pdMatrix.pdIdnot},
\code{solve.pdIdnot}, \code{summary.pdIdnot}. (e.g. \code{mgcv:::coef.pdIdnot} to access.)

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.maths.bath.ac.uk/~sw283/}
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{te}{te}}, \code{\LinkA{pdTens}{pdTens}}, \code{\LinkA{notLog2}{notLog2}}, \code{\LinkA{gamm}{gamm}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
# see gamm
\end{ExampleCode}
\end{Examples}

