\HeaderA{dtpMatrix-class}{Packed triangular dense matrices}{dtpMatrix.Rdash.class}
\aliasA{coerce,dtpMatrix,dtrMatrix-method}{dtpMatrix-class}{coerce,dtpMatrix,dtrMatrix.Rdash.method}
\aliasA{coerce,dtpMatrix,dtTMatrix-method}{dtpMatrix-class}{coerce,dtpMatrix,dtTMatrix.Rdash.method}
\aliasA{coerce,dtpMatrix,ltpMatrix-method}{dtpMatrix-class}{coerce,dtpMatrix,ltpMatrix.Rdash.method}
\aliasA{coerce,dtpMatrix,matrix-method}{dtpMatrix-class}{coerce,dtpMatrix,matrix.Rdash.method}
\aliasA{coerce,matrix,dtpMatrix-method}{dtpMatrix-class}{coerce,matrix,dtpMatrix.Rdash.method}
\aliasA{determinant,dtpMatrix,logical-method}{dtpMatrix-class}{determinant,dtpMatrix,logical.Rdash.method}
\aliasA{determinant,dtpMatrix,missing-method}{dtpMatrix-class}{determinant,dtpMatrix,missing.Rdash.method}
\aliasA{diag,dtpMatrix-method}{dtpMatrix-class}{diag,dtpMatrix.Rdash.method}
\aliasA{norm,dtpMatrix,character-method}{dtpMatrix-class}{norm,dtpMatrix,character.Rdash.method}
\aliasA{norm,dtpMatrix,missing-method}{dtpMatrix-class}{norm,dtpMatrix,missing.Rdash.method}
\aliasA{rcond,dtpMatrix,character-method}{dtpMatrix-class}{rcond,dtpMatrix,character.Rdash.method}
\aliasA{rcond,dtpMatrix,missing-method}{dtpMatrix-class}{rcond,dtpMatrix,missing.Rdash.method}
\aliasA{solve,dtpMatrix,ddenseMatrix-method}{dtpMatrix-class}{solve,dtpMatrix,ddenseMatrix.Rdash.method}
\aliasA{solve,dtpMatrix,matrix-method}{dtpMatrix-class}{solve,dtpMatrix,matrix.Rdash.method}
\aliasA{solve,dtpMatrix,missing-method}{dtpMatrix-class}{solve,dtpMatrix,missing.Rdash.method}
\aliasA{t,dtpMatrix-method}{dtpMatrix-class}{t,dtpMatrix.Rdash.method}
\aliasA{unpack,dtpMatrix-method}{dtpMatrix-class}{unpack,dtpMatrix.Rdash.method}
\aliasA{\%*\%,dgeMatrix,dtpMatrix-method}{dtpMatrix-class}{.Rpcent.*.Rpcent.,dgeMatrix,dtpMatrix.Rdash.method}
\aliasA{\%*\%,dtpMatrix,ddenseMatrix-method}{dtpMatrix-class}{.Rpcent.*.Rpcent.,dtpMatrix,ddenseMatrix.Rdash.method}
\aliasA{\%*\%,dtpMatrix,matrix-method}{dtpMatrix-class}{.Rpcent.*.Rpcent.,dtpMatrix,matrix.Rdash.method}
\aliasA{\%*\%,matrix,dtpMatrix-method}{dtpMatrix-class}{.Rpcent.*.Rpcent.,matrix,dtpMatrix.Rdash.method}
\keyword{classes}{dtpMatrix-class}
\begin{Description}\relax
The \code{"dtpMatrix"} class is the class of triangular,
dense, numeric matrices in packed storage.  The \code{"dtrMatrix"}
class is the same except in nonpacked storage.
\end{Description}
\begin{Section}{Objects from the Class}
Objects can be created by calls of the form \code{new("dtpMatrix",
    ...)} or by coercion from other classes of matrices.
\end{Section}
\begin{Section}{Slots}
\describe{
\item[\code{uplo}:] Object of class \code{"character"}. Must be
either "U", for upper triangular, and "L", for lower triangular.
\item[\code{diag}:] Object of class \code{"character"}. Must be
either \code{"U"}, for unit triangular (diagonal is all ones), or
\code{"N"}; see \code{\LinkA{triangularMatrix}{triangularMatrix.Rdash.class}}.
\item[\code{x}:] Object of class \code{"numeric"}. The numeric
values that constitute the matrix, stored in column-major order.
For a packed square matrix of dimension \eqn{d \times d}{},
\code{length(x)} is of length \eqn{d(d+1)/2}{} (also when
\code{diag == "U"}!).
\item[\code{Dim},\code{Dimnames}:] The dimension (a length-2
\code{"integer"}) and corresponding names (or \code{NULL}),
inherited from the \code{\LinkA{Matrix}{Matrix.Rdash.class}}, see there.
}
\end{Section}
\begin{Section}{Extends}
Class \code{"ddenseMatrix"}, directly.
Class \code{"triangularMatrix"}, directly.
Class \code{"dMatrix"} and more by class \code{"ddenseMatrix"} etc, see
the examples.
\end{Section}
\begin{Section}{Methods}
\describe{
\item[\%*\%] \code{signature(x = "dtpMatrix", y = "dgeMatrix")}:
Matrix multiplication; ditto for several other signature
combinations, see \code{showMethods("\%*\%", class = "dtpMatrix")}.
\item[coerce] \code{signature(from = "dtpMatrix", to = "dtrMatrix")}
\item[coerce] \code{signature(from = "dtpMatrix", to = "matrix")}
\item[determinant] \code{signature(x = "dtpMatrix", logarithm = "missing")}: ... 
\item[determinant] \code{signature(x = "dtpMatrix", logarithm = "logical")}: ... 
\item[diag] \code{signature(x = "dtpMatrix")}: ... 
\item[norm] \code{signature(x = "dtpMatrix", type = "character")}: ... 
\item[norm] \code{signature(x = "dtpMatrix", type = "missing")}: ... 
\item[rcond] \code{signature(x = "dtpMatrix", norm = "character")}: ... 
\item[rcond] \code{signature(x = "dtpMatrix", norm = "missing")}: ... 
\item[solve] \code{signature(a = "dtpMatrix", b = "missing")}: ... 
\item[solve] \code{signature(a = "dtpMatrix", b = "matrix")}: ... 
\item[t] \code{signature(x = "dtpMatrix")}: ... 
\item[unpack] \code{signature(x = "dtpMatrix")}: ... 
}
\end{Section}
\begin{SeeAlso}\relax
Class \code{\LinkA{dtrMatrix}{dtrMatrix.Rdash.class}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
showClass("dtrMatrix")

example("dtrMatrix-class")
(p1 <- as(T2, "dtpMatrix"))
str(p1)
(pp <- as(T, "dtpMatrix"))
stopifnot(length(p1@x) == 3, length(pp@x) == 3,
          p1 @ uplo == T2 @ uplo, pp @ uplo == T @ uplo)
\end{ExampleCode}
\end{Examples}

