R: Sparse matrices in triplet form

dgTMatrix-class {Matrix} | R Documentation

## 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")`.

### Slots

`i`:

  Object of class `"integer"` - the row indices of non-zero entries in 0-base, i.e., must be in `0:(nrow(.)-1)`.

`j`:

  Object of class `"integer"` - the column indices of non-zero entries. Must be the same length as slot `i` and 0-based as well, i.e., in `0:(ncol(.)-1)`.

`x`:

  Object of class `"numeric"` - the (non-zero) entry at position `(i,j)`. Must be the same length as slot `i`. If an index pair occurs more than once the corresponding values of slot `x` 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).

crossprod

  `signature(x = "dgTMatrix", y = "missing")` returns `t(x) %*% x` as an `dsCMatrix` object.

crossprod

  `signature(x = "dgTMatrix", y = "matrix")`: ...

crossprod

  `signature(x = "dgTMatrix", y = "numeric")`: ...

image

  `signature(x = "dgTMatrix")`: plots an image of `x` using the `levelplot` function

t

  `signature(x = "dgTMatrix")`: returns the transpose of `x`

### Note

Triplet matrices are a convenient form in which to construct sparse matrices after which they can be coerced to `dgCMatrix` objects.

### See Also

Class `dgCMatrix` or the superclasses `dsparseMatrix` and `TsparseMatrix`;

### 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

[Package Matrix version 1.0-6 Index]