TsparseMatrix-class.RdThe "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.
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.
Class "sparseMatrix", directly.
Class "Matrix", by class "sparseMatrix".
Extraction ("[") methods, see
[-methods.
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.
its superclass, sparseMatrix, and the
dgTMatrix class, for the links to other classes.
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