The "TsparseMatrix" class is the virtual class of all sparse matrices coded in triplet form. Since it is a virtual class, no objects may be created from it. See showClass("TsparseMatrix") for its subclasses.

Slots

Dim, Dimnames:

from the "Matrix" class,

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). For numeric Tsparse matrices, (i,j) pairs can occur more than once, see dgTMatrix.

Extends

Class "sparseMatrix", directly. Class "Matrix", by class "sparseMatrix".

Methods

Extraction ("[") methods, see [-methods.

Note

Most operations with sparse matrices are performed using the compressed, column-oriented or CsparseMatrix representation. The triplet representation is convenient for creating a sparse matrix or for reading and writing such matrices. Once it is created, however, the matrix is generally coerced to a CsparseMatrix for further operations.

Note that all new(.), spMatrix and sparseMatrix(*, repr="T") constructors for "TsparseMatrix" classes implicitly add (i.e., “sum up”) \(x_k\)'s that belong to identical \((i_k, j_k)\) pairs, see, the example below, or also "dgTMatrix".

For convenience, methods for some operations such as %*% and crossprod are defined for TsparseMatrix objects. These methods simply coerce the TsparseMatrix object to a CsparseMatrix object then perform the operation.

See also

its superclass, sparseMatrix, and the dgTMatrix class, for the links to other classes.

Examples

showClass("TsparseMatrix")
#> Virtual Class "TsparseMatrix" [package "Matrix"]
#> 
#> Slots:
#>                                           
#> Name:         i        j      Dim Dimnames
#> Class:  integer  integer  integer     list
#> 
#> Extends: 
#> Class "sparseMatrix", directly
#> Class "Matrix", by class "sparseMatrix", distance 2
#> 
#> Known Subclasses: "ngTMatrix", "nsTMatrix", "ntTMatrix", "lgTMatrix", "lsTMatrix", "ltTMatrix", 
#> "dgTMatrix", "dsTMatrix", "dtTMatrix"
## or just the subclasses' names
names(getClass("TsparseMatrix")@subclasses)
#> [1] "ngTMatrix" "nsTMatrix" "ntTMatrix" "lgTMatrix" "lsTMatrix" "ltTMatrix"
#> [7] "dgTMatrix" "dsTMatrix" "dtTMatrix"

T3 <- spMatrix(3,4, i=c(1,3:1), j=c(2,4:2), x=1:4)
T3 # only 3 non-zero entries, 5 = 1+4 !
#> 3 x 4 sparse Matrix of class "dgTMatrix"
#>             
#> [1,] . 5 . .
#> [2,] . . 3 .
#> [3,] . . . 2