dsCMatrix-class {Matrix} | R Documentation

## Numeric Symmetric Sparse (column compressed) Matrices

### Description

The `dsCMatrix` class is a class of symmetric, sparse numeric matrices in the compressed, column-oriented format. In this implementation the non-zero elements in the columns are sorted into increasing row order.
The `dsTMatrix` class is the class of symmetric, sparse numeric matrices in triplet format.

### Objects from the Class

Objects can be created by calls of the form `new("dsCMatrix", ...)` or `new("dsTMatrix", ...)` or (for `dsCMatrix`) also automatically from `Matrix(.)`.

### Slots

`uplo`:
  A character object indicating if the upper triangle (`"U"`) or the lower triangle (`"L"`) is stored.
`i`:
  Object of class `"integer"` of length nnZ (half number of non-zero elements). These are the row numbers for each non-zero element in the lower triangle of the matrix.
`p`:
  (only in class `"dsCMatrix"`:) Object of class `"integer"` of pointers, one for each column, to the initial (zero-based) index of elements in the column.
`j`:
  (only in class `"dsTMatrix"`:) Object of class `"integer"` of length nnZ (as `i`). These are the column numbers for each non-zero element in the lower triangle of the matrix.
`x`:
  Object of class `"numeric"` of length nnZ – the non-zero elements of the matrix (to be duplicated for full matrix).
`factors`:
  Object of class `"list"` - a list of factorizations of the matrix.
`Dim`:
  Object of class `"integer"` - the dimensions of the matrix - must be an integer vector with exactly two non-negative values.

### Extends

Both classes extend classes and `symmetricMatrix` `dsparseMatrix` directly; `dsCMatrix` further directly extends `CsparseMatrix`, where `dsTMatrix` does `TsparseMatrix`.

### Methods

solve
  `signature(a = "dsCMatrix", b = "dsparseMatrix")`: Solve a linear system of equations defined by `x` using a Cholesky decomposition. All steps will be based on sparse representations.
solve
  `signature(a = "dsCMatrix", b = "matrix")`: Solve a linear system of equations defined by `x` using a Cholesky decomposition.
chol
  `signature(x = "dsCMatrix", pivot = "logical")`: Returns (and stores) the Cholesky decomposition of `x`, see `chol`.
Cholesky
  `signature(A = "dsCMatrix",...)`: Computes more flexibly Cholesky decompositions, see `Cholesky`.
determinant
  `signature(x = "dsCMatrix", logarithm = "missing")`: Evaluate the determinant of `x` on the logarithm scale. This creates and stores the Cholesky factorization.
determinant
  `signature(x = "dsCMatrix", logarithm = "logical")`: Evaluate the determinant of `x` on the logarithm scale or not, according to the `logarithm` argument. This creates and stores the Cholesky factorization.
t
  `signature(x = "dsCMatrix")`: Transpose. As for all symmetric matrices, a matrix for which the upper triangle is stored produces a matrix for which the lower triangle is stored and vice versa, i.e., the `uplo` slot is swapped, and the row and column indices are interchanged.
t
  `signature(x = "dsTMatrix")`: Transpose. The `uplo` slot is swapped from `"U"` to `"L"` or vice versa, as for a `"dsCMatrix"`, see above.
coerce
  `signature(from = "dsCMatrix", to = "dgTMatrix")`
coerce
  `signature(from = "dsCMatrix", to = "dgeMatrix")`
coerce
  `signature(from = "dsCMatrix", to = "matrix")`
coerce
  `signature(from = "dsTMatrix", to = "dgeMatrix")`
coerce
  `signature(from = "dsTMatrix", to = "dsCMatrix")`
coerce
  `signature(from = "dsTMatrix", to = "dsyMatrix")`
coerce
  `signature(from = "dsTMatrix", to = "matrix")`

### See Also

Classes `dgCMatrix`, `dgTMatrix`, `dgeMatrix` and those mentioned above.

### Examples

    mm <- Matrix(toeplitz(c(10, 0, 1, 0, 3)), sparse = TRUE)
    mm # automatically dsCMatrix
    str(mm)

    ## how would we go from a manually constructed Tsparse* :
    mT <- as(mm, "dgTMatrix")

    ## Either
    (symM <- as(mT, "symmetricMatrix"))# dsT
    (symC <- as(symM, "CsparseMatrix"))# dsC
    ## or
    sC <- Matrix(mT, sparse=TRUE, forceCheck=TRUE)

    sym2 <- as(symC, "TsparseMatrix")

[Package Matrix version 0.999375-33 Index]