dMatrix-class {Matrix} | R Documentation |

## (Virtual) Class "dMatrix" of "double" Matrices

### Description

The `dMatrix`

class is a virtual class contained by all actual
classes of numeric matrices in the Matrix package. Similarly,
all the actual classes of logical matrices inherit from the
`lMatrix`

class.

### Slots

Common to *all* matrix object in the package:

`Dim`

:Object of class `"integer"`

- the dimensions
of the matrix - must be an integer vector with exactly two
non-negative values.

`Dimnames`

:list of length two; each component
containing NULL or a `character`

vector length
equal the corresponding `Dim`

element.

### Methods

There are (relatively simple) group methods (see, e.g., `Arith`

)

- Arith
`signature(e1 = "dMatrix", e2 = "dMatrix")`

: ...

- Arith
`signature(e1 = "dMatrix", e2 = "numeric")`

: ...

- Arith
`signature(e1 = "numeric", e2 = "dMatrix")`

: ...

- Math
`signature(x = "dMatrix")`

: ...

- Math2
`signature(x = "dMatrix", digits = "numeric")`

:
this group contains `round()`

and `signif()`

.

- Compare
`signature(e1 = "numeric", e2 = "dMatrix")`

: ...

- Compare
`signature(e1 = "dMatrix", e2 = "numeric")`

: ...

- Compare
`signature(e1 = "dMatrix", e2 = "dMatrix")`

: ...

- Summary
`signature(x = "dMatrix")`

: The `"Summary"`

group contains the seven functions
`max()`

, `min()`

, `range()`

,
`prod()`

, `sum()`

,
`any()`

, and `all()`

.

The following methods are also defined for all double matrices:

- coerce
`signature(from = "dMatrix", to = "matrix")`

: ...

- expm
`signature(x = "dMatrix")`

: computes the
*“Matrix Exponential”*, see `expm`

.

- zapsmall
`signature(x = "dMatrix")`

: ...

The following methods are defined for all logical matrices:

- which
`signature(x = "lsparseMatrix")`

and many other
subclasses of `"lMatrix"`

: as the base function
`which(x, arr.ind)`

returns the indices of the
`TRUE`

entries in `x`

; if `arr.ind`

is true,
as a 2-column matrix of row and column indices. Since Matrix
version 1.2-9, if `useNames`

is true, as by default, with
`dimnames`

, the same as `base::which`

.

### See Also

The nonzero-pattern matrix class `nMatrix`

, which
can be used to store non-`NA`

`logical`

matrices even more compactly.

The numeric matrix classes `dgeMatrix`

,
`dgCMatrix`

, and `Matrix`

.

`drop0(x, tol=1e-10)`

is sometimes preferable to (and
more efficient than) `zapsmall(x, digits=10)`

.

### Examples

showClass("dMatrix")
set.seed(101)
round(Matrix(rnorm(28), 4,7), 2)
M <- Matrix(rlnorm(56, sd=10), 4,14)
(M. <- zapsmall(M))
table(as.logical(M. == 0))

[Package

*Matrix* version 1.2-9

Index]