kelvinlee

40 Reputation

8 Badges

14 years, 22 days

MaplePrimes Activity


These are replies submitted by kelvinlee

Thanks a lot for your carefully explained solution Dr. Mihailovs!! I've tried them and they worked very well on my Maple!! Thanks again!!

Best, 

Kelvin

Thanks a lot for your carefully explained solution Dr. Mihailovs!! I've tried them and they worked very well on my Maple!! Thanks again!!

Best, 

Kelvin

Hi Roman, 

Thank you very much for your answer! That looks very smart! i could understand the first part of your answer. For the second part, I didn't quite get the idea as I don't have much knowledge about Groebner basis. Do you have any suggestion on learning Groebner basis as a novice? Thanks!

Regards,

Kelvin

Hi Roman, 

Thank you very much for your answer! That looks very smart! i could understand the first part of your answer. For the second part, I didn't quite get the idea as I don't have much knowledge about Groebner basis. Do you have any suggestion on learning Groebner basis as a novice? Thanks!

Regards,

Kelvin

Dear Duncan,

Thank you so much for pointing out the issue!! The examples now work pefectly for me.

Thanks again,

Kelvin

Dear Duncan,

Thank you so much for pointing out the issue!! The examples now work pefectly for me.

Thanks again,

Kelvin

Hi Duncan, 

Thanks a lot for your reply. Following your code, I wrote the following procedure which computes the minimal polynomial for the member alpha^n in GF(2^4):

minpol := proc (n) 
f := x -> x^4+x+1;
m := degree(f(x));
alias(alpha = RootOf(f(x)));
beta := alpha^n; beta := `mod`(Rem(beta, f(x), x), 2);
L := NULL;
for d to 2^m do
d;
t := `mod`(Powmod(beta, 2^d, f(x), x), 2);
L := L, t;
if t = beta then
break end if;
end do;
mul(x-L[i], i = 1 .. nops([L]))
end proc
However, the execution:
of
minpol(3);
Gives me the following incorrect answer:
/         6\ /         12\ /         24\ /         48\ / 
\x - alpha / \x - alpha / \x - alpha / \x - alpha / \x

96\ / 192\ / 384\ / 768\ /
- alpha / \x - alpha / \x - alpha / \x - alpha / \x

1536\ / 3072\ / 6144\ / 12288\
- alpha / \x - alpha / \x - alpha / \x - alpha /

/ 24576\ / 49152\ / 98304\ /
\x - alpha / \x - alpha / \x - alpha / \x

196608\
- alpha /
 
The weird thing here is, when I compiled the above function definition again (without executing restart) 
by hitting enter at the end of the function definition, then I tried the same command minpol(3), 
the result became correct:minpol(3);

/ 3 2\ / 3 2 \ /
\x - alpha - alpha / \x - alpha - alpha - alpha - 1/ \x

3 \ / 3\
- alpha - alpha/ \x - alpha /
 
Did I miss anything here? Thanks!
Best, 
Kelvin
 

Hi Duncan, 

Thanks a lot for your reply. Following your code, I wrote the following procedure which computes the minimal polynomial for the member alpha^n in GF(2^4):

minpol := proc (n) 
f := x -> x^4+x+1;
m := degree(f(x));
alias(alpha = RootOf(f(x)));
beta := alpha^n; beta := `mod`(Rem(beta, f(x), x), 2);
L := NULL;
for d to 2^m do
d;
t := `mod`(Powmod(beta, 2^d, f(x), x), 2);
L := L, t;
if t = beta then
break end if;
end do;
mul(x-L[i], i = 1 .. nops([L]))
end proc
However, the execution:
of
minpol(3);
Gives me the following incorrect answer:
/         6\ /         12\ /         24\ /         48\ / 
\x - alpha / \x - alpha / \x - alpha / \x - alpha / \x

96\ / 192\ / 384\ / 768\ /
- alpha / \x - alpha / \x - alpha / \x - alpha / \x

1536\ / 3072\ / 6144\ / 12288\
- alpha / \x - alpha / \x - alpha / \x - alpha /

/ 24576\ / 49152\ / 98304\ /
\x - alpha / \x - alpha / \x - alpha / \x

196608\
- alpha /
 
The weird thing here is, when I compiled the above function definition again (without executing restart) 
by hitting enter at the end of the function definition, then I tried the same command minpol(3), 
the result became correct:minpol(3);

/ 3 2\ / 3 2 \ /
\x - alpha - alpha / \x - alpha - alpha - alpha - 1/ \x

3 \ / 3\
- alpha - alpha/ \x - alpha /
 
Did I miss anything here? Thanks!
Best, 
Kelvin
 
1 2 Page 2 of 2