Is the definition of recursion and iteration in signal processing different from computer science? I was talking to my advisor today about this. He is a very experienced professor in this field, so I assume he is very knowledgable about it.

He pointed out that in signal processing, the word iteration means the repeated process that you repeat to gain a more accurate result (not the exact word, but generally this meaning). On the other hand, the word recursion means the actions that go on with every time instant. Basically, iterations happen within the same time instant, and recursions happen along the time instants.

However, as far as I can remember from the algorithm course that I took in undergrad, recursion means a function that can call itself repeatedly until there's no data left. The wikipedia page of recursion is consistent with my understanding.

What I guess is the situation now is, probably the definitions of recursion and iteration are different in SP than CS. I wanted to know, how exactly they are defined in signal processing. It is also possible that there is a different layer of the meaning of recursion that I didn't know, which made the two ways of understanding consistent. If there was a textbook or material that has the formal definition of them, it would be great.

I wanted to bring up the wikipedia page today during the meeting, but we ran out of time. I tried to google but couldn't find the answer. Guess I will ask him about it next time when we meet. :)
In my understanding, the term iteration in DSP is usually used in the mathematical sense, i.e., for describing iterative methods solving certain numerical problems. The power method for computing the largest eigenvalue of a matrix and its corresponding eigenvector is a typical example of such an iterative method used in signal processing.

The term recursion is normally used in the sense of recurrence relation, where a value $y_n$ is generally a function of $n$ and of its values $y_k$, $k&lt;n$:

$$y_n=f(n,y_{n-1},y_{n-2},\ldots)$$

In signal processing applications, such as filtering, the index $n$ is interpreted as a time index. E.g., when implementing a (causal) filter, the current filter output can be computed from the current input and previous input and output values. This is a specific form of a recurrence relation. On the other hand, when talking about iteration, the iteration index is usually not related to time. I think it is this latter point that your professor referred to.