# dsyMatrix-class: Symmetric Dense (Packed or Unpacked) Numeric Matrices In Matrix: Sparse and Dense Matrix Classes and Methods

 dsyMatrix-class R Documentation

## Symmetric Dense (Packed or Unpacked) Numeric Matrices

### Description

• 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 from the Class

Objects can be created by calls of the form ```new("dsyMatrix", ...)``` or `new("dspMatrix", ...)`, respectively.

### Slots

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

### Extends

`"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.

### Methods

norm

`signature(x = "dspMatrix", type = "character")`, or `x = "dsyMatrix"` or `type = "missing"`: Computes the matrix norm of the desired type, see, `norm`.

rcond

`signature(x = "dspMatrix", type = "character")`, or `x = "dsyMatrix"` or `type = "missing"`: Computes the reciprocal condition number, `rcond()`.

solve

`signature(a = "dspMatrix", b = "....")`, and

solve

`signature(a = "dsyMatrix", b = "....")`: ```x <- solve(a,b)``` solves `A x = b` for `x`; see `solve-methods`.

t

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

### Examples

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

Matrix documentation built on Nov. 14, 2023, 5:06 p.m.