Задача проверки корневых (под)деревьев на изоморфизм является достаточно известной в рамках олимпиадного мира, однако представленная большинством авторов реализация основывается на неэффективном полиномиальном хэшировании. Проблема данного метода заключается в возможных возникновениях коллизий. В данной статье описан более простой метод, использующий красно-черное дерево (в народе std::map) за ту же асимптотику. Читать далее
«Изоморфизм» — одно из базовых понятий современной математики. На конкретных примерах на Haskell и C# я не только растолкую теорию для нематематиков (не используя при этом никаких непонятных математических символов и терминов), но и покажу как этим можно пользоваться в повседневной практике. Читать дальше →
В процессе изучения возможностей использования геометрической алгебры в физике нашёл интересный изоморфизм между алгеброй четырёхмерного евклидова пространства и алгеброй времени-пространства. Переписал уравнения Максвелла в “плоском” виде. Получилась любопытная картина - каждому закону соответствует свой грейд алгебры: (0) скалярный уровень - закон Гаусса для электрического поля, (1) векторы - закон Ампера-Максвелла, (2) бивекторы - закон Фарадея, (3) тривекторы - отсутствие магнитных зарядов. Читать далее
В третьей и последней статье цикла о конечных полях мы завершаем путь от базовых понятий абстрактной алгебры к полям вида . Разберёмся, как строить поля вида и изоморфизм между полями одинакового порядка на примере полей и . Для наглядности также построим поле . Заодно посмотрим, как автоматизировать вычисления и эксперименты в конечных полях с помощью SageMath. Читать далее