Мы разработали функцию в классе, чтобы проверить, является ли класс нильпотентности группой или нет суммой из ее p-силов. Оригинал был первым ниже, без линии n:=NilpotencyClass(G)
. Я получил странный результат, как вы увидите ниже. Учитель получил другой странный результат: 3 1
. Но группа G
не была абелевой, поэтому мы бы нашли неабелеву группу нильпотентных групп 1, что абсурдно. Затем мы попытались изолировать функцию, также потому, что мой одноклассник правильно работал. Это решило проблему. Интересуясь этой тайной, я попытался изолировать проблему и обнаружил, что она вышла из функции. Я попытался вычислить возвращенный NilpotencyClass
в начале функции, и он сработал. Если я этого не сделаю, даже вне функции я все равно получаю NilpotencyClass(G)=32767
! Поэтому у меня есть следующий код:MAGMA NilpotencyClass, просчитанный
TestNilpotencyClass := function(G)
n:=NilpotencyClass(G);
if not IsNilpotent(G) then
return 0;
end if;
N := #G;
somma := 0;
for pn in Factorisation(N) do
p := pn[1];
P := SylowSubgroup(G,p);
c := NilpotencyClass(P);
somma +:= c;
end for;
return somma, n;
end function;
TestNilpotencyClassb := function(G)
if not IsNilpotent(G) then
return 0;
end if;
NilpotencyClass(G);
N := #G;
somma := 0;
for pn in Factorisation(N) do
p := pn[1];
P := SylowSubgroup(G,p);
c := NilpotencyClass(P);
somma +:= c;
end for;
return somma, NilpotencyClass(G);
end function;
TestNilpotencyClassc := function(G)
if (not IsNilpotent(G)) then
return 0;
end if;
NilpotencyClass(G);
N := #G;
somma := 0;
for pn in Factorisation(N) do
p := pn[1];
P := SylowSubgroup(G,p);
c := NilpotencyClass(P);
somma +:= c;
end for;
return somma, NilpotencyClass(G);
end function;
TestNilpotencyClassd := function(G)
if (not (IsNilpotent(G))) then
return 0;
end if;
NilpotencyClass(G);
N := #G;
somma := 0;
for pn in Factorisation(N) do
p := pn[1];
P := SylowSubgroup(G,p);
c := NilpotencyClass(P);
somma +:= c;
end for;
return somma, NilpotencyClass(G);
end function;
G:=SmallGroups(40)[11];
TestNilpotencyClass(G);
TestNilpotencyClassb(G);
TestNilpotencyClassc(G);
TestNilpotencyClassd(G);
Загрузка это на МАГМА дает следующий результат:
3 2
32767
3 32767
32767
3 32767
32767
3 32767
Где что 32767 приходят? Обратите внимание, как это 2^(15) -1. Почему этот просчет производится?
Обновление: Я пробовал копировать код в MAGMA, и результат был таким же. Кроме того, после выхода и повторного открытия, я пытался копировать-наклеивать только первую функцию, то вычисления NilpotencyClass
, а затем с помощью функции, и вот результат:
host-001:~ michelegorini$ magma
Magma V2.20-4 (STUDENT) Fri Dec 19 2014 17:29:45 [Seed =01]
Type ? for help. Type <Ctrl>-D to quit.
TestNilpotencyClass := function(G)
n:=NilpotencyClass(G);
if not IsNilpotent(G) then
return 0;
end if;
N := #G;
somma := 0;
for pn in Factorisation(N) do
p := pn[1];
P := SylowSubgroup(G,p);
c := NilpotencyClass(P);
somma +:= c;
end for;
return somma, n;
end function;> TestNilpotencyClass := function(G)
function> n:=NilpotencyClass(G);
function> if not IsNilpotent(G) then
function|if> return 0;
function|if> end if;
function> N := #G;
function> somma := 0;
function> for pn in Factorisation(N) do
function|for> p := pn[1];
function|for> P := SylowSubgroup(G,p);
function|for> c := NilpotencyClass(P);
function|for> somma +:= c;
function|for> end for;
function> return somma, n;
function> end function;
> G:=SmallGroups(40)[11];
> TestNilpotencyClass(G);
3 2
> NilpotencyClass(G);
32767
> TestNilpotencyClass(G);
3 32767
> TestNilpotencyClass(SmallGroups(40)[11]);
3 2
> NilpotencyClass(SmallGroups(40)[11]);
2
Кто-нибудь видел это? Это было в течение 18 дней ... – MickG
Почему мои вопросы MAGMA постоянно остаются без ответа? Это совпадение или что? Отвечено 28 дней назад, просмотрено 105 раз. – MickG
Итак, после месяца, ожидающего здесь, дня, ожидающего ожидаемого предварительного одобрения модами на [форуме MAGMA] (http://icl.cs.utk.edu/magma/forum/search.php?search_id=egosearch) , где я присутствую как mickg. Вау, я когда-нибудь получу ответ на это? – MickG