\HeaderA{dtrMatrix-class}{Triangular, dense, numeric matrices}{dtrMatrix.Rdash.class}
\aliasA{coerce,dgeMatrix,dtrMatrix-method}{dtrMatrix-class}{coerce,dgeMatrix,dtrMatrix.Rdash.method}
\aliasA{coerce,dtrMatrix,CsparseMatrix-method}{dtrMatrix-class}{coerce,dtrMatrix,CsparseMatrix.Rdash.method}
\aliasA{coerce,dtrMatrix,dtpMatrix-method}{dtrMatrix-class}{coerce,dtrMatrix,dtpMatrix.Rdash.method}
\aliasA{coerce,dtrMatrix,ltrMatrix-method}{dtrMatrix-class}{coerce,dtrMatrix,ltrMatrix.Rdash.method}
\aliasA{coerce,dtrMatrix,matrix-method}{dtrMatrix-class}{coerce,dtrMatrix,matrix.Rdash.method}
\aliasA{coerce,dtrMatrix,sparseMatrix-method}{dtrMatrix-class}{coerce,dtrMatrix,sparseMatrix.Rdash.method}
\aliasA{coerce,matrix,dtrMatrix-method}{dtrMatrix-class}{coerce,matrix,dtrMatrix.Rdash.method}
\aliasA{crossprod,dtrMatrix,missing-method}{dtrMatrix-class}{crossprod,dtrMatrix,missing.Rdash.method}
\aliasA{determinant,dtrMatrix,logical-method}{dtrMatrix-class}{determinant,dtrMatrix,logical.Rdash.method}
\aliasA{determinant,dtrMatrix,missing-method}{dtrMatrix-class}{determinant,dtrMatrix,missing.Rdash.method}
\aliasA{diag,dtrMatrix-method}{dtrMatrix-class}{diag,dtrMatrix.Rdash.method}
\aliasA{norm,dtrMatrix,character-method}{dtrMatrix-class}{norm,dtrMatrix,character.Rdash.method}
\aliasA{norm,dtrMatrix,missing-method}{dtrMatrix-class}{norm,dtrMatrix,missing.Rdash.method}
\aliasA{rcond,dtrMatrix,character-method}{dtrMatrix-class}{rcond,dtrMatrix,character.Rdash.method}
\aliasA{rcond,dtrMatrix,missing-method}{dtrMatrix-class}{rcond,dtrMatrix,missing.Rdash.method}
\aliasA{show,dtrMatrix-method}{dtrMatrix-class}{show,dtrMatrix.Rdash.method}
\aliasA{solve,dtrMatrix,ddenseMatrix-method}{dtrMatrix-class}{solve,dtrMatrix,ddenseMatrix.Rdash.method}
\aliasA{solve,dtrMatrix,matrix-method}{dtrMatrix-class}{solve,dtrMatrix,matrix.Rdash.method}
\aliasA{solve,dtrMatrix,missing-method}{dtrMatrix-class}{solve,dtrMatrix,missing.Rdash.method}
\aliasA{t,dtrMatrix-method}{dtrMatrix-class}{t,dtrMatrix.Rdash.method}
\aliasA{\%*\%,ddenseMatrix,dtrMatrix-method}{dtrMatrix-class}{.Rpcent.*.Rpcent.,ddenseMatrix,dtrMatrix.Rdash.method}
\aliasA{\%*\%,dtrMatrix,ddenseMatrix-method}{dtrMatrix-class}{.Rpcent.*.Rpcent.,dtrMatrix,ddenseMatrix.Rdash.method}
\aliasA{\%*\%,dtrMatrix,dtrMatrix-method}{dtrMatrix-class}{.Rpcent.*.Rpcent.,dtrMatrix,dtrMatrix.Rdash.method}
\aliasA{\%*\%,dtrMatrix,matrix-method}{dtrMatrix-class}{.Rpcent.*.Rpcent.,dtrMatrix,matrix.Rdash.method}
\aliasA{\%*\%,matrix,dtrMatrix-method}{dtrMatrix-class}{.Rpcent.*.Rpcent.,matrix,dtrMatrix.Rdash.method}
\keyword{classes}{dtrMatrix-class}
\begin{Description}\relax
The \code{"dtrMatrix"} class is the class of triangular, dense,
numeric matrices in nonpacked storage.  The \code{"dtpMatrix"} class
is the same except in packed storage.
\end{Description}
\begin{Section}{Objects from the Class}
Objects can be created by calls of the form \code{new("dtrMatrix", ...)}.
\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.
\item[\code{Dim}:] Object of class \code{"integer"}. The dimensions
of the matrix which must be a two-element vector of non-negative
integers.
}
\end{Section}
\begin{Section}{Extends}
Class \code{"ddenseMatrix"}, directly.
Class \code{"triangularMatrix"}, directly.
Class \code{"Matrix"} and others, by class \code{"ddenseMatrix"}.
\end{Section}
\begin{Section}{Methods}
\describe{
\item[\%*\%] \code{signature(x = "dtrMatrix", y = "matrix")} and other
signatures (use \code{showMethods("\%*\%", class="dtrMatrix")}):
matrix multiplication.
\item[coerce] \code{signature(from = "dgeMatrix", to = "dtrMatrix")}
\item[coerce] \code{signature(from = "dtrMatrix", to = "matrix")}
\item[coerce] \code{signature(from = "dtrMatrix", to = "ltrMatrix")}
\item[coerce] \code{signature(from = "dtrMatrix", to = "matrix")}
\item[coerce] \code{signature(from = "matrix",    to = "dtrMatrix")}

\item[norm] \code{signature(x = "dtrMatrix", type = "character")}
\item[rcond] \code{signature(x = "dtrMatrix", norm = "character")}
\item[solve] \code{signature(a = "dtrMatrix", b = "missing")}
\item[solve] \code{signature(a = "dtrMatrix", b = "matrix")}
}
\end{Section}
\begin{SeeAlso}\relax
Classes \code{\LinkA{ddenseMatrix}{ddenseMatrix.Rdash.class}}, \code{\LinkA{dtpMatrix}{dtpMatrix.Rdash.class}},
\code{\LinkA{triangularMatrix}{triangularMatrix.Rdash.class}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
(m <- rbind(2:3, 0:-1))
(M <- as(m, "dgeMatrix"))

(T <- as(M, "dtrMatrix")) ## upper triangular is default
(T2 <- as(t(M), "dtrMatrix"))
stopifnot(T@uplo == "U", T2@uplo == "L", identical(T2, t(T)))
\end{ExampleCode}
\end{Examples}

