Suppose we have a function $f : \Re^N \rightarrow \Re$ which, given a vector, returns the value of its smallest element. How can I approximate $f$ with a differentiable function(s)?

If signs aren't a big deal, use the generalized mean formula $$ \left(\frac{1}{n}\sum x_i^k\right)^{1/k} $$ for $k\to \infty$. 


A smooth approximation is $f(x) = \frac{1}{\rho}\log \sum_i e^{\rho x_i} $. The larger $\rho>0$, the closer the approximation is to the minimum. 


What about $f: [x_1 \dots\ x_n] \mapsto \frac{1}{\sum_i x_i^{1}}$? 


For two dimensions, we have $\min(x,y) = \tfrac{1}{2}(x+yxy)$, so you just need a differentiable approximation to $x \mapsto x$. Then for higher dimensions we have $\min(x,y,z) = \min(x, \min(y,z))$, etc. 

