Class Power4Regular

Inheritance Relationships

Base Type

Class Documentation

class Mechatronix::Power4Regular : public Mechatronix::RegularizedBase

\( (x)_+^4 \) value smoothed

Inizialization

build regularized 4-power class

inline explicit Power4Regular()
virtual void setup(GenericContainer const &gc) override

Initialize regularization parameters with a GenericContainer. Expect to find gc("h") and gc("epsilon") containing real scalars

void setup(real_type h, real_type epsilon)

Initialize regularization parameters \( h \) and \( epsilon \).

Initialize h and epsilon, notice that \( h > 0 \) and \( \epsilon \in [0,0.25] \)

inline void update_h(real_type h)

Initialize regularization parameter \( h \).

inline void update_epsilon(real_type epsilon)

Initialize regularization parameter \( epsilon \).

Evaluate

compute \( (x_+^4) \) regularized

virtual real_type operator()(real_type x) const override

Evaluate

\[\begin{split} (x^+_h)^2 = \begin{cases} \displaystyle\frac{3\epsilon}{3-2X} & x<0 \\[1em] a_0+X(a_1+X(a_2+X(a_3+a_4X))) & \mathrm{otherwise} \end{cases}, \qquad X=\frac{x}{h} \end{split}\]

and

\[ x^+_h(0) = 0, \qquad x^+_h(h)=1 \]

\[ a_0 = \epsilon, \quad a_1 = \displaystyle\frac{2}{3}\epsilon, \quad a_2 = \displaystyle\frac{4}{9}\epsilon, \quad a_3 = \displaystyle\frac{8}{27}\epsilon, \quad a_4 = 1-\displaystyle\frac{65}{27}\epsilon \]

../_images/POWER4_REGULARIZED_0.jpeg

virtual real_type D(real_type x) const override

compute \( (x_+^4)' \) regularized

../_images/POWER4_REGULARIZED_1.jpeg

virtual real_type DD(real_type x) const override

compute \( (x_+^4)'' \) regularized

../_images/POWER4_REGULARIZED_2.jpeg

Info

virtual string info() const override