Fast column-wise convolution of a matrix

Share:

Description

Use the Fast Fourier Transform to perform convolutions between a sequence and each column of a matrix.

Usage

1
convolve2D(x, y, conj = TRUE, type = c("circular", "open"))

Arguments

x

M x n matrix.

y

Numeric sequence of length N.

conj

Logical; if TRUE, take the complex conjugate before back-transforming. Default is TRUE and used for usual convolution.

type

Character; one of circular, open (beginning of word is ok).

For circular, the two sequences are treated as circular, i.e., periodic.

For open and filter, the sequences are padded with zeros (from left and right) first; filter returns the middle sub-vector of open, namely, the result of running a weighted mean of x with weights y.

Details

This is a corrupted version of convolve made by replacing fft with mvfft in a few places. It would be nice to submit this to the R Developers for inclusion.

Value

M x n matrix

Note

This function was copied from waveslim to limit package dependencies.

Author(s)

Brandon Whitcher

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.