Собственно, приветствую всех. Пробовал уже раз 100 в теч. недели, очешуел даже, никак не могу разобраться. В расш. поле требуется найти обратный элемент по умножению. Вбиваю вот такой код
Код:
G := GF(5,2,alpha^2+alpha+1);
a := G:-ConvertIn(alpha);
for i from 0 to 5^2-2 do G:-`^`(a,i) end do;
Таблицу степеней он мне строит. Теперь вбиваю вот, что
Код:
for i from 1 to 5^2-2 do G:-`inverse`(a,i) end do;
Казалось бы, согласно хелпу, он мне в цикле должен вывести обратные элементы для всех многочленов поля. Ан, нет. Выдает какую то ерунду, как только не пробовал уже, в опострофах вводить, в скобках квадратных, без них - все равно никак. Ткните носом, пожалуйста, где загвоздка?
Ерунду пишете, ерунду и выдает.
Код:
G := GF(5,2,alpha^2+alpha+1);
> a := G:-ConvertIn(alpha):
> b:=G:-PrimitiveElement(a);
> A:={}:for i to 5^2-1 do A:=A union {G:-`^`(b,i)}: od:
2
G := Z[5] [alpha] / <alpha + alpha + 1>
b := 4 + 2 alpha
> for i in A do print(i, G:-`inverse`(i)) od:
1, 1
2, 3
3, 2
4, 4
alpha, 4 + 4 alpha
2 alpha, 2 + 2 alpha
3 alpha, 3 + 3 alpha
4 alpha, 1 + alpha
1 + alpha, 4 alpha
1 + 2 alpha, 3 + alpha
1 + 3 alpha, 4 + alpha
1 + 4 alpha, 4 + 2 alpha
2 + alpha, 2 + 3 alpha
2 + 2 alpha, 2 alpha
2 + 3 alpha, 2 + alpha
2 + 4 alpha, 4 + 3 alpha
3 + alpha, 1 + 2 alpha
3 + 2 alpha, 3 + 4 alpha
3 + 3 alpha, 3 alpha
3 + 4 alpha, 3 + 2 alpha
4 + alpha, 1 + 3 alpha
4 + 2 alpha, 1 + 4 alpha
4 + 3 alpha, 2 + 4 alpha
4 + 4 alpha, alpha