dgTMatrix-class
Sparse matrices in triplet form
Description
The "dgTMatrix"
class is the class of sparse matrices stored as (possibly redundant) triplets. The internal representation is not at all unique, contrary to the one for class dgCMatrix
.
Objects from the Class
Objects can be created by calls of the form new("dgTMatrix",
...)
, but more typically via as(*, "dgTMatrix")
, spMatrix()
, or sparseMatrix(*, repr = "T")
.
Slots
-
i
: -
integer
row indices of non-zero entries in 0-base, i.e., must be in0:(nrow(.)-1)
. -
j
: -
integer
column indices of non-zero entries. Must be the same length as sloti
and 0-based as well, i.e., in0:(ncol(.)-1)
. -
x
: -
numeric
vector - the (non-zero) entry at position(i,j)
. Must be the same length as sloti
. If an index pair occurs more than once, the corresponding values of slotx
are added to form the element of the matrix. -
Dim
: -
Object of class
"integer"
of length 2 - the dimensions of the matrix.
Methods
- +
-
signature(e1 = "dgTMatrix", e2 = "dgTMatrix")
- coerce
-
signature(from = "dgTMatrix", to = "dgCMatrix")
- coerce
-
signature(from = "dgTMatrix", to = "dgeMatrix")
- coerce
-
signature(from = "dgTMatrix", to = "matrix")
, and typically coercion methods for more specific signatures, we are not mentioning here.Note that these are not guaranteed to continue to exist, but rather you should use calls like
as(x, "CsparseMatrix")
,as(x, "generalMatrix")
,as(x, "dMatrix")
, i.e. coercion to higher level virtual classes. - coerce
-
signature(from = "matrix", to = "dgTMatrix")
, (direct coercion from tradition matrix). - image
-
signature(x = "dgTMatrix")
: plots an image ofx
using thelevelplot
function - t
-
signature(x = "dgTMatrix")
: returns the transpose ofx
Note
Triplet matrices are a convenient form in which to construct sparse matrices after which they can be coerced to dgCMatrix
objects.
Note that both new(.)
and spMatrix
constructors for "dgTMatrix"
(and other "TsparseMatrix"
classes) implicitly add x_k's that belong to identical (i_k, j_k) pairs.
However this means that a matrix typically can be stored in more than one possible "TsparseMatrix"
representations. Use uniqTsparse()
in order to ensure uniqueness of the internal representation of such a matrix.
See Also
Class dgCMatrix
or the superclasses dsparseMatrix
and TsparseMatrix
; uniqTsparse
.
Examples
m <- Matrix(0+1:28, nrow = 4) m[-3,c(2,4:5,7)] <- m[ 3, 1:4] <- m[1:3, 6] <- 0 (mT <- as(m, "dgTMatrix")) str(mT) mT[1,] mT[4, drop = FALSE] stopifnot(identical(mT[lower.tri(mT)], m [lower.tri(m) ])) mT[lower.tri(mT,diag=TRUE)] <- 0 mT ## Triplet representation with repeated (i,j) entries ## *adds* the corresponding x's: T2 <- new("dgTMatrix", i = as.integer(c(1,1,0,3,3)), j = as.integer(c(2,2,4,0,0)), x=10*1:5, Dim=4:5) str(T2) # contains (i,j,x) slots exactly as above, but T2 ## has only three non-zero entries, as for repeated (i,j)'s, ## the corresponding x's are "implicitly" added stopifnot(nnzero(T2) == 3)
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.