Вычисление порядка элемента в группе — различия между версиями
Строка 2: | Строка 2: | ||
|item1=Тут надо написать про алгоритм, который использует теорему Лагранжа. И работает за время <tex>O(\mathrm{FactorTime} \cdot \log |G|)</tex>. | |item1=Тут надо написать про алгоритм, который использует теорему Лагранжа. И работает за время <tex>O(\mathrm{FactorTime} \cdot \log |G|)</tex>. | ||
}} | }} | ||
+ | |||
+ | Пусть <tex>G</tex> - группа, <tex>a \in G</tex>. | ||
+ | По следствию из теоремы Лагранжа порядок элемента является делителем порядка группы. | ||
+ | Таким образом достаточно рассмотреть <tex>a^n</tex>, где <tex>n \in X</tex>, <tex>X</tex> - делители порядка группы. | ||
+ | |||
+ | '''Алгоритм:''' | ||
+ | |||
+ | 1) Найти все делители <tex>|G|</tex> перебором от 1 до <tex>\sqrt{|G|}</tex> | ||
+ | |||
+ | 2) Для каждого делителя <tex>n</tex> проверить значение <tex>a^n</tex>. Наименьший n, такой что <tex>a^n = e</tex>, является порядком элемента <tex>a</tex> в группе. | ||
+ | |||
+ | |||
+ | ''Алгоритмическая сложность:'' Перебор от 1 до <tex>\sqrt{|G|}</tex> выполняется за <tex>O(\sqrt{|G|})</tex>. Возведение <tex>a</tex> в степень <tex>n</tex> выполняется за <tex>O(\log n)</tex>. Следовательно время выполнения <tex>O(\sqrt{|G|} \cdot \log{|G|})</tex> |
Версия 17:51, 4 июля 2010
Эта статья требует доработки!
- Тут надо написать про алгоритм, который использует теорему Лагранжа. И работает за время .
Если Вы исправили некоторые из указанных выше замечаний, просьба дописать в начало соответствующего пункта (Исправлено).
Пусть
- группа, . По следствию из теоремы Лагранжа порядок элемента является делителем порядка группы. Таким образом достаточно рассмотреть , где , - делители порядка группы.Алгоритм:
1) Найти все делители
перебором от 1 до2) Для каждого делителя
проверить значение . Наименьший n, такой что , является порядком элемента в группе.
Алгоритмическая сложность: Перебор от 1 до выполняется за . Возведение в степень выполняется за . Следовательно время выполнения