CsparseMatrix-class function

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

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

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.

class

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:: integer vector 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.

     In other words, `m@p[1:ncol(m)]` contains the indices of those elements in `m@x` that are the first elements in the respective column of `m`.
    
  • 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(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"))
  • Maintainer: Martin Maechler
  • License: GPL (>= 2) | file LICENCE
  • Last published: 2025-03-11