| dtCMatrix-class {Matrix} | R Documentation |
The "dtCMatrix" class is a class of triangular, sparse
matrices in the compressed, column-oriented format. In this
implementation the non-zero elements in the columns are sorted into
increasing row order. The "dtTMatrix" class is a class of
triangular, sparse matrices in triplet format.
Objects can be created by calls of the form new("dtCMatrix",
...) or calls of the form new("dtTMatrix", ...), but more
typically automatically via Matrix() or coercion such as
as(x, "dtCMatrix").
uplo:Object of class "character". Must be
either "U", for upper triangular, and "L", for lower triangular.
diag:Object of class "character". Must be
either "U", for unit triangular (diagonal is all ones), or
"N"; see triangularMatrix.
p:(only present in "dtCMatrix":) an
integer vector for providing pointers, one for each
column, see the detailed description in CsparseMatrix.
i:Object of class "integer" of length nnzero
(number of non-zero elements). These are the row numbers for
each non-zero element in the matrix.
j:Object of class "integer" of length nnzero
(number of non-zero elements). These are the column numbers for
each non-zero element in the matrix. (Only present in the
dtTMatrix class.)
x:Object of class "numeric" - the non-zero
elements of the matrix.
Dim,Dimnames:The dimension (a length-2
"integer") and corresponding names (or NULL),
inherited from the Matrix, see there.
Class "dgCMatrix", directly.
Class "triangularMatrix", directly.
Class "dMatrix", "sparseMatrix", and more by class
"dgCMatrix" etc, see the examples.
signature(from = "dtCMatrix", to = "dgTMatrix")
signature(from = "dtCMatrix", to = "dgeMatrix")
signature(from = "dtTMatrix", to = "dgeMatrix")
signature(from = "dtTMatrix", to = "dtrMatrix")
signature(from = "dtTMatrix", to = "matrix")
signature(a = "dtCMatrix", b = "matrix")
signature(a = "dtCMatrix", b = "dgeMatrix")
signature(a = "dtCMatrix", b = "missing")
signature(a = "dtCMatrix", b = "numeric")
signature(a = "dtCMatrix", b = "CsparseMatrix"):
fully sparse triangular solve, in traditional S/R\ aka
backsolve.
signature(x = "dtCMatrix"): returns the transpose of
x
signature(x = "dtTMatrix"): returns the transpose of
x
Classes dgCMatrix, dgTMatrix,
dgeMatrix, and dtrMatrix.
showClass("dtCMatrix")
showClass("dtTMatrix")
t1 <- new("dtTMatrix", x= c(3,7), i= 0:1, j=3:2, Dim= as.integer(c(4,4)))
t1
## from 0-diagonal to unit-diagonal {low-level step}:
tu <- t1 ; tu@diag <- "U"
tu
(cu <- as(tu, "dtCMatrix"))
str(cu)# only two entries in @i and @x
stopifnot(cu@i == 1:0,
all(2 * symmpart(cu) == Diagonal(4) + forceSymmetric(cu)))
t1[1,2:3] <- -1:-2
diag(t1) <- 10*c(1:2,3:2)
t1 # still triangular
(it1 <- solve(t1))
t1. <- solve(it1)
all(abs(t1 - t1.) < 10 * .Machine$double.eps)