Вопросы с тегом 'abstract-algebra'

Абстрактная алгебра - предметная область математики, которая изучает алгебраические структуры, такие как группы, кольца, поля, модули, векторные пространства и алгебры. Он широко используется в нескольких связанных с программированием областях, таких как криптография. Любые математические вопросы на этом сайте должны быть связаны с программированием.
4
ответов

Примеры моноидов/полугрупп в программировании

Хорошо известно, что моноиды потрясающе вездесущительны при программировании. Они настолько повсеместны и настолько полезны, что я, как "хобби-проект", работаю над системой, которая полностью основана на их свойствах (распределенная агрегация данных)...
задан 20 марта '10 в 12:59
3
ответов

Существуют ли какие-либо алгебраические структуры, используемые в функциональном программировании, другие, тогда моноидные?

Недавно я познакомился с функциональным программированием (в Haskell и Scala). Его возможности и элегантность довольно очаровательны. Но когда я встретил Монады, которая использует алгебраическую структуру по имени Моноид, я был удивлен и рад видет...
задан 26 июля '10 в 1:28
1
ответ

Структурно принудительная свободная альтернатива, без левого распределения

В большом бесплатном пакете есть хорошая "Бесплатная альтернатива" , которая поднимает Functor на альтернативу слева-дистрибутива. То есть утверждение состоит в том, что: runAlt :: Alternative g => (forall x. f x -> g x) -> Alt f a -> ...
задан 12 авг. '17 в 9:31
3
ответов

Существует ли теория, объединяющая теорию категорий/абстрактную алгебру и вычислительную сложность?

Теория категорий и абстрактная алгебра связаны с тем, как функции могут быть объединены с другими функциями. Теория сложности относится к тому, как сложно вычислить функцию. Странно, что я не видел, чтобы кто-нибудь сочетал эти области исследований, ...
задан 30 июля '12 в 19:44
2
ответов

Что такое структуры с "вычитанием", но без инверсии?

Группа расширяет идею моноида, чтобы разрешить обратные. Это позволяет: gremove :: (Group a) => a -> a -> a gremove x y = x `mappend` (invert y) Но как насчет структур, таких как натуральные числа, где нет инверсных? Я думаю о: class (Mo...
задан 16 февр. '13 в 21:56
1
ответ

Как получить все алгебраические ассоциативные операции на конечном множестве эффективным алгоритмом?

Число двоичных операций на множестве из 2 элементов составляет 2^(2*2)=16.    Число ассоциативной двоичной операции на этом множестве равно 8. Число бинарных операций на множестве из трех элементов равно 3 ^ (3 * 3) = 19683. Число ассоциативных дво...
задан 09 июля '14 в 19:25
2
ответов

Полиномиальная факторизация в Haskell

С hammar help Я создал шаблон Haskell, который компилирует $(zModP 5) to newtype Z5 = Z5 Int instance Additive.C Z5 where (Z5 x) + (Z5 y) = Z5 $ (x + y) `mod` 5 ... Теперь у меня проблема, я не думаю, что смогу решить этот путь. Замечательны...
задан 07 окт. '11 в 16:15
2
ответов

Коммутативный моноид из пакета "алгебра" в Hackage

Документация для algebra/2.1.1.2/doc/html показывает колоссальное количество классов типов. Как объявить, что рассматриваемая структура должна быть снабжена коммутативной ассоциативной операцией и элементом unit/identity, но без чего-либо (инверсии,...
задан 06 сент. '12 в 0:03
1
ответ

Использование GAP для определения группы

Как вы используете GAP для определения имени группы из таблицы умножения? Я знаю, что вы можете определить группу из набора генераторов, а затем искать группу в наборе внутренних таблиц gap> g := Group([ (1,2), (1,2,3,4,5) ]); Group([ (1,2), ...
задан 01 февр. '12 в 20:13
2
ответов

Вычисление мультипликативного обратного в конечном поле

Я написал расширенный алгоритм Евклида функция xgcd :: FFElem -> FFElem -> (FFElem, FFElem) что для ненулевых конечных элементов поля a, b ∈ GF (p m), вычисляет s и t такой, что sa + tb = 1. Есть ли способ, которым я могу использовать x...
задан 09 дек. '13 в 11:26
4
ответов

Случайно генерирующие ассоциативные операции

В абстрактной алгебре понятие group является довольно фундаментальным. Чтобы получить группу, нам нужен набор объектов и двоичная операция с 3 свойства (4, если вы считаете закрытие). Если мы хотим случайным образом генерировать группу, заданную коне...
задан 10 нояб. '11 в 22:26
1
ответ

В чем смысл класса Extend типа в Haskell?

В Haskell существует класс типа Extend. Класс определяется как class Functor w => Extend w where extended :: (w a -> b) -> w a -> w b Каждый экземпляр класса Extend должен иметь следующие свойства: extended f . extended g = exte...
задан 18 янв. '18 в 5:32
2
ответов

Обозначение и композиция Монады

Я начинаю Хаскелл, и я все еще изучаю теорию категории и ее практическое использование в информатике. Я провел последний день, наблюдая за лекциями из университета Беркли по теории категорий, большая часть его содержания показывала математическое пр...
задан 02 марта '15 в 2:31
2
ответов

Монада: Почему Идентичность имеет значение, что произойдет, если в наборе нет такого специального члена?

Я пытаюсь изучить концепцию monad, я смотрю этот отличный видео Брайан Беккенд пытается объяснить, что такое монада. Когда он говорит о monoid, это набор типов, он имеет правило композиции, и эта композиция должна подчиняться двум правилам: ассо...
задан 25 февр. '16 в 4:07
1
ответ

Теория групп и Python

Как вы пишете код Python, чтобы проверить, является ли операция * на множестве {0,1,.., n-1}, определенная таблицей Кэли ассоциативной или нет. Мой код: def is_associative_cayley_table(table): if not is_cayley_table(table): return False...
задан 20 апр. '17 в 3:32