Через позначення розгалужених функцій

Фігурні дужки використовуються при позначенні визначень функцій з різницею регістрів. Ми переслідуємо просте питання, чи можна це представлення також усунути, а функцію звести до позначення, яке обійдеться без нього. Наприклад, функція

$$f: \mathbb{R} \to \mathbb{R}, f(x) = \left\{\begin{matrix} 42, & \text{falls } x = 0 \\ x, & \text{sonst} \end{matrix}\right.$$

за допомогою чотирьох основних арифметичних операцій з використанням однорядкового терміна?


Це неможливо, і ми доводимо це за допомогою безперервності.

Розглянемо послідовність \((x_n)\) з \(x_n = \frac{1}{n}\) . Для цієї послідовності \( \lim_{ n \to \infty } x_n = \lim_{ n \to \infty } \frac{1}{n} = 0\) . Крім того, \(\lim_{ n \to \infty } f(x_n) = \lim_{ n \to \infty } \frac{1}{n} = 0 \neq 42 = f(0)\) . Отже, \(f\) є неперервним у точці \(x=0\) тобто загальним

Оскільки сума і добуток неперервних функцій знову є неперервними завдяки ланцюговим реченням, можна створювати безперервні функції (зокрема ніколи \(f\) ) лише за допомогою чотирьох основних арифметичних операцій.

Однак, якщо ми дозволимо, наприклад, розривну функцію signum , ми можемо легко знайти такі позначення. Тоді саме

$$f: \mathbb{R} \to \mathbb{R}, f(x) = sgn^2(x-42)+42.$$

Для загальної функції \(f\) застосовується різниця регістрів

$$f,g,h,a: \mathbb{R} \to \mathbb{R}, f(x) = \begin{Bmatrix} g(x), & \text{falls } a(x) = 0 \\ h(x), & \text{falls } a(x) \neq 0 \end{Bmatrix} = sgn^2 \left(a(x)\right)\cdot h(x) + \left(1-sgn^2\left(a(x)\right)\right)\cdot g(x).$$

З іншого боку, якщо розглянути функції мов програмування, гілки можна вирішити. Наприклад, у PHP функція signum може бути зіставлена:

e367d0ca10c4f0ac43640ad7fd1b3f0d

\(f\) також може відображатися без будь-яких структур керування if / else за допомогою:

e367d0ca10c4f0ac43640ad7fd1b3f0d

Якщо ви хочете обійтися без операторів порівняння, ви можете зробити ще один крок далі і поринути у прекрасний світ побітових операторів:

e367d0ca10c4f0ac43640ad7fd1b3f0d

Назад