Description Slots Extends Methods Validity and dimnames See Also Examples
The virtual class of symmetric matrices, "symmetricMatrix",
from the package Matrix contains numeric and logical, dense and
sparse matrices, e.g., see the examples.
The main use is in methods (and C functions) that can deal with all symmetric matrices.
uplo:Object of class "character". Must be
either "U", for upper triangular, and "L", for lower triangular.
Dim, Dimnames:The dimension (a length-2
"integer") and corresponding names (or NULL),
inherited from the Matrix, see there. See below,
about storing only one of the two Dimnames components.
factors:a list of matrix factorizations, also from the
Matrix class.
Class "Matrix", directly.
signature(from = "ddiMatrix", to =
"symmetricMatrix"): and many other coercion methods, some of
which are particularly optimized.
signature(object = "symmetricMatrix"):
returns symmetric dimnames, even when the
Dimnames slot only has row or column names. This allows to
save storage for large (typically sparse) symmetric matrices.
signature(object = "symmetricMatrix"):
returns TRUE trivially.
There's a C function symmetricMatrix_validate()
called by the internal validity checking functions, and also from
getValidity(getClass("symmetricMatrix")).
dimnamesThe validity checks do not require a symmetric Dimnames slot,
so it can be list(NULL, <character>), e.g., for efficiency.
However, dimnames() and other functions and methods
should behave as if the dimnames were symmetric, i.e., with both list
components identical.
isSymmetric which has efficient methods
(isSymmetric-methods) for the Matrix classes.
Classes triangularMatrix, and, e.g.,
dsyMatrix for numeric dense matrices, or
lsCMatrix for a logical sparse matrix class.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ## An example about the symmetric Dimnames:
sy <- sparseMatrix(i= c(2,4,3:5), j= c(4,7:5,5), x = 1:5, dims = c(7,7),
symmetric=TRUE, dimnames = list(NULL, letters[1:7]))
sy # shows symmetrical dimnames
sy@Dimnames # internally only one part is stored
dimnames(sy) # both parts - as sy *is* symmetrical
showClass("symmetricMatrix")
## The names of direct subclasses:
scl <- getClass("symmetricMatrix")@subclasses
directly <- sapply(lapply(scl, slot, "by"), length) == 0
names(scl)[directly]
## Methods -- applicaple to all subclasses above:
showMethods(classes = "symmetricMatrix")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.