Скучные числа

image-loader.svg


1 / 0


При освоении программирования встречается один смешной спор, начинать адресацию элементов в массиве с единицы или с нуля. С одной стороны, если у тебя один элемент в массиве, то и номер у него должен быть равен единице. С другой стороны, когда выбираешь куда поместить первый элемент, то надо подыскать место, равное количеству элементов до помещения — нулевое. То есть, чему равен адрес последнего элемента — количеству элементов до помещения или после? — Вот в чём здесь вопрос.

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

Соревнование между нулём и единицей может быть описано более детально.

Заметка длинная, разделена на главы
1 / 0
Зря-зря
Спуск
Простые числа
Золотая середина
Предыдущее и следующее
Уровни
Что было до нуля
Вообще без нуля

Часть вторая:
Двойные функции
Двойные числа
Биномиальная свёртка
Происхождение чисел Бернулли
Откатная функция
Пи

Функция состоит не только из нулей
Суммируя
Умножая
Симметрия Дзеты
Ось
Откуда там вообще нули?


Исторически счёт принято начинать с единицы, и это оправдано, так как отводит нулю его место — то что было в самом начале, до начала счёта. И этим указывает, что такое сам счёт. Это нахождение элемента между предыдущим и предстоящим. «Предыдущий» в начале счёта ноль, «предстоящий» элемент тоже вполне определён. Основное действие — то что понимается под «предыдущим» меняется на то что получено, и счёт можно продолжать.
image-loader.svgПредстоящий элемент в такой схеме счёта недостижим, и пессимистично называется «бесконечность».

После того как у нас получено два элемента можно решиться на нетрадиционное действие — оба полученных элемента применить как предыдущий и предстоящий. И таким образом пойти не вперёд, но и не назад, а «вглубь». Более того, даже с самого начала первый элемент можно использовать не как «предыдущий», а как «предстоящий», с повторным использованием в качестве «предыдущего» элемента ноля. И тогда элемент, полученный после единицы, будет не двойкой, а двойкой «обращённой».
image-loader.svg
Общий порядок, в котором из двух элементов один всегда больше другого, сохранится, но порядок счёта уже не всегда идёт в направлении возрастания. В целом, схема счёта сильно изменится, добавится выбор: полученный элемент ставить на место меньшего в следующем поиске, или на место большего. Схема счёта превратится в бинарное дерево — каждый элемент в нём содержит две возможности для движения дальше.

Каждая ветка такого счёта представляет собой аналог всего дерева — это самый древний и самый простой фрактал.

Самое интересное, что такой фрактал очень хорошо кодируется, каждый элемент обозначается двумя кодами, взятыми из прямого счёта. Для того чтобы закодировать текущее число, нужно сложить коды границ — для первого кода сложить первые, для второго сложить вторые. А коды для первоначальных границ это $0/1$ и $1/0$.
image-loader.svg
На первом шаге получается $1/1$. А после этого есть выбор: пойти либо в большую сторону, либо в меньшую, и для каждого следующего шага придётся выбирать. Можно было бы сказать, что эти два числа составляют дробь, но существует явное отличие: среди таких чисел никогда не встретится дробь, которую можно сократить. Просто потому, что первой при таком спуске встречается сокращённая дробь, а все последующие числа будут либо больше, либо меньше.

Кроме сокращения ничего не мешает дроби быть на этом дереве, и они там присутствуют все без исключений. Так что, любые два натуральных числа можно объединить в пару, от которой отделить общий множитель, и останется рациональное число, представляющее собой не просто пару чисел, а натуральное количество шагов, для каждого из которых сделан бинарный выбор. Либо просто единица, если без шагов.

image-loader.svg
Количество шагов без изменения направления напрямую отражается в элементах цепной дроби:

$\frac{355}{113}=3+\frac{1}{\displaystyle7+\frac{1}{15+1}}$

 — Означает, для достижения этой дроби от единицы нужно пройти в большую сторону 3 раза, затем в меньшую сторону 7 раз, затем в большую сторону 15 раз.

Можно предположить, что при шаге от нуля тоже существовал выбор — идти в большую или меньшую сторону, этот выбор соответствует знаку числа. Две ветки могут образовывать одну такую линию, которая включает в себя ноль, а на всех остальных шагах выбирается максимальное отличие. Так и находятся все целые числа, $\mathbb{Z}$.
image-loader.svg
При визуальном анализе, если расставить на плоскости элементы дерева по координатам, соответствующим кодам, то каждая точка будет иметь одну проекцию из точки ноль-ноль на линию, в которой числитель единица. Каждая проекция на этой линии всегда будет находиться строго между проекциями от границ своего выбора. И наоборот, каждой точке проекции будет соответствовать число.

А теперь можно сыграть в игру. Ведущий загадывает число, а игрок отгадывает. Представь, что ты игрок. Ведущий будет отвечать только «угадал» или «больше/меньше» — про отношение загаданного числа к твоему.

image-loader.svg


После множества последовательных «больше» и «меньше» у тебя может возникнуть ощущение, что ведущий не загадал никакого числа, что ты спускаешься по бинарному дереву, а он просто наугад говорит «больше» или «меньше». И ты прав, есть такой вариант. Но между собой варианты — загадал он или нет — ты не отличишь.

Даже при нескончаемых вопросах можно считать, что существуют иррациональные числа, которые содержат неограниченное число бинарных выборов, а ведущий просто загадал одно из них.

Что будет, если первым числом спросить о единице, а ведущий после этого в принципе не перестанет отвечать «меньше»? Окажется, что он загадал ноль. Но ты начал с единицы, и попался.

А если это будет настоящая угадайка, то узнать, угадал ты или нет, не получится, тоже надо будет угадывать. В такой игре достаточно обойти число, ведущему в момент угадывания рандомно сказать «больше/меньше», а затем всегда повторять противоположное. И в конце мы приблизимся к тому же результату. После этого никаких сомнений, что $0.9(9)$ — это лишь мутный вариант единицы.

Конечно, это странная игра — в которой надо угадать, выиграл ты или нет. Но «угадай-ка» — она такая, кто начал играть, тот доверился ведущему.

Зря-зря


Если для иллюстрации шаги в большую сторону изображать линиями по одной диагонали, а шаги в меньшую сторону вдоль другой диагонали, начать с точки, обозначающей ноль (или единицу), и каждый раз уменьшая длину линии в два раза — мы получим вполне компактный рисунок в виде треугольника. В нём обозначения чисел чётко поделится на лежащие на нижней линии и на расположенные выше.
image-loader.svg
То есть, числа чётко делятся на два вида, рациональные и иррациональные. Но в процессе игры всегда есть текущий шаг, и числа делятся на три вида, «уже угаданные на данном шаге», «пока что не угаданные» и «числа, которые не зная, не угадаешь».

Можно разделить на три вида совсем по-другому. На «угадываемые», «не угадываемые, но загаданные» и «вообще не загаданные». Ведь причина невозможности угадать может быть не только в бесконечной цепочке необходимых вопросов. Что если другой причины каждого ответа ведущего, кроме желания продолжить игру, нет? Он и сам не знает числа.

Объединяя, вместо двух типов чисел нужно отметить четыре типа. Рациональные делятся на обозримое число шагов и необозримое, а иррациональные делятся на чёткие и мутные. Для рациональных деление оставляет эти числа в рамках общей группы. А для иррациональных — нет, мутные числа исключаются из чисел. Но и после этого не стоит ожидать отсутствия подвоха, так как кто угодно может загадать мутное число, пользуясь тем, что угадывающий не может это распознать в принципе. Это, так сказать, троллинг, который возможен всегда и везде — в каждой игре.

Не зря утопили Гиппаса, сделавшего открытие о такой человеческой беспомощности. Ну, или зря.

Спуск


Количество шагов для такого угадывания числа я бы назвал уровнем погружения. У каждого рационального числа есть соответствующая характеристика, выражающаяся натуральным числом. Нулевой уровень будет у нуля (или у единицы, если выбор знака не считать уровнем).

Легко ли по обозначению числа в виде дроби узнать, в большую сторону или меньшую был первый шаг после единицы? Легко — достаточно сравнить эти обозначения, и если знаменатель меньше числителя, то определённо — шаг был в большую сторону.

Легко ли по обозначению узнать, в какую сторону был совершён последний шаг? Нет, последовательность выяснения направлений шагов по обозначению проста только от первого к следующему. Узнали, что числитель больше знаменателя — выяснили первый шаг. Затем от числителя можно отнять знаменатель, и тогда для новой дроби мы как будто исключили этот шаг из последовательности. И по тому, что будет у неё больше, числитель или знаменатель, можно будет узнать про второй шаг исходной дроби. И так далее.

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

Запомнить, что из этого что, очень просто: «наибольший…» всегда меньше, чем «наименьшее…».
«Л» — Логика.

Произведение:
image-loader.svg
На этом изображении умножение представлено как сложение степеней.

Деление как разница степеней:

image-loader.svg
Дерево рациональных чисел, о котором здесь было рассказано, называется «Дерево Штерна — Броко».

Для каждого рационального числа есть парное число — в котором уровней столько же, но значения выбора направления при погружении расположены в обратном порядке. И парные числа тоже можно организовать в дерево, «Дерево Калкина — Уилфа». В таком дереве для получения числа следующего уровня нужно на выбор, либо к числителю добавить знаменатель, либо к знаменателю числитель. И хотя порядок расположения элементов в этом дереве в поперечном направлении не сохраняет последовательность возрастания, очевидно, выяснять направление погружения здесь удобнее наоборот, начиная с последнего выбора.
image-loader.svg
В порядке возрастания:
image-loader.svg
Жаль, но для иррациональных чисел пары не найти — выбор у парного числа определяется начиная с последнего уровня, а у иррациональных чисел последнего уровня нет. Просто нет.

Простые числа


Все дроби входящие в дерево не сокращаются. Если среди дробей вида $a/b,\quad 0 < a < b$ ни одна дробь не сокращается, то $b$ — простое число. Это даже видно на схеме. Пока Эратосфен придумывал своё решето, стопроцентная доля несокращаемых дробей на схеме дерева наглядно оставалась у простых чисел.
image-loader.svg
Если дробь ${a\over b}$ принадлежит дереву, тогда число ${a\over b} + n, n\in\mathbb{Z}$ тоже принадлежит дереву, в виде ${a+nb\over b}$. Особенность простых чисел в том, что если $b$ простое, то не надо проверять, сократится ли оно с $a$ или нет, так как если $a<b$, то точно не сократится. Таким образом, часть рациональных чисел определяется не двумя, а одним натуральным числом.

${a+np\over p}\quad a\in \mathbb{N},\quad n\in \mathbb{Z},\quad p\in \mathbb{P},\quad a < p\quad$

Экономия.

Для таких дробей, как и для всех, которые не сокращаются, числитель и знаменатель можно возвести в любую натуральную степень, и она не сократится. Но для этой дроби можно возвести в любую степень отдельно $a$:

${a^m+np\over p}\quad a,m\in \mathbb{N},\quad n\in \mathbb{Z},\quad p\in \mathbb{P},\quad a < p$

И она тоже не сократится. Малая теорема Ферма состоит в том, что при $m=p$ будет

${a^p+np\over p}={a+kp\over p}\quad a\in \mathbb{N},\quad n,k\in \mathbb{Z},\quad p\in \mathbb{P} $

И значит при $a < p$

${a^{p-1}+np\over p}={1+kp\over p} $

То есть, остаток деления на простое число результата возведения в варьируемую степень — периодичен, и его период на единицу меньше этого простого числа — степень $p$ совпадает с единичной, а не с нулевой степенью.

Доказательство: При простом $p$ произведение $ab, a<p, b<p$ при изменении одного только $a$ никогда не дублирует тот же самый остаток — иначе разница была бы кратна $p$. Набор вариантов остатков будет повторять натуральные числа меньше $p$. Значит, если мы перемножим все варианты $ab$, при заданном $a$, пробежавшись $b$ от $1$ до $p-1$, результат хоть и будет кратен $a^{p-1}$, по остатку будет аналогичен произведению всех чисел меньше $p$. Если мы остаток поделим на сам остаток, получится один, но это деление можно воспроизвести установив $b$ в каждом множителе в $1$. Тогда мы рассматривали бы только остаток $a^{p-1}$, так что он единица.

image-loader.svg

Числа $a^2$ и $(p-a)^2$ дают одинаковые остатки при делении на $p$. Из-за этого при $p > 2$» /> все натуральные числа <img src= можно разделить на два класса, один из которых означает, что можно как минимум двумя способами выразить ${a+np\over p}={b^2+kp\over p}$, где $b$ — из того же набора $b<p$. А числа из второго класса так выразить не получится. При простом $p$ количество чисел в обоих классах одинаково. То есть, относительно простого числа $p>2$» /> все целые числа делятся не на два, а на три типа. Вторых и третьих поровну.</p>

<h3>Золотая середина</h3>

<p><br />Каждый шаг спуска по дереву рациональных чисел может быть характеризован не только как шаг в большую или меньшую сторону, шаг начиная со второго направление либо повторяет направление предыдущего шага, либо его меняет. Из-за этого можно организовать спуск без сохранения предыдущих границ, достаточно сохранить предыдущее число. Каждый шаг в кодах будет вычисляться либо как повторное добавление разницы с предыдущим числом, либо как прямое сложение текущего и предыдущего, при развороте оно выступает в качестве границы.</p>

<p>В этой схеме можно выделить пару особых чисел — которые получены постоянной сменой направления. Это такое отношение, в котором периодически то к числителю добавляется знаменатель, то к знаменателю числитель, образуя значения из последовательности фибоначчи, и соответствуя золотому сечению.<br /><img src=

$\\a=0;\;b=1;\;c=1 $

${a\over b};{b\over c};{a+b \over b+c};{a+2b \over b+2c};{2a+3b \over 2b+3c} \to{{\varphi a+b \over \varphi b+c}}={1 \over \varphi +1}=\varphi $

Закодированная последовательность выбора: $0101010101...$

Порядок для таких чисел легко обратить, даже при неизвестном результате вариантов обращения всего два — в соответствии того, каким в результате будет самый первый выбор.

Предыдущее и следующее


Для числа, полученного последовательным погружением, зная предыдущее число легко восстановить последовательность выборов в обратном порядке, у одного из вариантов отклонение меньше. Но даже если предыдущее число неизвестно, о его характеристиках кое-что можно сказать.

Для соотношения дробей из натуральных чисел

${a\over b}<{a+t\over b+z}<{t\over z} $

И условием и следствием является

$ az < bt $

$bt=az+n $

Для начальных дробей $n=1$. Все последующие дроби продолжают выполнять это соотношение, и $n$ сохраняется.

Так что, для дробей $a/b$ и $t/z$, идущих при погружении последовательно, выполняется одно из двух равенств, в зависимости от направления смещения величины, но независимо от порядка дробей в последовательности:

${a\over b}\pm{1\over bz}={t \over z}$

Для двух шагов подряд формула выглядит симметричнее:

${a\over b}\pm{1\over bk}={t \over z}\pm{1\over zk}$

Прежде всего потому, что второй шаг может отменить первый.

Уровни


График разграничения уровней:

image-loader.svg

Рациональные числа одного уровня — для построения которых нужно сделать одинаковое количество бинарного выбора — изображены здесь как граница области одного цвета. Дроби, которые могут быть сокращены, представлены на этом графике местами, через которые не проходит граница цветовой области.

Если соответствующие места выделить, то график будет выглядеть так:

image-loader.svg

Выделены сокращающиеся дроби.

В этом представлении простым числам больше подходит название «бешенные числа» — они соответствуют такому удалению от центра, на котором на всей линии нет ни одного места, где бы цвет не переключился.

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

image-loader.svg

У таких дробей нет своего уровня, не смотря на то, что соответствующие точки лежат на границе области.

Вот ещё пара графиков, с чуть более различимыми соседними цветами:

image-loader.svg

image-loader.svg

Если нужно, вот ссылка на хайрез.

Что было до нуля


А что если ноль — это не начало цепочки выбора?

Можно использовать определение «достижимых» чисел, что каждое число связано с тремя другими без образования циклов — и это определение предельно симметрично. Для нуля — единица и минус единица являются вариантами выбора для шага вперёд. Осталось выяснить, что за элемент является для нуля возвратным.

image-loader.svg

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

image-loader.svg

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

Посмотрите на здоровое дерево рациональных чисел и на дерево курильщика:
image-loader.svg
Деревья аналогичны, но во втором удалось завернуть «возвратную» часть всех чисел на половину ветки, считавшейся от ноля «вперёд». При завороте для отрицательных чисел сдвинулись коды, к знаменателю добавлена абсолютная величина числителя. Бесконечность при этом вошла в схему без различия в знаке, так же как ноль.

Так что, даже если добавить «возвратные» числа, они все поместятся в обычных кодах. Можно изобразить это дерево так:

image-loader.svg

Числа так же располагаются по сетке:

image-loader.svg

Самоподобие позволяет анимировать это дерево:

image-loader.svg

Существует несколько моделей для интерпретации числа обратного нулю.

В симметричной схеме можно выделить две ветки, между которыми нет выбора, они просто являются предыдущими друг для друга. Тогда будет: одна ветка рациональных чисел, с листками иррациональных, и такая же ветка обращённых по порядку чисел, в том числе «количественно максимальное» число.
image-loader.svg
Проблема этой схемы только в том, что в ней нет места «среднему» числу: хотя край веки от нуля идёт к «максимальному», а край ветки от «максимального» идёт в ноль, определить, где они пересекаются нельзя без введения такой же структуры чисел, наложенной на оригинальную структуру как бы накрест. Для получения средних от средних нужно будет опять добавлять веток.
image-loader.svg
Другая модель состоит в том, что возвратным к нулю является «осевое число», а в качестве возвратных к нему определены положительная и отрицательная середины между минимальным и максимальным количественным числом.
image-loader.svg
Для отражения максимального количественного числа нужно добавить такую же структуру, с тем же осевым числом, но с промежуточным расположением веток относительно веток первой структуры.

И от этого вместе с «максимумом» сразу появятся «середина до середины».
image-loader.svg
Так делить можно и дальше, построение средней ветки аналогично нахождению промежуточного числа. При дальнейшем делении ветки множатся, повторяя в своей структуре не только свою внутреннюю часть, но и самих себя. Даже последовательность число-ветка можно продолжить и брать порядок из самих чисел. Лишь бы порядок числа не догнал его самого.

Ветки можно от середины добавлять и в сторону возрастания и в сторону убывания, приближаясь либо к количественному максимуму, либо количественному минимуму. Добавление веток в сторону убывания происходит по порядку приближения к нулю, предел приведёт к самой ветке нуля. Точно так же как нет «соседних» чисел — предел приближения ведёт к самому числу — нет и «соседних» веток. Это иллюстрация, почему счётная и несчётная бесконечности различаются принципиально — это разные стороны предела приближения к такому месту, которого нет. Просто нет.

Вообще без нуля


Рациональное число кодируется ограниченной последовательностью бинарного выбора. Но теперь выбор можно определять и в обратную сторону. И теперь из двух рациональных чисел можно составить двойное число, в котором выбор от нуля происходит как вперёд, так и назад. В точке начала отсчёта будут соединены две последовательности.

Чтобы это число было не просто парой рациональных чисел, можно добавить, что точка соединения последовательностей не важна, и бинарный выбор может свободно перетекать из одной последовательности в другую. Рациональное число и его обращение, с обратным порядком выбора — объединяются в одно число, и становятся как две крайности в вариантах перетекания.

Для многих иррациональных чисел бинарный выбор повторяется циклически, такие числа тоже можно соединить со своим обращением. Тогда из-за неважности положения точки соединения в одно двойное число будет объединено сразу несколько чисел, количество которых равно размеру цикла выбора. Из-за этого объединения количество двойных чисел может казаться меньшим, чем пар одинарных.

Числа с неограниченным и не циклическим выбором тоже можно было бы представить как двойное число, но в одном таком двойном числе будет объединено неограниченное количество одинарных чисел, так что возникнет вопрос — в случае такого иррационального расширения не сильно ли двойных чисел будет меньше, чем пар из одинарных? Впрочем, какая разница.

Сравнивать на больше/меньше двойные числа можно только приведя начальную точку выбора к нулю, так как только выбор вперёд определяет увеличение или уменьшение числа, выбор назад не может определять направление различия. Неограниченные двойные числа нельзя привести к начальной точке отсчёта, поэтому их и нельзя сравнить на больше/меньше. Ну и ладно.

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

Троллинг, когда две бинарные бесконечные последовательности надо сравнить, не указывая точного соответствия позиций — достаточно тонкий. И выяснение факта конечного значения для разницы позиций это очень хорошее начало для определяющего эту идентификацию сравнения всей этой бесконечности вариантов выбора.

Пожалуй, лучше вернуть ноль на место начала отсчёта.

Часть вторая


Двойные функции

$f \left({x\over y}\right) \xleftarrow{\text{Обозначается}} f{(x)\over (y)}=f(x,y)$

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

$f\left({x \over y}\right) = f\left({kx \over ky}\right)\quad k > 0 $» /></p><p>Определим две двойных функции от натуральных чисел <img src= и $b$.

$f\left({a-b \over a+b}\right)=g\left({a \over b}\right) $

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

Определим третью двойную функцию

$f\left({a -b \over a + b}\right)=g\left({a \over b}\right)=h\left({a-\varphi b\over \varphi a+ b}\right) $

Получилось, что она имеет параметр. При $\varphi=0$ и $\varphi=1$ повторяет одну из предыдущих функций. А при

$1/\varphi = \varphi+1,\quad \varphi > 0 $» /></p>

<p><img src=

Результат как бы совмещает два предыдущих определения функций в одном.

Все три функции потом будем использовать как идентификаторы для точек $a/b$ — чтобы разным комбинациям соответствовали разные значения. Другими словами, чтобы по значению можно было определить аргументы, с точностью до общего коэффициента.

Взаимосвязь координат в обращённом виде

$f\left({x \over y}\right)=g\left({x - (-y) \over -(x+(-y))}\right)=g\left(\frac{y+x}{y-x}\right) $

Показывает, что при $x > y$» /> значение <img src= будет браться из второй части двойной функции.

Из 

$h\left({a-\varphi b\over b+\varphi a}\right)=g\left({a \over b}\right)=f\left({a -b \over b + a}\right)$

Можно вывести оба обратных пересчёта координат:

$h\left({x\over y}\right) =g\left({a\over b}\right)$

$ x+\varphi y=a(1+\varphi^2) \\y - \varphi x = b(1+\varphi ^2) $

$h\left({x\over y}\right) =g\left({x+\varphi y \over y-\varphi x}\right) =f\left(x+\varphi y -y+\varphi x \over y-\varphi x+x+\varphi y\right)$

$h\left({x\over y}\right) =f\left({(1+\varphi)x -(1-\varphi)y\over (1+\varphi)y+(1-\varphi)x}\right) =f\left({x +{\varphi-1\over \varphi+1}y\over y-{\varphi-1\over \varphi+1}x}\right)$

$h\left({x\over y}\right) =f\left({2x-(1-\varphi) (x + y) \over2 y-(1-\varphi) (y-x)}\right) =f\left({x-{1-\varphi\over 2} (x + y) \over y+{1-\varphi\over 2} (x-y)}\right) $

Видно, что для пересчёта нужно не только знать, какой из четырёх переходов используется, формула может для одного перехода иметь различный вид. Представлены три варианта.

Преобразование можно повторять по нескольку раз. Если первый шаг преобразования координат будет

$g\left({a \over b}\right)=h\left({a-\varphi b\over b+ \varphi a}\right) $

То второй шаг приводит к:

$g\left({a -\varphi b \over b+\varphi a}\right)=h\left({a-\varphi b - \varphi(\varphi a+b)\over b+ \varphi a+\varphi(a-\varphi b)}\right) =h\left({a-2\varphi b - \varphi^2 a\over b + 2\varphi a-\varphi^2 b}\right) $

image-loader.svgЕсли шаг сделать $n$ раз, то коэффициенты будут биномиальные, как в разложении $(a+b)^n$.

$C^{0}_n=1\qquad C^{k+1}_n={n-k\over k+1}C^k_n \qquad C^{n}_n=1 \\C^{k}_n=(n!/k!)/(n-k)! $

$h\left({ a - n\varphi b - (n\varphi\cdot(n-1)\varphi/2) a+(n\varphi\cdot(n-1)\varphi/2\cdot(n-2)\varphi/3) b + \dots \over b + n\varphi a - ( n\varphi\cdot(n-1) \varphi/2) b - (n\varphi\cdot(n-1)\varphi/2\cdot(n-2)\varphi/3) a + \dots}\right) $

Если затем каждый шаг сократить в $n$ раз, то получится:

$h\left({ a - \varphi b - (\varphi\cdot(1-1/n)\varphi/2) a+(\varphi\cdot(1-1/n)\varphi/2\cdot(1-2/n)\varphi/3) b + \dots \over b + \varphi a - ( \varphi\cdot(1-1/n) \varphi/2) b - (\varphi\cdot(1-1/n)\varphi/2\cdot(1-2/n)\varphi/3) a + \dots }\right) $

Теперь $1/n$ можно приравнять к нулю.

$h\left({ a - \varphi b - (\varphi\cdot\varphi/2) a+(\varphi\cdot\varphi/2\cdot\varphi/3) b +(\varphi\cdot\varphi/2\cdot\varphi/3\cdot\varphi/5) a- \dots \over b + \varphi a - ( \varphi\cdot \varphi/2) b - (\varphi\cdot\varphi/2\cdot\varphi/3) a +(\varphi\cdot\varphi/2\cdot\varphi/3\cdot\varphi/5) b+ \dots }\right)$

$ h\left({ a(1-\varphi^2/2!+\varphi^4/4!-\varphi^6/6!+...) - b(\varphi - \varphi^3/3! + \varphi^5/5!+... ) \over b(1-\varphi^2/2!+\varphi^4/4!-\varphi^6/6!+...) + a(\varphi - \varphi^3/3! + \varphi^5/5!+... ) }\right) $

$\cos(x)=1-{x\over1}\left({x\over2}\left(1-{x\over3}\left({x\over 4}\left(1-{x\over 5}\left({x\over 6}(1-...)\right) \right)\right)\right)\right) $

$ \sin(x)={x\over1}\left(1-{x\over2}\left({x\over 3}\left(1-{x\over 4}\left({x\over 5}(1-...)\right) \right)\right)\right)$

$h\left({ a\cos(\varphi) - b\sin(\varphi) \over b\cos(\varphi) + a\sin(\varphi) }\right) $

Вот это&nb

© Habrahabr.ru