Talk:Deconvolution/2D+

From Rosetta Code

I got interested in higher dimensional deconvolution when contacted by someone about using it as a way of looking for trading indicators in financial time series. I set this task as an example of something that I'm speculating can be done well with functional and array processing languages, but only with difficulty otherwise, which I hope someone will weigh in to confirm or refute. In case anyone wants to know, consistent test data were generated partly by this higher dimensional convolution function, <lang Ursala>conv = +^|(~&x+,*DrlDSNiCK9xxSNiCK9K7iFS+ *)=>times+ **+ *K7|\x+ iota; * ! plus:-0</lang> invoked as (conv d)(h,f) with dimension d > 0 and conforming h and f. (This function essentially subsumes the Image convolution task as a special case with d = 2 and |h| = 3.) I suggest a development methodology based on warming up with Deconvolution/1D, then hand coding the solutions for the next few dimensions, and then looking for the pattern.

--Sluggo 03:24, 23 February 2010 (UTC)

Help

How do you help someone who knows how to program, but not how to de/convolve? I would like to attempt a solution but, not knowing Ursala, the example code given is of no help, and the maths only helps those that know rather than being a means to communicate to those outside the field. In Averages/Pythagorean means I was careful to add textual descriptions of the maths to help those people who know how to program, but whose eyes might start to glaze over when confronted with the equations. In fact, the second part of the task: "Show that the ..." was initially below the block of equations, and several implementers missed it completely in their haste to gloss over the equations.

Your task description is even more reliant on equations, and might be helped by much more non-math description - such as a scripting-like pseudo-code. --Paddy3118 07:51, 23 February 2010 (UTC)