Подпольная тригонометрия различных метрик

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Эта небольшая заметка призвана обратить внимание на одно довольно неочевидное свойство тригонометрических функций, а именно: зависимость от метрики в которой мы работаем. Под катом я не могу обещать строжайших математических выкладок и общепринятой терминологии, но что я обещаю, так это много картинок, которые насытят Ваш пытливый ум пониманием альтернативной тригонометрии.


Небольшая, но чертовски интересная преамбула


Идея этой статьи ко мне пришла случайно, когда в очередной раз я набросился на пресловутое уравнение


$cos(x)=x$


В попытке решить его АНАЛИТИЧЕСКИ, то есть получить так называемое closed-form solution или ответ в виде конечной композиции чисел (что-то типа $\sqrt 5 /2 + 17\pi$). Кстати, попробуйте сами! Потупив минут 15 над этим уравнением вы быстро поймёте, что предоставленных Вам школьных знаний явно не хватает (наверное) чтобы решить это уравнение, а сложные вышматовские штучки делают решение и вовсе недосягаемым. После вашей первой капитуляции перед этим уравнением, к Вам придёт желание пойти в гугл, а он с подобающим ему беспристрастием выдаст Вам Dottie number, предложив компромиссное решение в виде бесконечной сходящейся численной последовательности.
image
Да кстати, численное решение: $x=0.739085...$.


Получив решение, Вы можете, вздохнув с облегчением, закрыть вкладку в браузере, приняв реальность talis qualis. Однако я отношусь к той касте отбитых любителей математики, которые считают, что если такие чрезвычайно просто сформулированные задачи испытывают проблемы с решением, то у самой сути разработанной математики есть какие-то проблемы и их неплохо было бы решить (попутно разработав новый аппарат).


В любом случае, в один из таких крестовых походов на эту задачу ко мне пришёл резонный вопрос: "а что такое косинус?". Самое первое определение, которое я когда-то узнал в школе было следующим:


Косинус острого угла в прямоугольном треугольнике – это отношение прилежащего катета к гипотенузе.
image
И именно с этого определения начинается мой рассказ.


Многоликость гипотенузы


У гипотенузы есть замечательное свойство — её можно вычислить, зная два катета, по определению. В терминах картинки из преамбулы, запишем:


$c=\sqrt{a^2+b^2}$


Такой она предстаёт перед нами в рамках пресловутой теоремы Пифагора. Многие века эмпирического опыта указывали нам на справедливость этой теоремы. И даже недвусмысленно намекали, что наше пространство наделено Евклидовой метрикой. Но относительно недавно мы научились жонглировать с определением метрического пространства, предлагая всё новые и новые метрики.


немного о теореме Пифагора

Теорема Пифагора для случая двух ортогональных катетов эквивалентна определению так называемой $L_2$ нормы (или Евклидовой норме или квадратичной метрике — есть тонкие математические отличия, на которые в этой статье я забью). Для нас только важно, что длины катетов треугольника не могут быть отрицательными числами.


Давайте теперь изменим определение гипотенузы, предполагая, что мы работаем в пространстве с Манхэттенской метрикой. Тогда:


$c=|a+b|$


Соответственно определения Синуса и Косинуса станут:


$\sin(x)=\frac{a}{|a+b|},\ \cos(x)=\frac{b}{|a+b|}$


Лично у меня на этом этапе уже тряслись руки от безудержного желания поскорее построить графики этих "отвергнутых" из-за своей природы функций. Но позвольте сначала определиться со способом такого построения.


К сферам


Определяя метрику в пространстве, мы автоматически определяем сферу на ней (которая по определению: множество равноудалённых точек от данной). Об этом на хабре уже были статьи (например Пространства с иным числом Пи). Поэтому коротко: если мы зададим радиус сферы равным 1, то для различных $L_p$ норм, мы можем определить следующее равенство, задающее сферу (окружность для двумерного случая):


$(a^p+b^p)^\frac{1}{p}=1$


Подставляя различные значения p в уравнение, получаем наших героев:
image
Как вы наверняка догадались, случай $p=2$ соответствует нашей привычной Евклидовой метрике, а $p=1$ — Манхэттенской метрике. Наблюдение того, как плавное изменение параметра p приводит к деформации сферы (и нашего понимания сферы), доставляет неподдельное эстетическое наслаждение… Но давайте двинемся дальше.


К тригонометрии


Последний важный вопрос: "А что, собственно, такое угол?". На первый взгляд, угол это всего лишь некоторая мера, "как-то" характеризующая два луча исходящих из одной точки. Возможно для специалистов в математике этот вопрос покажется надуманным и избыточным, но для меня — дилетанта, этот вопрос кажется крайне существенным. Однако, на текущий момент, я ничего не могу добавить к этому вопросу, кроме того, что угловая мера кажется мне "очень странной". Ну да ладно.


Для того чтобы наконец построить графики синуса или косинуса для манхэттенской метрики, мы будем будем действовать хитрым образом. Мы используем известные значения углов и их тригонометрических соотношений для Евклидовой метрики, а затем сменим метрику и найдём соответствующие синусы и косинусы в ней. Для лучшего понимания я введу специальную нотацию:


$\sin_p(x),\ \cos_p(x),\ \tan_p(x),$


где индекс $p$ будет обозначать метрику для которой мы находим значение соответствующей тригонометрической функции. Например, как вы хорошо помните из школы: $\sin_2(\frac{\pi}{4})=\frac{\sqrt{2}}{2}$ или $\tan_2(\frac{\pi}{4})=1$. Для перехода из одной метрики в другую, в рамках данной задачи, очень удобно воспользоваться простой линейной функцией $y=kb$, где $k$ — коэффициент наклона прямой, $b$ — длина прилежащего катета прямоугольного треугольника (см. картинку ниже).
image
Таким образом, мы будем выполнять следующий набор действий, задавшись, как и ранее единичным радиусом окружности:


  1. Зададимся некоторым углом $x$ и найдём для него значнеие $\tan_2(x)$;
  2. Приравняем полученное значение тангенса к коэффициенту наклона прямой: $k=\tan_2(x)$, и построим эту прямую.
  3. Решим уравнение $kb=|1-b|$ для $b\in[0,1]$.
  4. Для найденного значения $b$ рассчитаем $a=|1-b|$
  5. Найдём значение $\sin_1(x),\ \cos_1(x)$ (или любую другую тригонометрическую функцию) по определению.

Кстати, напомню и сразу обобщу это определение для произвольной $L_p$ нормы.


$\sin_p(x)=\frac{a}{(a^p+b^p)^{1/p}},\ \cos_p(x)=\frac{b}{(a^p+b^p)^{1/p}}$


Чтож, я обещал картинки? Да будут картинки! Отправимся же наконец в царство подпольной тригонометрии.


Подполье


Наша первая остановка — косинус для Манхэттенской метрики, мы построили его для множества углов: $x\in[0,\pi/2]$. Для удобства я также построил классический "легальный" косинус.
image
Что лично меня удивило в этом новом косинусе, это его невыпуклость (или возможно более точно "not concaveness") на заданном интервале. С удовольствием почитаю Ваш комментарий по вопросу: "почему выпуклость могла потеряться?".


Что-нибудь более периодическое?
image
Кстати, формулы приведения похоже работают как раньше.
image
Жаль, конечно что потерялась гладкость функции, но этого можно было ожидать, ведь манхэттэнская сфера тоже не особо гладкая.


А что там с тангенсом?
image
Похоже ничего особенного. Это тоже вполне ожидаемо, ведь отношение между катетами определяет нам угол, а значит это отношение должно оставаться инвариантом относительно выбранной метрики.


Продолжим наши развлечения, построим косинус для множества различных метрик.
image


Добавим точек:
image


Вывод


И напоследок. Вызывая в вашем любимом файлообменнике языке программирования встроенную функцию Cos(), помните, что вы обречены получить в ответ только легальную, проверенную временем, всеми любимую $\cos_2()$. И только те, кто решился на отчаянный шаг войти в кастом подполье, найдут для себя что-то новое и удивительное).


Извините, что оставляю подвал без ссылок на какие-либо источники по данной теме. 10 минут честного гугления на английском не привели меня ни к чему похожему ни на хабре ни где-либо ещё. Буду счастлив добавить это в апдейт из комментариев.


Для любителей посмотреть в код: https://github.com/shappiron/Lp_trigonometry

Источник: https://habr.com/ru/post/522974/


Интересные статьи

Интересные статьи

В работе над одной задачей понадобилось добавить в мониторинг все счетчики памяти находящиеся в /proc/meminfoПосле создания шаблона, создавать руками каждую метрику и нас...
Еще одна компактная статься Стюарта Рейнса про то, чем измерять результативность процессов.Оригинал Defining Metrics for Incident Management By Stuart Rance Опублико...
12 июля 2018 года увидел свет первый коммит проекта :telemetry. Автор коммита — Аркадий Гил, но README утверждает, что авторское право принадлежит © 2018 Chris McCord and Erlang ...
Привет, на связи контент-студия Хабра! 30 апреля мы проведем вебинар о крутом инструменте по работе с контентом, доступном для всех корпоративных блогов, но почему-то редко используемом, — о ...
Многие сетевые приложения состоят из веб-сервера, обрабатывающего трафик в реальном времени, и дополнительного обработчика, запускаемого в фоне асинхронно. Есть множество отличных советов по пр...