Pull to refresh
288
-9
Сергей Самойленко @samsergey

Руководитель, научный сотрудник, преподаватель

Send message

Darcs и Pijul. Системы контроля версий для тех, кто любит математику и не любит деревья

Level of difficulty Easy
Reading time 6 min
Views 5.6K

Небольшой обзор систем контроля версий, альтернативных git, и основанных на математической теории. Речь пойдёт о двух системах распределённого контроля версий: Darcs, написанной на Haskell, и Pijul, написанной на Rust. Обе они сейчас активно развиваются и предлагают свои сетевые репозитории. Оказалось, что про них на Хабре толком нет ничего, тогда как про git образовался целый хаб. Поскольку я люблю и использую Haskell, я остановил свой выбор на Darcs, и вот, спустя два месяца непрерывной работы над библиотекой геометрической алгебры для hackage, я готов поделиться впечатлениями от её использования.

Читать далее
Total votes 26: ↑26 and ↓0 +26
Comments 25

Из пушек по воробьям. Генерация и решение лабиринта не самым обычным способом

Level of difficulty Medium
Reading time 19 min
Views 4.5K

На уходящей неделе мне попалась симпатичная, хоть и не новая мини‑серия статей на Дзен‑канале @zdgzdgzdg про процедурную генерацию лабиринта методом «коллапса волновой функции». Пока я читал эти статьи и знакомился с кодом, меня осенило: ведь это же вычисления в комонаде, погружённые в монаду! Я не издеваюсь, действительно, речь идёт о композиции двух паттернов функционального программирования: комонады Zipper, превращающей локальные правила в глобальное состояние, и монады Random, позволяющей генерировать случайные объекты.

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

Читать далее
Total votes 38: ↑38 and ↓0 +38
Comments 7

Математическая продлёнка. Это же элементарно, Ватсон?

Level of difficulty Easy
Reading time 7 min
Views 6.8K

Какие функции принято называть элементарными и почему? И при чём тут Ватсон? Разберёмся со всем по порядку. Обещаю, будет понятно и интересно, хоть и не совсем элементарно.

Когда я был школьником, то моим хобби была охота за функциями, для того чтобы рисовать на миллиметровке их графики, собирая своеобразную коллекцию. Тогда я был вооружён мощным оружием: калькулятором МК-52. До компьютера с графическим, а не текстовым дисплеем (ZX-Spectrum + домашний телевизор), нам всем ещё надо было дорасти, и мне, и доступным мне компьютерам.

Читать далее
Total votes 29: ↑29 and ↓0 +29
Comments 17

Бардак в идеальном мире. Часть 3

Level of difficulty Medium
Reading time 14 min
Views 5.7K

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

Читать далее
Total votes 31: ↑31 and ↓0 +31
Comments 16

Бардак в идеальном мире. Часть 2

Level of difficulty Medium
Reading time 31 min
Views 8.9K

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

Предупреждаю, в тексте достаточно много анимированных картинок и не очень много практической пользы :)

Читать далее
Total votes 69: ↑68 and ↓1 +67
Comments 9

Бардак в идеальном мире. Часть 1

Level of difficulty Medium
Reading time 14 min
Views 27K

Откуда берëтся динамический хаос в простейших механических системах? Как его изучать? А это настоящий хаос или просто что-то очень сложное?

Я начинаю мини-серию статей, в которой мы будем понемногу знакомиться с элементами теории хаоса. За последние полвека сформировался набор классических примеров, кочующих из одного популярного введения в другое: аттрактор Лоренца, логистическое уравнение, двойной маятник, подкова Смэйла и т.п. Я, конечно, их упомяну, но мне бы хотелось показать что, кроме классики, есть хаотические системы, обойдённые вниманием, но, тем не менее, имеющие малую размерность и вполне ясные физические модели, при этом способные порождать красивые и сложные, примеры хаотического поведения, поддающиеся объяснению.

Это пример небольшого исследования, доступного студентам младших курсов, поэтому я позволю себе привести некоторые подробности анализа, которые искушённому читателю могут показаться излишними. Моя задача показать, что даже очень простые системы могут быть очень интересными, красивыми и доступными для глубокого анализа. И, конечно же, это повод показать симпатичные картинки, как правило, фрактальные. Ведь все же любят фракталы, верно? Ну, поехали!

Читать далее
Total votes 153: ↑153 and ↓0 +153
Comments 60

Валим всё в одну кучу, как алгебраисты

Level of difficulty Medium
Reading time 10 min
Views 4.9K

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

Что получится, если сложить все-все-все числа друг с другом?
Чему равен факториал отрицательного числа?

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

Читать далее
Total votes 21: ↑20 and ↓1 +19
Comments 7

Математическая продлёнка. Самый правильный угол

Level of difficulty Easy
Reading time 18 min
Views 6.5K

Что такое прямой угол? Почему дома, вагоны, книжки и коробки преимущественно прямоугольные? Почему расстояние от точки до прямой вычисляется вдоль перпендикуляра? Как построить прямой угол без циркуля и линейки? Что такое вертикаль и горизонталь и почему с горизонтального стола ничего не скатывается? Почему декартовы координатные оси располагаются под прямым углом? Почему ортогональные геометрические векторы перпендикулярны? Как работает теорема Пифагора в неевклидовых геометриях?

Мы найдём ответы на все приведённые выше вопросы, используя одно единственное свойства прямого угла.

Что же это за свойство?
Total votes 29: ↑29 and ↓0 +29
Comments 13

Математическая продлёнка. Математика кривого пропеллера

Level of difficulty Easy
Reading time 3 min
Views 15K

Вы, наверняка, знаете отчего "гнётся и рвётся" пропеллер на цифровых фото и видео. А какую именно форму принимают лопасти винта? Как зависит их видимая форма от скорости вращения? И причём здесь гиперболы?

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

Читать далее
Total votes 125: ↑125 and ↓0 +125
Comments 22

Математическая продлёнка. Из чего сделаны Пифагоровы штаны

Level of difficulty Easy
Reading time 10 min
Views 7.1K

Поводом для написания этой заметки послужила новость, облетевшая мир 18 марта этого года: две школьницы из Нового Орлеана, Кальцея Джонсон и Не`Кия Джексон «впервые доказали теорему Пифагора», опираясь на теорему синусов. В России эту новость встретили с иронией и стёбом, но не бывает плохих поводов поговорить о хороших теоремах.

Одним из ключевых результатов теории категорий является осознание, что знания о каком-то объекте даёт не его «внутреняя» структура, а структура его отношений и связей с другими объектами в его категории.

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

Читать далее
Total votes 40: ↑40 and ↓0 +40
Comments 8

Соблюдаем дистанцию, как топологи

Level of difficulty Easy
Reading time 9 min
Views 6.7K

За минувшие пандемийные годы кто только не прошёлся по этой картинке, обсуждая невозможность выполнения такого требования на плоскости! Теперь, когда страсти поутихли, мне бы хотелось обсудить естественное математическое развитие этой темы в форме вопроса:

А где и как это возможно? Каким образом в различных топологиях можно расположить максимальное количество точек, так чтобы расстояния между любыми двумя точками было бы одинаковым?

Этот пост носит пятничный характер, и не претендует на серьёзное исследование. Он будет интересен тем, кто симпатизирует математике, любит анимированные гифки, но не готов «всё бросить» и погрузиться в дифференциальную геометрию и топологическую теорию графов.

Читать далее
Total votes 61: ↑61 and ↓0 +61
Comments 8

Математическая продлёнка. Мир треугольников

Level of difficulty Medium
Reading time 19 min
Views 10K

Сегодня речь пойдёт о треугольниках, о пространствах, о треугольных координатах, о симметрии и совсем немножко о мере на множестве. Основной же темой рассказа будет факторизация множеств и пространств. Мы построим и исследуем пространство треугольников. Оно очень простое, но последовательно изучить его, полезно, поскольку если кто‑либо из ребят выберет себе путь в жизни, связанный с математикой или физикой, то ему придётся иметь дело с пространствами куда более сложными и трудно представимыми. Так что хорошо бы приобрести кое‑какую интуицию, оперируя чем‑нибудь простым.

Читать далее
Total votes 66: ↑65 and ↓1 +64
Comments 26

Распределение для рекордов, циклических перестановок и количества дел, которые вы успеете сделать за свою жизнь

Level of difficulty Medium
Reading time 12 min
Views 4.1K

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

Приглашаю к чтению тех, кто хочет расширить свой кругозор, или просто любит всякую комбинаторику с вероятностями.

Читать далее
Total votes 26: ↑26 and ↓0 +26
Comments 7

Математическая продлёнка. Рисуем по клеточкам

Level of difficulty Easy
Reading time 11 min
Views 9.2K

Продолжаем серию заметок для занятий математического кружка. Героем нашего сегодняшнего рассказа будет листок в клеточку. Этот образ стал своеобразным символом школьной математики. На одних из нас он навевает депрессивную тоску, а на иных, действует, как возбудитель, взывая маниакальное желание что-нибудь формулировать, строить, решать и доказывать. Равнодушных "к тетрадке в клеточку", я приглашаю просто порисовать что-нибудь: косичку или лабиринт, или, на худой конец, енота. А мы пока обсудим вот какие клеточные вопросы:

Как в тетрадке в клеточку нарисовать квадрат площадью 13 клеток так, чтобы все его вершины лежали на пересечениях сетки? Какие, вообще, квадраты можно вписать в квадратную решётку? А сколько существует способов нарисовать таким образом прямоугольник с заданной площадью? Портреты каких правильных многоугольников можно изобразить в тетрадке? Какие существуют окружности, проходящие через пересечения сетки?

Читать далее
Total votes 60: ↑60 and ↓0 +60
Comments 12

Математическая продлёнка. Про углы и тригонометрию

Level of difficulty Medium
Reading time 17 min
Views 18K

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

Читать далее
Total votes 88: ↑88 and ↓0 +88
Comments 57

Математическая продлёнка. Квадратные уравнения во всей красе

Reading time 9 min
Views 16K

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

Каков геометрический смысл решения? Какова вероятность придумать нерешаемое уравнение? Как выглядит пространство уравнений, имеющих целочисленные решения? Куда деваются корни квадратного уравнения, когда оно не имеет действительных решений и откуда берутся комплексные корни? Как выглядят квадратные уравнения "на самом деле"?

Обо всём этом читайте далее
Total votes 77: ↑77 and ↓0 +77
Comments 41

Математическая продлёнка. Теория чисел на пальцах

Reading time 31 min
Views 19K

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

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

Читать далее
Total votes 28: ↑28 and ↓0 +28
Comments 41

Знакомство с p-адическими числами. Часть 2, практическая

Reading time 13 min
Views 4.7K


Эта часть продолжает неформальный рассказ о p-адических числах и она посвящена практическим аспектам работы с этой числовой системой и, в частности, некоторым деталям реализации p-адической алгебры на языке Haskell. О том, что это за система и зачем она может понадобиться, читайте в предыдущей части.


Мы поговорим об эффективном внутреннем представлении p-адических чисел, о базовых алгоритмах и методах работы с ними, а также о двух классных инструментах в системе типов языка Haskell: о типах-литералах (type literals) и семействах типов (type families).

Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 1

Знакомство с p-адическими числами. Часть 1

Reading time 19 min
Views 17K

Иллюстрация сложения в p-адической топологии (E. Harriss and R. Nelson)
Изображение с сайта Mathematical Art Galleries


В этой серии из двух статей я приглашаю вас заглянуть в один любопытный и не самый популярный уголок математики, в котором обитают необычные создания — p-адические числа, а попутно хочу рассказать о написанной мной Haskell-библиотеке для работы с ними, а также о двух классных инструментах: о типах-литералах (type literals) и семействах типов (type families), приближающих нас к заветным зависимым типам.


Я люблю язык Haskell и, начиная с какого-то времени, мне стало комфортно думать на нём, особенно, на математические темы. Когда понадобилось освоить новый инструмент, — p-адические числа, оказалось, что в репозитории hackage, основном для Haskell-сообщества, нет инструментов для работы с ними, даже в таких серьёзных теоретико-числовых библиотеках, как arithmetic, arithmoi или factory. В конце концов, я написал и опубликовал свой модуль padic, и во второй части этой серии расскажу о некоторых деталях его реализации. А сейчас речь пойдёт о самих p-адических числах.

Читать дальше →
Total votes 38: ↑38 and ↓0 +38
Comments 14

Элегантный вопросительный знак

Reading time 20 min
Views 5.9K

В этой заметке я хочу поделиться элегантным решением одной задачи с сайта-хрестоматии RosettaCode. Речь пойдёт о программе, вычисляющей функцию Минковского — одного из инструментов теории чисел и динамических систем. Несмотря на то, что реализовать эту функцию относительно несложно (её код даже приводится в Википедии), имеет смысл подняться на достаточно высокий уровень абстракции, для того, чтобы увидеть предельно простое решение этой задачи. Ну, и получить удовольствие от красоты математики и языка Haskell.

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

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

Читать далее
Total votes 24: ↑24 and ↓0 +24
Comments 15
1

Information

Rating
Does not participate
Location
Петропавловск-Камчатский, Камчатский край, Россия
Date of birth
Registered
Activity