Use the Fast Fourier Transform to perform convolutions between a sequence and each column of a matrix.
convolve2D(x, y, conj = TRUE, type = c("circular", "open"))\(M{\times}N\) matrix.
numeric sequence of length \(N\).
logical; if TRUE, take the complex conjugate
before back-transforming (default, and used for usual convolution).
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.
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.