dsyMatrix-class | R Documentation |
The "dsyMatrix"
class is the class of symmetric, dense matrices
in non-packed storage and
"dspMatrix"
is the class of symmetric dense matrices in
packed storage, see pack()
. Only the upper
triangle or the lower triangle is stored.
Objects can be created by calls of the form new("dsyMatrix",
...)
or new("dspMatrix", ...)
, respectively.
uplo
:Object of class "character"
. Must be
either "U", for upper triangular, and "L", for lower triangular.
x
:Object of class "numeric"
. The numeric
values that constitute the matrix, stored in column-major order.
Dim
,Dimnames
:The dimension (a length-2
"integer"
) and corresponding names (or NULL
), see the
Matrix
.
factors
:Object of class "list"
. A named
list of factorizations that have been computed for the matrix.
"dsyMatrix"
extends class "dgeMatrix"
, directly, whereas
"dspMatrix"
extends class "ddenseMatrix"
, directly.
Both extend class "symmetricMatrix"
, directly,
and class "Matrix"
and others, indirectly, use
showClass("dsyMatrix")
, e.g., for details.
signature(x = "dspMatrix", type = "character")
, or
x = "dsyMatrix"
or type = "missing"
: Computes the
matrix norm of the desired type, see, norm
.
signature(x = "dspMatrix", type = "character")
, or
x = "dsyMatrix"
or type = "missing"
: Computes the
reciprocal condition number, rcond()
.
signature(a = "dspMatrix", b = "....")
, and
signature(a = "dsyMatrix", b = "....")
: x
<- solve(a,b)
solves A x = b
for x
; see
solve-methods
.
signature(x = "dsyMatrix")
: Transpose; swaps from
upper triangular to lower triangular storage, i.e., the uplo slot
from "U"
to "L"
or vice versa, the same as for all
symmetric matrices.
The positive (Semi-)definite dense (packed or non-packed
numeric matrix classes dpoMatrix
,
dppMatrix
and corMatrix
,
Classes dgeMatrix
and Matrix
;
solve
, norm
, rcond
,
t
## Only upper triangular part matters (when uplo == "U" as per default)
(sy2 <- new("dsyMatrix", Dim = as.integer(c(2,2)), x = c(14, NA,32,77)))
str(t(sy2)) # uplo = "L", and the lower tri. (i.e. NA is replaced).
chol(sy2) #-> "Cholesky" matrix
(sp2 <- pack(sy2)) # a "dspMatrix"
## Coercing to dpoMatrix gives invalid object:
sy3 <- new("dsyMatrix", Dim = as.integer(c(2,2)), x = c(14, -1, 2, -7))
try(as(sy3, "dpoMatrix")) # -> error: not positive definite
## 4x4 example
m <- matrix(0,4,4); m[upper.tri(m)] <- 1:6
(sym <- m+t(m)+diag(11:14, 4))
(S1 <- pack(sym))
(S2 <- t(S1))
stopifnot(all(S1 == S2)) # equal "seen as matrix", but differ internally :
str(S1)
S2@x
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.