Singular https://www.singular.uni-kl.de/forum/ |
|
Polynomial division over GF(p^n) https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=2627 |
Page 1 of 1 |
Author: | redtrumpet [ Thu Jul 06, 2017 11:43 am ] |
Post subject: | Polynomial division over GF(p^n) |
Why is it not possible to divide polynomials over GF(p^n), if n >= 2? I get the following error: Code: > ring r = (7^2,a),x,dp; > poly f = x2+1; > poly g = x+1; > f/g; ? not implemented ? error occurred in or before STDIN line 14: `f/g;` Any help would be appreciated. |
Author: | gorzel [ Fri Jul 07, 2017 3:40 pm ] |
Post subject: | Re: Polynomial division over GF(p^n) |
Without going into detail, this is due to the fact that the polynomials have another presentation over Galoisfields and different algorithms / implementations are involved. Also factorize is not at your disposal. Note that in general f/g only gives the quotient without remainder. Most likely that is not what you want, but you are not lost here. There is the command division http://www.singular.uni-kl.de/Manual/latest/sing_226.htm#SEC266 which performs the task. It is important to use a global odering dp as you do. Code: factorize(f); ? not implemented ? error occurred in or before STDIN line 6: `factorize(f);` > list L = division(f,g); > L; [1]: _[1,1]=x-1 [2]: _[1]=a16 [3]: _[1,1]=1 > typeof(L[1]); matrix > typeof(L[1][1,1]); poly > typeof(L[2]); ideal > f==g*L[1][1,1] + L[2][1]; 1 > (x-1)*(x+1) + 2; x2+1 > a16; a16 > number(2); a16 (The third value L[3] is a unit matrix in global ordering, but the result is different if you would work in ring rads = (49a,),x,ds;Try it!) You may also define this finite field as an quadratic extension of Z_7 by the minimal polynomial displayed from the ring itself. Code: > setring r; > basering; // coefficients: ZZ/49[a] // minpoly : 1*a^2+6*a^1+3*a^0 // number of vars : 1 // block 1 : ordering dp // : names x // block 2 : ordering C With this approach, the elements are not represented as a power of the primitive element a, but now f/g and factorize work. Code: > ring ra49 = (7,a),x,dp; minpoly = a2+6a+3;
// compare with above > a16; 2 > number(2); 2 > poly f = x2+1; > poly g = x+1; > f/g; x-1 > factorize (f); [1]: _[1]=1 _[2]=x+(-a-3) _[3]=x+(a+3) [2]: 1,1,1 > division(f,g); [1]: _[1,1]=x-1 [2]: _[1]=2 [3]: _[1,1]=1 > f == (x-1)*g +2; 1 |
Author: | redtrumpet [ Fri Jul 07, 2017 3:59 pm ] |
Post subject: | Re: Polynomial division over GF(p^n) |
Thank you for your answer, this definitely solves my problem But is this kind of pitfall anywhere documented? I tried to find something, but using google to find problems with Singular is kind of hard. |
Page 1 of 1 | All times are UTC + 1 hour [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |