10
$\begingroup$

Is it possible to approximate the $max\{x,y\}$ by a differentiable function? $f(x,y)=max \{x,y\} ;\ x,y>0$

$\endgroup$
11
$\begingroup$

Yes it is. One possibility is the following: Note that $\def\abs#1{\left|#1\right|}$ $$ \max\{x,y\} = \frac 12 \bigl( x+ y + \abs{x-y}\bigr), $$ take a differentiable approximation of $\abs\cdot$, for example $\def\abe{\mathop{\rm abs}\nolimits_\epsilon}$$\abe \colon \mathbb R \to \mathbb R$ for $\epsilon > 0$ given by $$ \abe(x) := \sqrt{x^2 + \epsilon}, \quad x \in \mathbb R $$ and define $\max_\epsilon \colon \mathbb R^2 \to \mathbb R$ by $$ \max\nolimits_\epsilon(x,y) := \frac 12 \bigl( x+y+\abe(x-y)\bigr). $$ Another possibility is to take a smooth mollifier $\phi_\epsilon$ and let $\max'_\epsilon :=\mathord\max * \phi_\epsilon$.

$\endgroup$
  • $\begingroup$ (+1), good advice. One smoothing I stumbled across recently is $|x| \approx x\operatorname{erf}(ax)$ with $a \gg 1$. Taking $a=5$ works well enough. $\endgroup$ – Antonio Vargas Oct 8 '13 at 22:37
7
$\begingroup$

Another possibility is given by: \begin{equation} \max (x,y) \approx \ln(e^x+e^y) \end{equation} This approximation doesn't work well for similar values of $x$ and $y$. We can however, remedy this by introducing a scaling parameter $N$: \begin{equation} \max (x,y) \approx \frac1N\ln(e^{N x}+e^{N y}) \end{equation} for large values of $N$.

A general definition is given by:

\begin{equation} \max\limits_{x \in S} \approx \frac1N\ln(\sum\limits_{x\in S} e^{N x}) \end{equation}

Note that in practice $e^{Nx}$ will give unworkably large answers for large $N$.

$\endgroup$
  • $\begingroup$ How could deal with overflow and underflow in case of large numbers multiplied by large scaling parameter N? $\endgroup$ – Feras Oct 22 '17 at 17:49
  • $\begingroup$ I don't know. That's why I said it is unworkable for large N. $\endgroup$ – Angelorf Oct 23 '17 at 22:34
  • $\begingroup$ I'm testing another function $max(x,y) = pow((pow(x,n) + pow(y,n), 1/n)$ it is doesn't have overflow but in one case when x or y is zero so I'm adding this small number 1e-5 to avoid it. Do you have any idea ? $\endgroup$ – Feras Oct 24 '17 at 16:46
  • $\begingroup$ That doesn't work for negative numbers. Why avoid zero? $0^x = 0$ (except $0^0$, but $n \neq 0$ anyway) $\endgroup$ – Angelorf Oct 25 '17 at 19:42
  • 1
    $\begingroup$ Overflow issues can be (mostly) avoided using the identity ln(sum(exp(Nn)))/N = ln(sum(exp(N(n-m))))/N + m, where m is the actual maximum. $\endgroup$ – Ian Fellows May 18 '18 at 17:03
1
$\begingroup$

Maximum norm is maximum of absolutes and you can approximate it with a p-norm with large(ish) p. If you have negative numbers as well, transform them with log(exp(x)+1) first which, in turn, can be approximated with x for larger values.

$\endgroup$

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.