Run C++ version of convolve(x,y, conj=TRUE, type="open")

Share:

Description

This function runs a C++ version of the R function convolve, specifically: convolve(x,y, conj=TRUE, type="open")

Usage

1

Arguments

a

a numeric vector

b

a numeric vector

Details

The R function convolve is an example of an R function that gets very slow when the input vectors are large. This C++ version, rcpp_convolve can be dramatically faster for large vectors.

rcpp_convolve produces the same output as: convolve(ca, cb, conj=TRUE, type="open")

Note: The C++ code is from the Rcpp examples in: Eddelbuettel & Francois (2011). Rcpp: Seamless R and C++ Integration. Journal of Statistical Software, 40(8), 1-18.

Value

convolve_result_vector the vector which is the product of the convolution

Author(s)

C++ code by: Dirk Eddelbuettel <edd at debian.org> & Romain Francois (2011); This R wrapper & documentation: Nicholas Matzke matzke@berkeley.edu

References

Eddelbuettel D and Francois R (2011). "Rcpp: Seamless R and C++ Integration." _Journal of Statistical Software_, *40*(8), pp. 1-18. ISSN 1548-7660, See also: http://cran.r-project.org/web/packages/Rcpp/vignettes/Rcpp-introduction.pdf , http://cran.r-project.org/web/packages/Rcpp/index.html , <URL: http://www.jstatsoft.org/v40/i08>.

See Also

Rcpp, convolve, rcpp_mult2probvect, Rcpp_combn_zerostart

Examples

1
2
3
4
5
6
7
# Set up 2 vectors, then convolve them
ca = c(1,2,3,4,5)
cb = c(2,2,2,2,2)
rcpp_convolve(a=ca, b=cb)

# Same as:
convolve(ca, cb, conj=TRUE, type="open")

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