| 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:"character". Must be
either "U", for upper triangular, and "L", for lower triangular.diag:"character". Must be
either "U", for unit triangular (diagonal is all ones), or
"N"; see triangularMatrix.p:"integer" of pointers, one
for each column, to the initial (zero-based) index of elements in
the column. (Only present in the dtCMatrix class.)i:"integer" of length nnzero
(number of non-zero elements). These are the row numbers for
each non-zero element in the matrix.j:"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:"numeric" - the non-zero
elements of the matrix.Dim,Dimnames:"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
xsignature(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)