R: howmany

howmany {memuse} | R Documentation

## howmany

### Description

How many rows/columns of a matrix can be stored for a given memory size.

### Usage

    howmany(
      x,
      nrow,
      ncol,
      out.type = "full",
      representation = "dense",
      ...,
      sparsity = 0.05,
      type = "double",
      intsize = 4,
      names = "short"
    )

### Arguments

`x` | The size of a matrix stored as a `memuse` class object.
`nrow, ncol` | Number of (global) rows/columns of the matrix.
`out.type` | If the full dimensions or a reduced representation should be returned (see Details section below). Options are "full" and "approximate" (with partial matching).
`representation` | The kind of storage the object would be in, i.e. "dense" or "sparse".
`...` | Additional arguments.
`sparsity` | The proportion of sparsity of the matrix if `representation="sparse"`
`type` | "double" or "int"; the storage type of the data matrix. If you don't know the type, it is probably stored as a double, so the default value will suffice.
`intsize` | The size (in bytes) of an integer. Default is 4, but this is platform dependent.
`names` | string; control for whether the unit names should be printed out or their abbreviation should be used. Options are "long" and "short", respectively. Case is ignored.

### Details

This function provides the maximum dimension of an unallocated, dense, in-core, numeric matrix of known byte size. For example, it will show the largest possible square matrix which is 16 GiB (46340x46340).

If the both `nrow` and `ncol` are missing (blank inputs), then the largest square matrix will be returned. If one of `nrow` or `ncol` is supplied and the other is missing, then the non-supplied argument (`nrow` or `ncol`) will be determined according to the supplied one. If both arguments are supplied, an error is produced — you probably meant to use `howmany()`.

If `out.type="approximate"`, then a reduced representation of the dimensions will be returned. For example, the reduced representation of the number 1234567890 would be "1.2b", since this number is basically 1.2 billion. Not super useful, but kind of cute, and it arguably enhances readability when fishing for a ballpark figure.

### Value

A numeric pair, the dimensions of a matrix.

### See Also

`howbig`

### Examples

    ## Not run:
    x <- mu(1, "gib")

    # largest square matrix that's 1 GiB
    howmany(x)
    # same, but ballpark figure
    howmany(mu(1, "gib"), out.type="approx")

    ## End(Not run)

[Package memuse version 4.1-0 Index]