Given $\mathscr{F}\{f(x,y)\}$ is there a way to numerically approximate $\mathscr{F}\{max(0,f(x,y))\}$ ?

I am not necessarily looking for a closed formula.

Even some iterative method would be fine.



I am doing an actual computation and trying to do most of the calculations in the frequency domain.

basically I have a point wise operation on $f(x,y)$, that taking the maximum between the value of the function and 0 $\rightarrow max(0,f(x,y))$ , this operation is non linear.

however I only have $\mathscr{F}\{f(x,y)\}$ and would like to avoid doing the inverse transofrm.

I know that I can calculate for example, $\mathscr{F}\{\frac{\partial}{\partial x} f(x,y)\} = \mathscr{F}\{\frac{\partial}{\partial x}\} \circ \mathscr{F}\{ f(x,y)\}$

where $\circ $ is point wise multiplication

and $\mathscr{F}\{\frac{\partial}{\partial x}\}$ is the fourier transform of the corrosponding convolution kernel - which is constant for any $f(x,y)$.

in my case the operation is not linear and therefore cannot be described with a convolution... I would like to know if it is possible to aproximate it using somthing like:

$\mathscr{F}\{max(0,f(x,y))\} \approx a_1 \mathscr{F}\{K_1\} \circ \mathscr{F}\{f(x,y)\} +a_2 \mathscr{F}\{K_2\} \circ \mathscr{F}\{f(x,y)\} + \dots + a_n \mathscr{F}\{K_n\} \circ \mathscr{F}\{f(x,y)\}$

btw if it helps, I have found a post that gives a good approximation for $ max(0,x)$

  • $\begingroup$ Can you provide an example of your question> I am having a difficult time understanding what you are asking. Regards $\endgroup$ – Amzoti Jan 5 '13 at 23:21
  • 1
    $\begingroup$ Your tentative approximation scheme is still linear. It's not going to work for the nonlinear transform $\widehat{f}\mapsto \widehat{f^+}$. I would try to (a) get a bound on $f$; say $|f|\le M$. (b) approximate $g(x)=x^+$ on the interval $[-M,M]$ by a polynomial $p$. (c) use repeated convolutions of $\widehat{f}$ with itself to find $\widehat{p\circ f}$. $\endgroup$ – user53153 Jan 7 '13 at 3:36
  • $\begingroup$ @PavelM, thank you for pointing out the error, it seems I am lacking some theoretical background, do you have a good source on non linear transforms? $\endgroup$ – BenMatok Jan 7 '13 at 11:03

Just a couple of observations (I will deal with functions of only one real variable).

If you have a smooth approximation to $max(0,x)$, say $g(x)\simeq max(0,x)$, then you have a smooth approximation to $max(0,f(x))$. Now,

$$ \frac{\partial g}{\partial x}=\frac{\partial g}{\partial f}\frac{\partial f}{\partial x} $$

The Fourier transform of $\partial g/\partial x$ is then the convolution between the Fourier transform of $\partial g/\partial f$, which you have - but you do not want - to calculate, and that of $\partial f/\partial x$, which you already have.

Depending on the values of $f$, if you expand the function $g(x)$ in a Taylor series, then you will have polynomial approximation with powers of $f(x)$, so you will end up calculating convolutions, with not much computational benefit.

  • $\begingroup$ thank you, It does seem like there is no easy trick to actually gain computation time here. If by chance you know any example for a non linear operartion that does have some specific trick, I would love to hear about it. $\endgroup$ – BenMatok Jan 7 '13 at 11:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.