You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At this moment conv convolves only two vectors, conv(u,v). If you have a list of vectors lst that you want to convolve, you can do it like this:
reduce(conv, lst)
But this is very inefficient because it computes the inverse Fourier transform too many times. A much more efficient way is to compute the FT of every vector once, multiply them element-wise, and then compute only one FT inversion of the product sequence. But for this you need a dedicated conv(u, v, w, ...) that accepts an arbitrary number of vectors.
The text was updated successfully, but these errors were encountered:
Sounds like a good idea, but we have conv(u::AbstractVector, v::AbstractVector, A::AbstractMatrix) for a 2D-convolution with separable (into u and v) convolution kernel. And we support mixing arrays of different dimensions for the two-arg cases, so that would imply a subtle different meaning for that three-arg method if we support n-arg in general.
That said, we should probably deprecate the current three-arg method to conv(u::AbstractVector, v::Transpose{<:AbstractVector}, A::AbstractMatrix) which would just be a special case of the general n-arg method to be added in the future.
Moved from JuliaLang/julia#16126
At this moment
conv
convolves only two vectors,conv(u,v)
. If you have a list of vectorslst
that you want to convolve, you can do it like this:reduce(conv, lst)
But this is very inefficient because it computes the inverse Fourier transform too many times. A much more efficient way is to compute the FT of every vector once, multiply them element-wise, and then compute only one FT inversion of the product sequence. But for this you need a dedicated
conv(u, v, w, ...)
that accepts an arbitrary number of vectors.The text was updated successfully, but these errors were encountered: