Pull to refresh
22
0
Тимур Абизгельдин @BuddhaSugata

Инженер

Send message

Алгебра музыкального текста

Level of difficultyMedium
Reading time6 min
Views4.1K

Пшеничников С.Б., Сотникова Т.В.

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

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

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

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

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

Для решения задачи требуется найти преобразование канонического нотного текста в «нитку». И как всегда для нового применения алгебры необходима правильная координатизация предметной области. В данной случае каждому используемому нотному знаку  и символу современной нотной нотации требуется поставить в соответствие свой порядковый номер (натуральное число).

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments5

Малоизвестные и интересные особенности C и C++

Level of difficultyMedium
Reading time43 min
Views45K

В C и C++ есть особенности, о которых вас вряд ли спросят на собеседовании (вернее, не спросили бы до этого момента). Почему не спросят? Потому что такие аспекты имеют мало практического значения в повседневной работе или попросту малоизвестны.

Целью статьи является не освещение какой-то конкретной особенности языка или подготовка к собеседованиям, и уж тем более нет цели рассказать все потайные смыслы языка, т. к. для этого не хватит одной статьи и даже книги. Напротив, статья нужна для того, чтобы показать малоизвестные и странные решения, принятые в языках C и C++. Своего рода солянка из фактов. Вопрос “что делать с этими знаниями?” я оставляю читателю.

Если вы, как и я, любите и интересуетесь C/C++, и эти языки являются неотъемлемой частью вашей жизни, в том числе и его углубленного изучения, то эта статья для вас. По большей части я надеюсь, что эта статья сможет развлечь и заставить поработать головой. И если получится, рассказать что-то, чего вы, возможно, еще не знали.

Читать далее
Total votes 161: ↑160 and ↓1+159
Comments61

Путеводитель по гравитационным волнам

Level of difficultyMedium
Reading time18 min
Views15K

Согласно Эйнштейну, гравитация не является силой в пространстве, а проявлением кривизны пространства-времени. Массивные тела, такие как звезды, планеты и черные дыры, изгибают пространство-время по-разному, притягивая друг друга – и это взаимодействие мы называем гравитацией. Известная цитата Джона Уилера кратко это подводит: “Пространство-время говорит материи, как двигаться, материя говорит пространству-времени, как изгибаться.”

Пространству-времени разрешается растягиваться, сжиматься и крутиться. Гравитационные волны – это волны в пространстве-времени, которые, как предсказывает общая теория относительности, излучаются, когда массивные тела двигаются ассиметричным образом.

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

Прим. пер. Обложка из видео https://www.youtube.com/watch?v=4GbWfNHtHRg, тоже советую!

Читать далее
Total votes 58: ↑57 and ↓1+56
Comments84

Эксперимент Штерна-Герлаха, сфера Блоха и квантовые вращения

Level of difficultyMedium
Reading time5 min
Views3.3K

В 1921 году Отто Штерн приехал в город Франкфурт, где познакомился в уроженцем этого города и сотрудником местного университета Вальтером Герлахом, вместе с которым они в том же году и провели прославивший их опыт. Впоследствии выяснилось, что почти всю математику описывающую, спин отдельного электрона, можно вывести из этого эксперимента. Читая описание эксперимента, такой вывод совершенно не кажется очевидным. Хотя бы, например, с какой стати в математике спина электрона появляются комплексные числа?

Чтобы прояснить связь математики спина с экспериментом Штерна‑Герлаха (Ш‑Г) мной была сделана его программная модель. При описании спина электрона очень часто используется сфера Блоха. В программной модели эксперимент Ш‑Г, можно сказать, был совмещен со сферой Блоха. При таком подходе можно визуально увидеть геометрию некоторых соотношений описывающих спин электрона. Увидеть несколько интерактивных программ можно в браузере на сайте Bloch sphere online.

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

Как производится возведение числа в степень, когда в качестве показателя степени выступает матрица, рассматривается непосредственно в тексте на сайте.

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

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

Рогатая сфера Александера — дикая конструкция, которая стала одним из символов топологии

Level of difficultyEasy
Reading time4 min
Views14K

Сегодня я хочу поговорить с Вами о красивейшей из наук - топологии. Начнем мы с очень тривиального рассуждения (за простотой формулировки которого кроется целая бездна), а закончим построением и изучением удивительного объекта - рогатой сферы Александера.

Читать далее
Total votes 50: ↑48 and ↓2+46
Comments26

Обобщай это, обобщай то

Level of difficultyMedium
Reading time7 min
Views6.1K


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

На этот раз мы остановимся на связи между алгебраическими кольцами и алгоритмом поиска выпуклой оболочки множества точек (convex hull).
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments4

Может ли наша реальность быть суммой всех прочих реальностей

Reading time9 min
Views11K

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

Читать далее
Total votes 45: ↑38 and ↓7+31
Comments17

Квантовая запутанность глазами хакера. Часть 1

Reading time12 min
Views20K

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

Квантовый мир словно использует надежную защиту, чтобы оставить в тайне свои секреты. Но любая защита — это лишь генератор ошибок перед правильным кодом. Как мы знаем, решением, казалось бы «невозможных задач» лучше всего справляются люди, обладающие нестандартным мышлением и творческим подходом. Поэтому, предлагаю рассмотреть способы решения данной задачи с точки зрения специалиста по информационной безопасности, вплотную опираясь на результаты реальных экспериментов. Каждый эксперимент шаг за шагом раскроет небольшие детали, которые позволят двигаться дальше в нужном направлении. Мы залезем в дебри квантовой механики и приоткроем завесу тайны, экспериментально показав «баги и фичи» не описанные в учебниках. В результате нам удастся провести ряд практических экспериментов во второй части данного поста, позволяющих получить уникальные результаты. Постараемся разобраться с алгоритмами квантового мира и подобрать правильные ключи к тайнам этого удивительного мира.
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments12

Расчёт электрических цепей методом структурных чисел для детей и взрослых

Reading time12 min
Views13K

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

Когда я говорю о простоте, то это не фигура речи. Если бы вы сидели напротив меня я уверен, что за 15 минут я научил бы ЛЮБОГО из вас. Ни знаний физики, ни знания математики не требуется. Это похоже на магию. Вы делаете простые операции с натуральными числами и ... в конце получаете все необходимые параметры схемы. В этом сила, красота и, возможно, проклятие этого подхода.

Если бы вы сидели напротив меня... но вы не сидите, и не так-то просто изложить всё это письменно. Я постарался. Если у меня получилось, то через 20 - 30 минут вы сможете рассчитать ЛЮБОЙ пассивный четырёхполюсник с линейными элементами.

Итак, засекаем время.

Читать далее
Total votes 43: ↑42 and ↓1+41
Comments9

Simulating Return Type Inference in C#

Reading time10 min
Views11K

Мне по-настоящему нравится больше чего-либо в разработке ПО делать фреймворки, позволяющие другим разработчикам создавать что-то крутое. Иногда, в погоне за идеальным кодом, мне на ум приходят странные идеи, при реализации которых C# может дойти до предела своих возможностей.

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

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

Читать далее
Total votes 30: ↑30 and ↓0+30
Comments24

Как писать программы с математическим совершенством

Reading time7 min
Views11K

Имя Лесли Лэмпорта, возможно, не является узнаваемым, но он стоит за несколькими великими проектами: программой для набора текста LaTeX и работой, которая сделала возможной облачную инфраструктуру в Google и Amazon. Он также уделил много внимания нескольким проблемам, дав им отличительные названия, такие как алгоритм пекарни и задача византийских генералов. Это не случайно. 81-летний учёный необычайно внимательно относится к тому, как люди используют программное обеспечение.

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

«Распределенная система — это система, где сбой компьютера, о существовании которого вы даже не подозревали, может сделать ваш собственный компьютер непригодным для использования», — сказал однажды Лэмпорт.

Одним из самых больших источников проблем являются «параллельные системы», в которых несколько вычислительных операций выполняются в течение перекрывающихся отрезков времени, что приводит к двусмысленности: часы какого компьютера являются правильными? В основополагающей статье 1978 года Лэмпорт ввел понятие «причинности» для решения этой проблемы, используя идеи специальной теории относительности. Два наблюдателя могут не согласиться с порядком событий, но если одно событие вызывает другое, это устраняет двусмысленность. А отправка или получение сообщения может установить причинно-следственную связь между несколькими процессами. Логические часы – теперь также называемые часами Лэмпорта – давали стандартный способ рассуждать о параллельных системах.

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

Как работает UI в Android. Не все так сложно

Reading time6 min
Views14K

Одна из фундаментальных тем в разработке под Android это работа с UI. Понимание того, как работает UI не даст многого в практическом плане, зато уменьшит вероятность того, что вы натворите полную дичь.

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments2

10 лучших алгоритмов 20 века

Reading time7 min
Views45K
Прим. Эта статья была опубликована в майском номере 2000 года журнала SIAM. На рубеже веков появилась «мода» на подведение итогов уходящего столетия. И алгоритмы этой участи не избежали. В этой статье авторы делают обзор 10 лучших алгоритмов 20 века. Возможно, вам будет интересно узнать, какие алгоритмы, по мнению авторов списка, внесли наибольший вклад в развитие науки.

Algos — греческое слово, означающее боль. Algor — латинское слово, означающее холод. Но ни то, ни другое не является корнем слова «алгоритм», которое происходит от имени Аль-Хорезми – арабского ученого девятого века – чья книга «al-jabr wa’l muqabalah» (Китаб аль-джебр ва-ль-мукабала) переросла современные учебники по алгебре для средней школы. Аль-Хорезми подчеркивал важность методических процедур для решения задач. Будь он сегодня здесь, то, несомненно, был бы впечатлен вершинами математического метода, названного в его честь.

Часть из лучших алгоритмов компьютерной эры были освещены в январско-февральском выпуске 2000 года журнала Computing in Science & Engineering — совместном издании Американского института физики и Компьютерного общества IEEE. Приглашенные редакторы Jack Dongarra (Джек Донгарра) из Университета Теннесси и Francis Sullivan (Фрэнсис Салливан) из Института оборонного анализа составили список из 10 алгоритмов, который они назвали «Top Ten Algorithms of the Century».

«Мы попытались собрать 10 алгоритмов, оказавших наибольшее влияние на развитие и практику науки и техники в 20 веке», — пишут Донгарра и Салливан. По признанию авторов, как и в любом рейтинге, их выборы неизбежно будут спорными. Когда дело доходит до выбора лучшего алгоритма, кажется, что он и вовсе не существует.

Итак, вот список 10 лучших алгоритмов в хронологическом порядке. (Все даты и имена стоит воспринимать как аппроксимацию первого порядка. Большинство алгоритмов формируются в течение времени при участии многих ученых).
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments44

Цифровая линия задержки аудиосигнала PT2399

Reading time7 min
Views13K

Привет, Хабр! Сегодня расскажу про очень доступную, дешёвую и популярную микросхему, ставшую и продолжающую становиться основой для множества звуковых эффектов. Соберу на её основе эффект эхо (delay) и ревербератор — имитацию помещения или пространства.
Здесь ждут подробности, с видео и примерами звучания.
Total votes 54: ↑53 and ↓1+52
Comments10

Гайд по архитектуре приложений для Android. Часть 1: обзор

Reading time7 min
Views50K

Перевод обновлённого гайда Android по архитектуре приложений. Это — первая часть из пяти: обзор рекомендаций по архитектуре.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments2

Как выложить свою первую библиотеку в open source

Reading time6 min
Views5.3K

Привет. Меня зовут Роман Аймалетдинов, я разрабатываю под Android в inDriver. Сегодня я решил поделиться своим небольшим знанием о том, как выложить в open source свой проект. Приятного чтения!

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments2

Теория относительности в реальном мире: GPS

Reading time4 min
Views133K


Люди часто спрашивают меня: «Чем же так хороша теория относительности?». Обычно о ней думают как о некой абстрактной, мистической математической теории, никак не связанной с повседневной жизнью. На самом деле, это совсем не так.
Читать дальше →
Total votes 168: ↑155 and ↓13+142
Comments162

STM32. Про синус

Reading time7 min
Views16K

В статье алгоритмическая оптимизация функции sin() для бюджетных микроконтроллеров stm32, повышающая производительность в 10 и более раз.

Тригонометрические функции, характеризующиеся высоким потреблением процессорного времени, могут негативно влиять на выбор бюджетных микроконтроллеров ( без модуля FPU ) для задач, где важна скорость счёта, например, контроль пространственного положения.

Читать далее
Total votes 61: ↑60 and ↓1+59
Comments100

Как подружить MATLAB DLL и C#

Reading time2 min
Views4.4K

Когда есть желание пользоваться m-файлами на стороне, например, впихнуть хорошо работающие методы аппроксимации из Curve Fitting Toolbox в какую нибудь стороннюю свою разработку, можно скомпилировать dll-библиотеку и использовать ее по своему разумению.

Данная статья - кратко по шагам действия.

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments5

C/C++ из Python (Kivy, ctypes) на Android

Reading time11 min
Views6.2K
main

Ранее я писал статью C/C++ из Python (ctypes), в ней описывается процесс запуска на Linux. На этот раз мне понадобилось повторить это уже на Android. В этой статье речь пойдет о сборке, необходимых инструментах, механизмах отладки и установки.

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

Information

Rating
Does not participate
Location
Villach, Kärnten, Австрия
Registered
Activity