colLogSumExps: Accurately computes the logarithm of the sum of exponentials...

Description Usage Arguments Value Benchmarking Author(s) See Also Examples

Description

Accurately computes the logarithm of the sum of exponentials across rows or columns.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
colLogSumExps(lx, rows = NULL, cols = NULL, na.rm = FALSE, dim. = dim(lx), ...)

rowLogSumExps(lx, rows = NULL, cols = NULL, na.rm = FALSE, dim. = dim(lx), ...)

## S4 method for signature 'DelayedMatrix'
colLogSumExps(
  lx,
  rows = NULL,
  cols = NULL,
  na.rm = FALSE,
  dim. = dim(lx),
  force_block_processing = FALSE,
  ...
)

## S4 method for signature 'DelayedMatrix'
rowLogSumExps(
  lx,
  rows = NULL,
  cols = NULL,
  na.rm = FALSE,
  dim. = dim(lx),
  force_block_processing = FALSE,
  ...
)

Arguments

lx

A NxK DelayedMatrix. Typically, lx are log(x) values.

rows

A vector indicating subset of rows (and/or columns) to operate over. If NULL, no subsetting is done.

cols

A vector indicating subset of rows (and/or columns) to operate over. If NULL, no subsetting is done.

na.rm

If TRUE, any missing values are ignored, otherwise not.

dim.

An integer vector of length two specifying the dimension of x, also when not a matrix.

...

Additional arguments passed to specific methods.

force_block_processing

FALSE (the default) means that a seed-aware, optimised method is used (if available). This can be overridden to use the general block-processing strategy by setting this to TRUE (typically not advised). The block-processing strategy loads one or more (depending on \link[DelayedArray]{getAutoBlockSize}()) columns (colFoo()) or rows (rowFoo()) into memory as an ordinary base::array.

Value

A numeric vector of length N (K).

Benchmarking

These methods are implemented in native code and have been optimized for speed and memory.

Author(s)

Peter Hickey

See Also

To calculate the same on vectors, logSumExp().

Examples

1
2
3
x <- DelayedArray(matrix(runif(10), ncol = 2))
colLogSumExps(log(x))
rowLogSumExps(log(x))

DelayedMatrixStats documentation built on July 8, 2020, 9:22 p.m.