# ddiMatrix-class: Class "ddiMatrix" of Diagonal Numeric Matrices In Matrix: Sparse and Dense Matrix Classes and Methods

 ddiMatrix-class R Documentation

## Class "ddiMatrix" of Diagonal Numeric Matrices

### Description

The class `"ddiMatrix"` of numerical diagonal matrices. Note that diagonal matrices now extend `sparseMatrix`, whereas they did extend dense matrices earlier.

### Objects from the Class

Objects can be created by calls of the form `new("ddiMatrix", ...)` but typically rather via `Diagonal`.

### Slots

`x`:

numeric vector. For an n * n matrix, the `x` slot is of length n or `0`, depending on the `diag` slot:

`diag`:

`"character"` string, either `"U"` or `"N"` where `"U"` denotes unit-diagonal, i.e., identity matrices.

`Dim`,`Dimnames`:

matrix dimension and `dimnames`, see the `Matrix` class description.

### Extends

Class `"diagonalMatrix"`, directly. Class `"dMatrix"`, directly. Class `"sparseMatrix"`, indirectly, see `showClass("ddiMatrix")`.

### Methods

%*%

`signature(x = "ddiMatrix", y = "ddiMatrix")`: ...

Class `diagonalMatrix` and function `Diagonal`.

### Examples

```(d2 <- Diagonal(x = c(10,1)))
str(d2)
## slightly larger in internal size:
str(as(d2, "sparseMatrix"))

M <- Matrix(cbind(1,2:4))
M %*% d2 #> `fast' multiplication

chol(d2) # trivial
stopifnot(is(cd2 <- chol(d2), "ddiMatrix"),
all.equal(cd2@x, c(sqrt(10),1)))
```

Matrix documentation built on Sept. 13, 2022, 9:05 a.m.