triangularMatrix-class {Matrix} | R Documentation |
Virtual Class of Triangular Matrices in Package Matrix
Description
The virtual class of triangular matrices,"triangularMatrix"
,
the package Matrix contains square (nrow ==
ncol
) numeric and logical, dense and sparse matrices, e.g.,
see the examples.
A main use of the virtual class is in methods (and C functions) that
can deal with all triangular matrices.
Slots
uplo
:String (of class
"character"
). Must be either "U", for upper triangular, and "L", for lower triangular.diag
:String (of class
"character"
). Must be either"U"
, for unit triangular (diagonal is all ones), or"N"
for non-unit. The diagonal elements are not accessed internally whendiag
is"U"
. FordenseMatrix
classes, they need to be allocated though, such that the length of thex
slot does not depend ondiag
.Dim
,Dimnames
:The dimension (a length-2
"integer"
) and corresponding names (orNULL
), inherited from theMatrix
, see there.
Extends
Class "Matrix"
, directly.
Methods
There's a C function triangularMatrix_validity()
called by the internal validity checking functions.
Currently, Schur
, isSymmetric
and
as()
(i.e. coerce
) have methods with
triangularMatrix
in their signature.
See Also
isTriangular()
for testing any matrix for triangularity;
classes symmetricMatrix
, and, e.g.,
dtrMatrix
for numeric dense matrices, or
ltCMatrix
for a logical sparse matrix
subclass of "triangularMatrix"
.
Examples
showClass("triangularMatrix")
## The names of direct subclasses:
scl <- getClass("triangularMatrix")@subclasses
directly <- sapply(lapply(scl, slot, "by"), length) == 0
names(scl)[directly]
(m <- matrix(c(5,1,0,3), 2))
as(m, "triangularMatrix")