CsparseMatrix-class {Matrix}R Documentation

Class "CsparseMatrix" of Sparse Matrices in Column-compressed Form

Description

The "CsparseMatrix" class is the virtual class of all sparse matrices coded in sorted compressed column-oriented form. Since it is a virtual class, no objects may be created from it. See showClass("CsparseMatrix") for its subclasses.

Slots

i:
Object of class "integer" of length nnzero (number of non-zero elements). These are the 0-based row numbers for each non-zero element in the matrix, i.e., i must be in 0:(nrow(.)-1)
.
p:
Object of class "integer" for providing pointers, one for each column, to the initial (zero-based) index of elements in the column. .@p is of length ncol(.) + 1, with p[1] == 0 and p[length(p)] == nnzero, such that in fact, diff(.@p) are the number of non-zero elements for each column.
Dim, Dimnames:
inherited from the superclass, see the sparseMatrix class.

Extends

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

Methods

Arith
signature(e1 = "CsparseMatrix", e2 = "numeric"): ...
Arith
signature(e1 = "numeric", e2 = "CsparseMatrix"): ...
Math
signature(x = "CsparseMatrix"): ...
band
signature(x = "CsparseMatrix"): ...
-
signature(e1 = "CsparseMatrix", e2 = "numeric"): ...
-
signature(e1 = "numeric", e2 = "CsparseMatrix"): ...
[<-
signature(x = "CsparseMatrix", i = "index", j = "missing", value = "replValue"): ...
[<-
signature(x = "CsparseMatrix", i = "index", j = "index", value = "replValue"): ...
[<-
signature(x = "CsparseMatrix", i = "missing", j = "index", value = "replValue"): ...
%*%
signature(x = "CsparseMatrix", y = "CsparseMatrix"): ...
%*%
signature(x = "CsparseMatrix", y = "denseMatrix"): ...
%*%
signature(x = "CsparseMatrix", y = "matrix"): ...
+
signature(e1 = "CsparseMatrix", e2 = "numeric"): ...
+
signature(e1 = "numeric", e2 = "CsparseMatrix"): ...
coerce
signature(from = "CsparseMatrix", to = "TsparseMatrix"): ...
coerce
signature(from = "CsparseMatrix", to = "denseMatrix"): ...
coerce
signature(from = "CsparseMatrix", to = "matrix"): ...
coerce
signature(from = "CsparseMatrix", to = "lsparseMatrix"): ...
coerce
signature(from = "CsparseMatrix", to = "nsparseMatrix"): ...
coerce
signature(from = "TsparseMatrix", to = "CsparseMatrix"): ...
coerce
signature(from = "denseMatrix", to = "CsparseMatrix"): ...
crossprod
signature(x = "CsparseMatrix", y = "CsparseMatrix"): ...
crossprod
signature(x = "CsparseMatrix", y = "missing"): ...
crossprod
signature(x = "CsparseMatrix", y = "dgeMatrix"): ...
crossprod
signature(x = "CsparseMatrix", y = "matrix"): ...
diag
signature(x = "CsparseMatrix"): ...
gamma
signature(x = "CsparseMatrix"): ...
lgamma
signature(x = "CsparseMatrix"): ...
log
signature(x = "CsparseMatrix"): ...
t
signature(x = "CsparseMatrix"): ...
tcrossprod
signature(x = "CsparseMatrix", y = "CsparseMatrix"): ...
tcrossprod
signature(x = "CsparseMatrix", y = "missing"): ...
tril
signature(x = "CsparseMatrix"): ...
triu
signature(x = "CsparseMatrix"): ...

Note

All classes extending CsparseMatrix have a common validity (see validObject) check function. That function additionally checks the i slot for each column to contain increasing row numbers.
In earlier versions of Matrix (<= 0.999375-16), validObject automatically re-sorted the entries when necessary, and hence new() calls with somewhat permuted i and x slots worked, as new(...) (with slot arguments) automatically checks the validity.

Now, you have to use sparseMatrix to achieve the same functionality or know how to use .validateCsparse() to do so.

See Also

colSums, kronecker, and other such methods with own help pages.

Further, the super class of CsparseMatrix, sparseMatrix, and, e.g., class dgCMatrix for the links to other classes.

Examples

getClass("CsparseMatrix")

## The common validity check function (based on C code):
getValidity(getClass("CsparseMatrix"))

## This behavior has been changed
# un-sorted i-slot on input is automatically "sorted" :
#M <- new("dgCMatrix", Dim = 2:3, p = as.integer(c(0,1,1,3)),
#         i = c(1L, 1:0), x= c(2,2,1))
#stopifnot(M@i == c(1L, 0:1), M@x == c(2,1,2))

[Package Matrix version 0.999375-29 Index]