WikiProject Computing (Rated Start-class, Low-importance)
This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start  This article has been rated as Start-Class on the project's quality scale.
Low  This article has been rated as Low-importance on the project's importance scale.

## The algorithm

I think the pseudo-code is unclear. Where is M in the implementation? Also, Where is the overlap in this code? — Preceding unsigned comment added by 90.230.12.150 (talk) 17:04, 12 November 2011 (UTC)

## Abuse of Notation

An expression such as "y[n] = x[n] * h[n]" is an abuse of notation. (Try substituting n=3 and see what that means.) The fact that many other people are sloppy about this is not an excuse for us.

There are several alternatives, all of which involve honestly acknowledging that convolution operates on whole functions (or sequences). This is exactly analogous to integration: The variable of integration is "bound" to the integration, and so is the variable of convolution here. (Using . for product, we never write ʃf(t) dt . ʃg(t) dt when we mean ʃ f(t).g(t) dt.)

1. "Lamdba notation", using "@" for LISP's lambda [or MATLAB's equivalent]: @(n) y[n] = @(n) x[n] * @(n) h[n].

2. Slightly more informally, use implicit lambda notation with parentheses: @(n) y[n] = @[n] (x*h)[n], which may be written y[n] = (x*h)[n].

Ironically, convolution is perfectly well defined using integration instead of summation, and I'm sure we would never make the same notational error with integration: Everyone is careful with bound-variable notation when writing integrals. Jmacwiki (talk) 18:39, 19 April 2016 (UTC)

Good point. But you also point out that many other people use this same convention. And that is sufficient reason for Wikipedians to do the same. In The Industrial Electronics Handbook by J. David Irwin, for example, it is done with the caution: "It is noted that unless interpreted carefully the notation y(t) = x1(t)*x2(t) can lead to confusion. For instance, y(t-t0) = x1(t)*x2(t-t0), not x1(t-t0)*x2(t-t0), as might be expected." Another example is: "${\displaystyle \scriptstyle y(t)={\mathcal {H}}\{x(t)\},}$" with the caveat "Here x(t) and y(t) should be thought of in their totality, rather than at specific instants ${\displaystyle t.}$ Just as in the case of convolution, this notation can lead to confusion. It does not imply that y(t) is a function of x(t) at only the same instant ${\displaystyle t.}$"  To address this deficiency, I added a hatnote to the article.
--Bob K (talk) 05:30, 20 April 2016 (UTC)