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 in0:(nrow(.)-1)
.p
:integer
vector for providing pointers, one for each column, to the initial (zero-based) index of elements in the column..@p
is of lengthncol(.) + 1
, withp[1] == 0
andp[length(p)] == nnzero
, such that in fact,diff(.@p)
are the number of non-zero elements for each column.In other words,
m@p[1:ncol(m)]
contains the indices of those elements inm@x
that are the first elements in the respective column ofm
.Dim
,Dimnames
:inherited from the superclass, see the
sparseMatrix
class.
Extends
Class "sparseMatrix"
, directly.
Class "Matrix"
, by class "sparseMatrix"
.
Methods
matrix products %*%
,
crossprod()
and tcrossprod()
,
several solve
methods,
and other matrix methods available:
- 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(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 = "TsparseMatrix", to = "CsparseMatrix")
: ...- coerce
signature(from = "denseMatrix", to = "CsparseMatrix")
: ...- diag
signature(x = "CsparseMatrix")
: ...- gamma
signature(x = "CsparseMatrix")
: ...- lgamma
signature(x = "CsparseMatrix")
: ...- log
signature(x = "CsparseMatrix")
: ...- t
signature(x = "CsparseMatrix")
: ...- 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"))