dsRMatrix-class {Matrix} | R 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 `RsparseMatrix`, `dsparseMatrix` and `symmetricMatrix`, directly.

Class `"dMatrix"`, by class `"dsparseMatrix"`, class `"sparseMatrix"`, by class `"dsparseMatrix"` or `"RsparseMatrix"`; class `"compMatrix"` by class `"symmetricMatrix"` and of course, class `"Matrix"`.

### 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)`.

coerce

  `signature(from = "dsCMatrix", to = "dsRMatrix")`

### 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

[Package Matrix version 1.2-6 Index]