Smoothed Mathematical Functions¶
The functions in this section are smoothed equivalents of the original math functions and can be used to allow computing derivatives around discontinuities.
smooth_abs¶
T smooth_abs(T x, T c = 0.001) is a smoothed version of abs, defined as:
\[ \text{smooth\_abs}(x,c) = \left\{\begin{array}{lll} |x| & & \text{if }x < c\text{ or } x > c\\[5pt] x^2\left(\frac{2}{c}-\frac{1}{c^2} x\right) & & \text{if }0 \leq x \leq c\\[5pt] x^2\left(\frac{2}{c}+\frac{1}{c^2} x\right) & & \text{if }-c \leq x < 0 \end{array}\right. \]
xis the input valuecis the cut-off point for the spline-approximated area (default:0.001)- returns: The smoothed absolute value, defined as above.
smooth_max¶
T smooth_max(T x, T y, T c = 0.001) is a smoothed version of max, defined as:
\[ \text{smooth\_max}(x,y,c) = 0.5\left(x+y+\text{smooth\_abs}(x-y,c)\right) \]
xFirst argument to maxySecond argument to maxcCut-off point for the spline-approximated area (default:0.001)- returns: The smoothed max function, defined as above
smooth_min¶
T smooth_min(T x, T y, T c = 0.001) is a smoothed version of min, defined as:
\[ \text{smooth\_min}(x,y,c) = 0.5\left(x+y-\text{smooth\_abs}(x-y,c)\right) \]
xFirst argument to minySecond argument to mincCut-off point for the spline-approximated area (default:0.001)- returns: The smoothed min function, defined as above