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 automatically via e.g.,
as(*, "symmetricMatrix")
, or (for dsCMatrix
) also
from Matrix(.)
.
Creation “from scratch” most efficiently happens via
sparseMatrix(*, symmetric=TRUE)
.
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"
:) aninteger
vector for providing pointers, one for each column, see the detailed description inCsparseMatrix
.j
:(only in class
"dsTMatrix"
:) Object of class"integer"
of length nnZ (asi
). 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 = "....")
:x <- solve(a,b)
solvesA x = b
forx
; seesolve-methods
.- chol
signature(x = "dsCMatrix", pivot = "logical")
: Returns (and stores) the Cholesky decomposition ofx
, seechol
.- Cholesky
signature(A = "dsCMatrix",...)
: Computes more flexibly Cholesky decompositions, seeCholesky
.- determinant
signature(x = "dsCMatrix", logarithm = "missing")
: Evaluate the determinant ofx
on the logarithm scale. This creates and stores the Cholesky factorization.- determinant
signature(x = "dsCMatrix", logarithm = "logical")
: Evaluate the determinant ofx
on the logarithm scale or not, according to thelogarithm
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., theuplo
slot is swapped, and the row and column indices are interchanged.- t
signature(x = "dsTMatrix")
: Transpose. Theuplo
slot is swapped from"U"
to"L"
or vice versa, as for a"dsCMatrix"
, see above.
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)
mT <- as(as(mm, "generalMatrix"), "TsparseMatrix")
## Either
(symM <- as(mT, "symmetricMatrix")) # dsT
(symC <- as(symM, "CsparseMatrix")) # dsC
## or
sT <- Matrix(mT, sparse=TRUE, forceCheck=TRUE) # dsT
sym2 <- as(symC, "TsparseMatrix")
## --> the same as 'symM', a "dsTMatrix"