Счет появился не просто чтобы считать, а чтобы посчитать какие-то объекты. Например, количество яблок или антилоп в стаде. То есть всегда есть единица измерения.
Можно считать на пальцах или палочках, то есть задать некоторое соответствие между единицами измерения. Одна антилопа — одна палочка. Так как любые другие единицы можно заменить на палочки, то будем рассматривать только их. Палочка это абстрактная единица измерения.
Простые действия
Надо заметить, что счет идет в порядке возрастания. Такая счетная палочка сама по себе подразумевает наличие следующей палочки. То есть единица измерения имеет направление. А значит это единичный вектор.
Добавляя один единичный вектор в конец другого, мы будем перемещаться по числовой прямой, получая новые значения.
И тут появляется 4 варианта.
Как выглядят концы единичного отрезка? Какой вариант лучше моделирует реальный счет?
Первый не подходит. Двигаясь таким образом, мы никогда не попадем в целое число. Вроде досчитали до 1, а ни первому ни второму вектору оно не принадлежит.
Четвертый тоже не подходит. Если мы в точке 1, то непонятно, это первый вектор или второй. Когда мы считаем овечек, прыгающих через забор, у них нет общих точек.
Второй выглядит самым правильным. Дошли до точки 1 — значит отсчитали 1 объект. Каждая точка принадлежит одному вектору. Его мы и будем использовать в дальнейшем.
Третий тоже выглядит подходящим. Но у него есть особенность — точка 0 принадлежит первому вектору. Когда еще ничего нет, мы считаем что что-то уже есть. Это не похоже на реальный счет. Зато похоже на счет, используемый в компьютерах. Первая 32-разрядная ячейка в оперативной памяти занимает байты с адресами 0, 1, 2, 3. Чтобы было похоже на счет реальных объектов, надо было бы отсчитывать от адреса 1*4 и брать байты со смещением 0, -1, -2, -3.
Значит, второй вариант.
Обратите внимание, ноля здесь нет. Если просто считать по порядку, то не совсем очевидно, что точка отсчета не первая единица, а что-то до нее. Возможно поэтому ноль появился позже появления собственно счета.
Результат сложения можно представить в виде одного вектора из начальной точки в конечную.
Как сделать вычитание? Для этого надо добавить в рассмотрение вектор, направленный в обратную сторону.
Будем считать, что закрашенная точка означает стрелочку, то есть показывает направление вектора.
Чтобы различать эти вектора, назовем их соответственно положительным и отрицательным.
Можно ввести операцию изменения направления. После применения ее к положительному вектору получается отрицательный. После применения ее 2 раза получается исходный вектор. По-другому ее можно назвать «унарный минус» или «смена знака».
Отрицательные вектора тоже образуют последовательность.
Если бы мы рассматривали только отрицательное направление, можно было бы использовать те же числа, что и для положительного, то есть без знака. Но мы рассматриваем оба, и надо отличать отсчеты в положительном и отрицательном направлении. Поэтому у чисел в отрицательном направлении стоит знак «минус». Можно и положительные числа обозначить знаком «плюс», но это необязательно, отличие и так есть.
Что это означает? Что есть положительный и отрицательный 0. Геометрически они находятся в одной точке. Это связывает положительный и отрицательный луч направления счета.
Ноль можно рисовать закрашенным, но для этого надо ввести особый вектор нулевой длины, к которому и прибавлять единичные. Его можно получить из единичных векторов.
Технически у него левый край тоже не включен, но правый край находится в той же точке. То есть вектор превращается в точку, или по-другому, точка это частный случай вектора.
Интересный момент, мы можем подойти к нулю слева или справа. Соответственно и знак у него будет положительный или отрицательный. Что-то похожее упоминается здесь.
Раз точка 0 это вектор нулевой длины, то можно сказать, что и отдельно взятая на прямой точка 1, или 2, или 3, это тоже вектор нулевой длины. Получается, есть нулевые векторы, которые связаны ненулевыми. Это решает вопрос, почему отрезок ненулевой длины состоит из бесконечного числа точек нулевой длины. Потому что точки всегда соединены ненулевыми векторами. Это две противоположности, которые образуют систему. Как 0 и 1 в двоичной системе счисления.
С умножением все просто — берем целиком второй вектор столько раз, сколько единиц в первом векторе.
С делением сложнее. Так же как вычитание это сложение со сменой знака, так и деление это умножение на обратное число. То есть надо задать способ получения вектора 1/N. Так как он меньше единичного вектора, надо ввести более мелкую единицу измерения.
Например, как разделить вектор длиной 12 на 10 частей? Вводим новый вектор некоторой длины и задаем условие, что этот вектор, повторенный 10 раз, дает исходный единичный вектор. В результате снова получаем вычисления в целых числах. 120 мелких векторов делим на 10 частей, получаем 12 мелких или 1.2 единичного.
Как выразить через такие векторы число пи? Никак. Точное выражение через единицы измерения означает точную десятичную запись. Точно так же нельзя выразить ими число
Число
Выходим за границы
Как попасть в эту точку?
Двигаясь только по прямой мы не можем в нее попасть. Значит, надо ввести еще один единичный вектор, перпендикулярный первому. Ввести положительное и отрицательное направление, определить правила сложения и вычитания между всеми видами векторов. Получается слишком сложно. Много сущностей и заданных правил, к тому же похожих друг на друга.
Что если подойти с другой стороны? Что надо сделать, чтобы попасть в точку в стороне от основного направления? Надо повернуть.
Повернули один вектор и складываем с другим.
Нетрудно заметить, что поворот положительного единичного вектора 2 раза дает отрицательный вектор.
Ничего не напоминает? Да ведь это умножение на мнимую единицу.
Значит что получается. это не вектор, перпендикулярный вещественному направлению. это поворот на прямой угол. Это не единица направления, а единица поворота. Умножение вектора на означает поворот вектора на через комплексное пространство. Смена знака это поворот 2 раза.
«Комплексное пространство» означает что если мы рассматриваем двумерный график функции , то мнимая часть находится в плоскости, перпендикулярной поверхности графика. Для ее отображения понадобится третье измерение, а мнимая часть потребует уже четвертого. Для одномерной числовой прямой достаточно второго.
А что такое квадратный корень из ? Видимо это такое значение, что умножение единичного вектора на него 2 раза дает вектор .
Раз умножение на это поворот на , то умножение на корень из это поворот на .
Проверим в Wolfram Alpha.
Ага, так и есть.
Любое выражение вида можно представить в виде , где это длина вектора, а задает угол поворота как коэффициент для .
При умножении чисел длины перемножаются, а углы складываются.
4 умножения на i возвращают вектор в исходное состояние. График умножения на с изменением степени по 0.1 дает обычную единичную окружность. Если развернуть ее по оси , получим обычные синус и косинус. Как думаете, как выглядят синус и косинус в 3D? Это спираль.
Здесь период целочисленный, так как по отсчитываются обороты, а не длина окружности.
Картинки кликабельные, по ссылкам интерактивная страница с графиками. В блоке «Axis mappping» определяется, какие 3 из 4 осей показываются в 3D. В поле «Function 1» и «Function 2» находится javascript-код, из которого создается объект типа Function.
В URL хэш, в хэше base64, в base64 json, в json значения полей.
Подписи относятся не к центральным осям, а к линиям, по которым откладываются цифры.
Расчеты в комплексных числах выполняются с помощью math.js, графики сделаны с помощью plotly.js.
А что если умножать не на , а на ? Вместо окружности получится расходящаяся логарифмическая спираль.
Вернемся ненадолго к делению. Обратное число это степень -1. Это связано с движением по этой логарифмической спирали.
Это график функции . Длина вектора изменяется от до 2.
График длины радиуса это обычный экспоненциальный график вида .
Особый случай
Рассмотрим график функции
Тождество Эйлера выглядит так:
Это особый случай формулы Эйлера. Что оно означает?
Оно означает, что значение функции в вещественной точке c мнимой частью равно -1.
Добавим график функции .
Он идет перпендикулярно вещественному и выглядит как . Поэтому , , тоже равны -1.
Картинку, которую рисуют в википедии, можно получить так. Отличается значение для оси Y в Axis mapping.
В трехмерном виде получается волнистая поверхность.
Чтобы получить последний график, надо дополнительно в консоли запустить функцию
buildFuncSurface()
. В интерфейсе можно задать только 2 серии точек, а на последнем их 3. Для управления сериями есть функции addTraces()/deleteTraces()
.Еще есть функция
altform()
, которая показывает запись комплексного числа в виде console.log(altform(math.i.sqrt()))
0.707106781187 + 0.707106781187i = 1 * i^0.5 = 1 * i^(1/2)
Также есть объекты
Plotly
и math
, которые добавляются библиотеками. Комментарии (39)
NeoCode
04.01.2018 20:37Ну если тема об арифметике, то вот такой вопрос: базовые арифметические операции — сложение, умножение — насколько они фундаментальны? Или можно придумать что-то еще, какую-то альтернативу? Внутренне логичную и возможно даже полезную, но — иную?
В голову приходят только логические операции (И, Или, Исключающее Или и т.д.). Можно сказать что это сложение и умножение в замкнутом конечном множестве чисел {0,1}. Но это все знают… а есть что-то такое экзотическое, чего не знает почти никто?michael_vostrikov Автор
04.01.2018 21:06Можно сказать, что базовые арифметические операции выражаются через сдвиг, поворот и масштабирование единичного вектора. Так что, думаю, нельзя.
kahi4
04.01.2018 22:47Что вы спрашиваете называется вроде как базисом системы счисления — т.е. Минимальный набор операций, через которые можно выразить все остальные. Для двоичной системы счисления это ИЛИ-не либо И-НЕ на выбор (и сдвиг, но почему-то в теории его не включают)ъ насколько я помню из университета, что-то подобное есть для десятичной системы счисления, даже теорема для этого есть, но найти так и не удалось. Впрочем, мне это всегда казалось лукавством, покуда я не представляю как через сумму и перемножение определить, например, предел.
bearad
05.01.2018 08:20что-то подобное есть для десятичной системы счисления, даже теорема для этого есть, но найти так и не удалось.
Как по вашему, логика может зависеть от система исчисления (десятичная, двоичная и др.)?
andreyverbin
04.01.2018 23:03Сколько угодно и математики этим активно занимаются. Статья дает интересную перспективу на числа, но есть и другой взгляд на вещи, который идет из современной алгебры и теории чисел.
Как выразить через такие векторы число пи? Никак. Точное выражение через единицы измерения означает точную десятичную запись.
Можно взять и начать считать пары палочек — получатся рациональные дроби. Пара (1,3) будет означать 1/3. Правда рассматривать нужно будет не сами пары, а классы эквивалентностей на этих парах, так чтобы (1,3) попадало в тот же класс что и (2,6). Далее дедекиндовыми сечениями на рациональных дробях получаем вещественные числа. Далее вводим пары вещественных чисел и получаем комплексные числа, с особым правилом умножения и получаем комплексные. А вот следующее расширение множества чисел уже придумать нельзя.
Ремарка — прежде чем вводить понятие пар и классов эквивалентностей нужно договориться о том, что такое множество. Это оказывается не так просто, можно гуглить про ZFC.
Вопрос на засыпку — чем отличается вектор [1,2] от 1 + 2*i? Ответ — комплексные числа можно умножать и получать комплексные числа. Вектора, в общем случае, умножать нельзя. Для размерности векторов 3 придумали полезную операцию «умножения», но это частный случай и не умножение, потому что некоммутативное.
Логические операции вместе с множеством из двух элементов (например {0, 1}, {да, нет}, {красное, зеленое}) образуют алгебраическое поле, так же как и вещественные и комплексные числа и много чего еще.
Любое множество, которое мы можем оснастить структурой алгебраического поля можно назвать числами (скалярами, наверное, правильнее говорить). Например поле можно сделать из матриц 2x2, и даже найти изоморфизм между такими матрицами и комплексными числами.
Ограниченные вещественные функции на интервале тоже можно рассматривать как числа.
Кольцо вычетов по простому модулю это тоже поле. Например множества — {1,2,3} или {1,2,3,4,5} но не {1,2,3,4}
А есть еще алгебры Ли и еще миллион всяких других алгебр, которые реально используются в расчетах и инженерии. Короче — учить надо современную алгебру и теорию чисел, палочки это хорошо, но идет немного в сторону от основной дороги математики.
koldyr
04.01.2018 23:33Действительные числа существуют в единственном экземпляре (с точностью до изоморфизма). Комплексные числа, как алгебраическое расширение действительных — соответственно тоже одни. Основная теорема алгебры — поле комплексных чисел алгебраически замкнуто.
Noortvel
05.01.2018 08:19Ну вообще фундаментальным понятием является только множества (никто не знает как строго его обосновать, но все пользуются). Все остальные понятия нужно вводить(цифры, сложение, вычитание и т.д и т.п). Но вообще математика это как дихотомия Зенона, чем глубже обосновываешь, тем больше вопросов.
alexeykuzmin0
06.01.2018 01:30Как это никто не знает? В теории множеств есть разные системы аксиом.
koldyr
06.01.2018 14:13Это точно, например там есть аксиома выбора…
alexeykuzmin0
06.01.2018 17:26Потому я и пишу, что системы аксиом разные. И нельзя выбрать из них «правильную». Точно такая же ситуация, например, в геометрии сложилась.
koldyr
06.01.2018 17:46Я имел в виду не выбор системы аксиом, а конкретно — аксиому выбора.
alexeykuzmin0
06.01.2018 17:51Я вас понял. Именно вокруг включения или не включения аксиомы выбора в систему аксиом, насколько я понимаю, и ведутся самые бурные дискуссии.
DrSmile
04.01.2018 21:45базовые арифметические операции — сложение, умножение — насколько они фундаментальны?
Они, вообще, не фундаментальны. В аксиоматике Пеано сложение и умножение определяются по индукции через операцию инкремента.michael_vostrikov Автор
04.01.2018 22:14Кстати да. Такое последовательное сложение векторов напоминает числа в лямбда-исчислении. Мне в нем непонятен один момент. Вот сложение красиво выражается через последовательное применение функции "+1". А вычитание через пары и поиск предыдущего значения. Выглядит как-то нелогично. Почему нельзя ввести сначала отрицательные числа? Логичнее было бы определить функцию "-1" или «изменение знака», применяемую к "+1", и определить правила сложения с такими числами. Но я не силен в функциональном программировании и затрудняюсь это написать.
chersanya
06.01.2018 19:04А что тогда вычитание, если не действие обратное сложению? Соответственно, значение функции декремент dec(x) определяется как элемент y, для которого inc(y)=1 — если такой существует.
michael_vostrikov Автор
06.01.2018 19:35Если быть точным, вычитание это не действие обратное сложению, это сложение с обратным элементом.
x - y = x + (-y)
Так что, если инкремент определяется как (x (+1)), то декремент должен определяться как (x (-1)). «Обратность» определяется для изменяющего аргумента, а не для результата.
А определение через предыдущее не позволит ввести отрицательные числа, так как придется начинать не от нуля, а от минус бесконечности.chersanya
06.01.2018 19:43Давайте по порядку.
Если быть точным, вычитание это не действие обратное сложению, это сложение с обратным элементом.
Чем именно вам не понравилось определение вычитания как действия, обратного сложению?michael_vostrikov Автор
06.01.2018 19:51Тем, что несимметрично определению сложения, и тем, что не позволяет попасть в -1 из точки 0.
chersanya
06.01.2018 20:27+1Тем, что несимметрично определению сложения
Интересно. А зачем ему быть симметричным? И тем более, как ни определяй — если получается операция с одинаковыми свойствами то это одно и то же. Определения можно произвольно выбирать (из нескольких эквивалентных) «по вкусу», то есть по их удобству в конкретном случае.
тем, что не позволяет попасть в -1 из точки 0.
Если мы рассмотрим определение чисел, то вкратце оно обычно делается так:
— определяются натуральные числа через 0 и функцию inc(x)
— определяется сложение x+y через inc(x)
— определяется вычитание x-y как операция, обратная сложению
— замечается, что не для всех x и y сущесвует элемент x-y
— к натуральным числам добавляются все такие элементы (и правильно определяется операция равенства) — полученное множество (минимальное по включению, содержащее натуральные числа и замкнутое относительно вычитания) называется целыми числами
— ну и далее идут рациональные (замкнутое относительно деления), действительные (замкнутое относительно взятия предела), комплексные (замкнутые относительно нахождения корней полинома).
В такой последовательности, когда мы определяем вычитание, у нас пока нет отрицательных чисел. Понятно, что можно делать и по-другому, но обычно определения вводятся примерно так.michael_vostrikov Автор
06.01.2018 21:00Определения можно произвольно выбирать (из нескольких эквивалентных)
Так не эквивалентно же. Введение +1 позволяет двигаться от нуля в плюс бесконечность на любую величину. Введение -1 позволяет двигаться в минус бесконечность, а определение его как chsign(+1) превращает его из аксиоматического понятия в производное. Меньше сущностей, больше возможностей.
А введение понятия "обратное действие" или "предыдущее число" не позволяет.
к натуральным числам добавляются все такие элементы
Этот момент я не понял. Ну добавили мы их, а что дальше, как из -10 вычесть 1? Как получить предыдущее число для -10?
замечается, что не для всех x и y существует элемент x-y
но обычно определения вводятся примерно так.Но зачем такие сложности, если x-y существует для всех? Этот вопрос появляется уже когда мы досчитали до 2 — что будет, если из 1 вычесть 2. С введением -1 все гораздо проще же.
Можно рассмотреть на примере дат. Складывать 2 даты довольно бессмысленно, складывается дата и временной интервал. С введением отрицательного интервала можно получить вчерашнюю дату просто добавив его к сегодняшней. А с предыдущим значением придется от начала времен отсчитывать.
chersanya
06.01.2018 21:46Этот момент я не понял. Ну добавили мы их, а что дальше, как из -10 вычесть 1? Как получить предыдущее число для -10?
-10 - 1
по определению вычитания и отрицательных чисел раскрывается как0 - 10 - 1
. Соответственно, упрощаем (соответствующие свойства операций легко доказываются) и получаем 0- 10 - 1 = 0 - (10 + 1) = 0 - 11 = -11
. Замечу, что например «10» это просто удобная запись дляinc(inc(...(inc(0)...)
, и так же -10 это просто удобная запись для0 - 10.
Почитайте всё-таки, как обычно вводятся отрицательные числа (как классы эквивалентности пар (x, y)) и почему. Мне кажется, это должно покрыть все указанные вопросы, включая
Так не эквивалентно же.
и
x-y существует для всех
michael_vostrikov Автор
06.01.2018 23:440 - 11 = -11
Так а как вы выполните вычитание 11? Это именно оно выражается через
-10 - 1
.
Почитайте всё-таки, как обычно вводятся отрицательные числа
Так я читал. Я же говорю, вычитание через пары выглядит несимметрично сложению, для которого пары не используются.
Получается, для вычитания чисел надо вводить специальные правила, типа если одно больше другого, то возвращаем число со знаком плюс, иначе минус.
А как в таком варианте ввести комплексные числа? Добавить еще один вид чисел ((sign, re), (sign, im)), определить новые правила сложения/вычитания? Тогда i это будет направление, и корень из i непонятно как считать.
А в другом варианте у нас всего 3 примитива — 0, inc(x), turn(x), из которых выражается всё. x = (r, a), i=(1, 1), sqrt(i) = (1, 0.5), chsign(x) = turn(turn(x)), dec(x) = add(x, chsign(inc(0))), add(x, y) = ...
У меня собственно вопрос, не как оно сделано, а почему именно так, по-другому же удобнее.
chersanya
07.01.2018 04:27+1Так а как вы выполните вычитание 11? Это именно оно выражается через -10 — 1.
"-11" — это по определению просто более удобная запись для «0 — 11», я же явно написал в прошлом сообщении.
Так я читал. Я же говорю, вычитание через пары выглядит несимметрично сложению, для которого пары не используются.
Всё равно так себе довод. Несимметричностей среди простых операций много — хоть бы взять то, что любое число на любое можно умножить, но не любое на любое поделить. Или например x^2 можно легко вычислить для любого x, а вот sqrt(x) намного более хитрая функция, причём многозначная. Кстати многозначность у вас как-то заметается под ковёр.
Есть ещё одна причина, почему ничего плохого в несимметричности определения операций я как-то не вижу. Ведь если начинать с натуральных чисел, как наиболее естественных, все следующие шаги (целый, рациональные, действительные, комплексные) являются пополнением предыдущего множества относительно некоторой математической операции. Кстати, а сами натуральные числа в принципе можно рассматривать как пополнение множества {0} относительно операции inc(x). И вас же не смущает, что для деления (рациональные числа) тоже вводятся пары и классы эквивалентности на них?michael_vostrikov Автор
07.01.2018 08:33Кстати многозначность у вас как-то заметается под ковёр.
Почему, это прямое следствие поворотов. 4 полных поворота возвращают прежнее направление.
sqrt(1) = sqrt(i^4) | sqrt(i^8) = i^2 | i^4 = -1 | 1
И вас же не смущает, что для деления тоже вводятся пары
Деление тоже должно быть симметрично умножению. Это точно так же связано с движением в сторону +1 и -1, просто это функции более высокого порядка, движение осуществляется по логарифмической спирали. Как пример с 1/2 и 2 в статье.
Bombus
04.01.2018 22:38Для тех кто интересуется подкину самую короткую задачу:
i^i (i в степени i)
Да, эта задача имеет решение, хотя сходу часто люди делают большие глаза.Keyten
05.01.2018 02:11Ну это совсем элементарно для любого человека, у которого был курс ТФКП. Я сам же на самой первой паре по нему эту задачу придумал и предложил.
Спойлерi = cos(pi/2) + isin(pi/2) = e^(i * pi/2)
i ^ i = (e^(i * pi/2))^i = e^(-pi/2),
если не брать в расчёт, что решений не одноa-tk
05.01.2018 13:33А продолжение с кватернионами будет?
michael_vostrikov Автор
05.01.2018 14:14+1Нет) Я не настоящий математик, это просто наблюдения в той области, с которой я знаком.
Ernest88
05.01.2018 19:02В этом подходе что-то есть — понять математику образной частью мышления, а не сухими формулами. Думаю великие математики в какой-то степени так и поступали.
alexeykuzmin0
06.01.2018 01:32Проблема этой статьи в том, что она показывает, как, но не показывает главного — зачем? Хоть бы про кубические уравнения рассказали.
michael_vostrikov Автор
06.01.2018 09:36Цель — показать, как связаны обычная арифметика и комплексные числа, почему есть счет от нуля и от единицы, что i это поворот, а не направление. Попытка разобраться в причинах, а не просто считать что «так сложилось».
Я сначала сомневался, стоит ли писать. Но недавно прочитал в статье Ричард Хэмминг: «Есть мысли, о которых вы не можете думать» такую фразу:
Важно заметить, что хоть я и указал, что мы, может быть, никогда не сможем понять КМ в классическом смысле «понять», мы тем не менее создали формальную математическую структуру, которую мы можем очень эффективно использовать.… Но удивительно, как вы привыкаете к КМ после того, как вы работаете с ней достаточно долго. Это почти та же история, как обращаться с комплексными числами — все слова преподавателей о комплексной арифметике… мало что значила для вас; ваша вера в «реальность» комплексных чисел исходила из их длительного использования и видения, что они часто дают разумные, полезные предсказания.
Вот и решил показать, что это не просто вера в реальность формальной структуры, а всё логично вытекает одно из другого и это можно понять.Eldhenn
06.01.2018 16:13> i это поворот, а не направление
Система координат на самом деле не декартова, а полярная!
akryukov
Картинки у вас красивые, а математика — странная. Вот этот тезис выглядит особенно необычно.
Я склонен считать, что если у нас вообще существуют точки "в стороне от основного направления", то мы имеем дело не с прямой, а с плоскостью. При этом действуют обычные правила сложения векторов.
michael_vostrikov Автор
Да, выход за пределы прямой это плоскость, в данном случае комплексная. Сначала мы рассматривали только вещественную часть, которая является прямой на этой плоскости.
Nashev
Вы забыли ввести плоскость, прежде чем стали в неё сворачивать… Это обескураживает
michael_vostrikov Автор
Ну тогда и прямую забыл, прежде чем по ней что-то откладывать)
Сворачивание в сторону это и есть введение второго измерения.