dsRMatrix-class: Symmetric Sparse Compressed Row Matrices

dsRMatrix-classR Documentation

Symmetric Sparse Compressed Row Matrices

Description

The dsRMatrix class is a class of symmetric, sparse matrices in the compressed, row-oriented format. In this implementation the non-zero elements in the rows are sorted into increasing column order.

Objects from the Class

These "..RMatrix" classes are currently still mostly unimplemented!

Objects can be created by calls of the form new("dsRMatrix", ...).

Slots

uplo:

A character object indicating if the upper triangle ("U") or the lower triangle ("L") is stored. At present only the lower triangle form is allowed.

j:

Object of class "integer" of length nnzero (number of non-zero elements). These are the row numbers for each non-zero element in the matrix.

p:

Object of class "integer" of pointers, one for each row, to the initial (zero-based) index of elements in the row.

factors:

Object of class "list" - a list of factorizations of the matrix.

x:

Object of class "numeric" - the non-zero elements of the matrix.

Dim:

Object of class "integer" - the dimensions of the matrix - must be an integer vector with exactly two non-negative values.

Dimnames:

List of length two, see Matrix.

Extends

Classes dsparseMatrix, symmetricMatrix, and RsparseMatrix, directly.

Class "dMatrix", by class "dsparseMatrix"; class "sparseMatrix", by classes "dsparseMatrix" and "RsparseMatrix".

Methods

forceSymmetric

signature(x = "dsRMatrix", uplo = "missing"): a trivial method just returning x

forceSymmetric

signature(x = "dsRMatrix", uplo = "character"): if uplo == x@uplo, this trivially returns x; otherwise t(x).

See Also

the classes dgCMatrix, dgTMatrix, and dgeMatrix.

Examples


(m0 <- new("dsRMatrix"))
m2 <- new("dsRMatrix", Dim = c(2L,2L),
          x = c(3,1), j = c(1L,1L), p = 0:2)
m2
stopifnot(colSums(as(m2, "TsparseMatrix")) == 3:4)
str(m2)
(ds2 <- forceSymmetric(diag(2))) # dsy*
dR <- as(ds2, "RsparseMatrix")
dR # dsRMatrix

Matrix documentation built on Oct. 19, 2024, 1:08 a.m.