Sz\303\241m\303\255t\303\263g\303\251pes sz\303\241melm\303\251let
J\303\241rai Antal
Ezek a programok csak szeml\303\251ltet\303\251sre szolg\303\241lnak
1. A pr\303\255mek eloszl\303\241sa, szit\303\241l\303\241s
2. Egyszer\305\261 faktoriz\303\241l\303\241si m\303\263dszerek
6. Sz\303\241mok \303\251s polinomok
7. Gyors Fourier-transzform\303\241ci\303\263
8. Elliptikus f\303\274ggv\303\251nyek
9. Sz\303\241mol\303\241s elliptikus g\303\266rb\303\251ken
10. Faktoriz\303\241l\303\241s elliptikus g\303\274rb\303\251kkel
11. Pr\303\255mteszt elliptikus g\303\266rb\303\251kkel
12. Polinomfaktoriz\303\241l\303\241s
restart; with(PolynomialTools);
NzNJMENvZWZmaWNpZW50TGlzdEc2IkkyQ29lZmZpY2llbnRWZWN0b3JHRiRJLUdjZEZyZWVCYXNpc0dGJEk/R3JlYXRlc3RGYWN0b3JpYWxGYWN0b3JpemF0aW9uR0YkSShIdXJ3aXR6R0YkSTFJc1NlbGZSZWNpcHJvY2FsR0YkSTJNaW5pbWFsUG9seW5vbWlhbEdGJEkwUERFVG9Qb2x5bm9taWFsR0YkSTBQb2x5bm9taWFsVG9QREVHRiRJMFNoaWZ0RXF1aXZhbGVudEdGJEk3U2hpZnRsZXNzRGVjb21wb3NpdGlvbkdGJEkoU2hvcnRlbkdGJEkoU2hvcnRlckdGJEklU29ydEdGJEkmU3BsaXRHRiRJJ1NwbGl0c0dGJEkqVHJhbnNsYXRlR0Yk
12.1. Polinomfaktoriz\303\241l\303\241s modulo egy pr\303\255m.
12.2. Visszavezet\303\251 s n\303\251 gyzetmentes esetre.
SquareFree:=proc(a,x,p) local i,out,b,c,y,z,w;
i:=1; out:=[]; b:=diff(a,x) mod p;
if b=0 then error "zero derivative; substitute x^p with p"; fi;
c:=Gcd(a,b) mod p; w:=Quo(a,c,x) mod p;
while degree(c)<>0 do
y:=Gcd(w,c) mod p;
z:=Quo(w,y,x) mod p;
out:=[op(out),z];
i:=i+1;
w:=y; c:=Quo(c,y,x) mod p;
od; out:=[c,op(out),w]; end;
Zio2JUkiYUc2IkkieEdGJUkicEdGJTYpSSJpR0YlSSRvdXRHRiVJImJHRiVJImNHRiVJInlHRiVJInpHRiVJIndHRiVGJUYlQyo+RikiIiI+Rio3Ij5GKy1JJG1vZEdGJTYkLUklZGlmZkclKnByb3RlY3RlZEc2JEYkRiZGJ0AkL0YrIiIhWVFHemVyb35kZXJpdmF0aXZlO35zdWJzdGl0dXRlfnhecH53aXRofnBGJT5GLC1GNzYkLUkkR2NkR0YlNiRGJEYrRic+Ri8tRjc2JC1JJFF1b0dGJTYlRiRGLEYmRic/KEYlRjJGMkYlMC1JJ2RlZ3JlZUdGOzYjRixGP0MoPkYtLUY3NiQtRkY2JEYvRixGJz5GLi1GNzYkLUZMNiVGL0YtRiZGJz5GKjckLUkjb3BHRjs2I0YqRi4+RiksJkYpRjJGMkYyPkYvRi0+RiwtRjc2JC1GTDYlRixGLUYmRic+Rio3JUYsRmpuRi9GJUYlRiU=
`mod`:=mods; x:='x'; a:=x^15-1; debug(SquareFree); SquareFree(a,x,5);
SSVtb2RzRyUqcHJvdGVjdGVkRw==
SSJ4RzYi
LCYqJClJInhHNiIiIzoiIiJGKEYoISIi
SStTcXVhcmVGcmVlRzYi
{--> enter SquareFree, args = x^15-1, x, 5
IiIi
NyI=
IiIh
<-- ERROR in SquareFree (now at top level) = zero derivative; substitute x^p with p}
Error, (in SquareFree) zero derivative; substitute x^p with p
SquareFree(a,x,11);
{--> enter SquareFree, args = x^15-1, x, 11
IiIi
NyI=
LCQqJiIiJSIiIilJInhHNiIiIzlGJUYl
IiIi
LCYqJClJInhHNiIiIzoiIiJGKEYoISIi
NyQiIiIsJiokKUkieEc2IiIjOkYjRiNGIyEiIg==
<-- exit SquareFree (now at top level) = [1, x^15-1]}
NyQiIiIsJiokKUkieEc2IiIjOkYjRiNGIyEiIg==
SquareFree(x^3+3*x^2+3*x+1,x,11);
{--> enter SquareFree, args = x^3+3*x^2+3*x+1, x, 11
IiIi
NyI=
LCgqJiIiJCIiIilJInhHNiIiIiNGJUYlKiYiIiZGJUYnRiUhIiJGJEYl
LCgqJClJInhHNiIiIiMiIiJGKComRidGKEYlRihGKEYoRig=
LCZJInhHNiIiIiJGJUYl
LCZJInhHNiIiIiJGJUYl
IiIi
NyMiIiI=
IiIj
LCZJInhHNiIiIiJGJUYl
LCZJInhHNiIiIiJGJUYl
LCZJInhHNiIiIiJGJUYl
IiIi
NyQiIiJGIw==
IiIk
LCZJInhHNiIiIiJGJUYl
IiIi
NyYiIiJGI0YjLCZJInhHNiJGI0YjRiM=
<-- exit SquareFree (now at top level) = [1, 1, 1, x+1]}
NyYiIiJGI0YjLCZJInhHNiJGI0YjRiM=
12.3. V\303\251 ges testek.
n:=8; RijndaelPoly:=Nextprime(Z^n,Z) mod 2; alpha:=Z;
IiIp
LCwqJClJIlpHNiIiIikiIiJGKCokKUYlIiIlRihGKCokKUYlIiIkRihGKEYlRihGKEYo
SSJaRzYi
x:=234; xx:=convert(x,base,2); xxx:=add(xx[i]*Z^(i-1),i=1..nops(xx));
IiRNIw==
NyoiIiEiIiJGI0YkRiNGJEYkRiQ=
LCxJIlpHNiIiIiIqJClGIyIiJEYlRiUqJClGIyIiJkYlRiUqJClGIyIiJ0YlRiUqJClGIyIiKEYlRiU=
y:=111; yy:=convert(y,base,2); yyy:=add(yy[i]*Z^(i-1),i=1..nops(yy));
IiQ2Ig==
NykiIiJGI0YjRiMiIiFGI0Yj
LC4iIiJGI0kiWkc2IkYjKiQpRiQiIiNGI0YjKiQpRiQiIiRGI0YjKiQpRiQiIiZGI0YjKiQpRiQiIidGI0Yj
zzz:=modpol(xxx+yyy,RijndaelPoly,Z,2); zz:=CoefficientList(zzz,Z);
z:=add(zz[i]*2^(i-1),i=1..nops(zz));
LCgqJClJIlpHNiIiIigiIiJGKEYoRigqJClGJSIiI0YoRig=
NyoiIiIiIiFGI0YkRiRGJEYkRiM=
IiRMIg==
zzz:=modpol(xxx*yyy,RijndaelPoly,Z,2); zz:=CoefficientList(zzz,Z);
z:=add(zz[i]*2^(i-1),i=1..nops(zz));
LC4qJClJIlpHNiIiIiciIiJGKCokKUYlIiImRihGKCokKUYlIiIlRihGKCokKUYlIiIkRihGKCokKUYlIiIjRihGKEYoRig=
NykiIiIiIiFGI0YjRiNGI0Yj
IiREIg==
zzz:=modpol(1/xxx,RijndaelPoly,Z,2); zz:=CoefficientList(zzz,Z);
z:=add(zz[i]*2^(i-1),i=1..nops(zz));
LC4qJClJIlpHNiIiIigiIiJGKCokKUYlIiInRihGKCokKUYlIiIlRihGKCokKUYlIiIjRihGKEYlRihGKEYo
NyoiIiJGI0YjIiIhRiNGJEYjRiM=
IiQ6Iw==
12.4. Faktoriz\303\241l\303\241s k\303\274 l\303\266 nb\303\266 z\305\221 fok\303\272 faktorokra.
PartialFactorDD:=proc(a,x,p) local aa,L,aaa,w,i;
i:=1; w:=x; aa:=a; L:=[];
while i<=degree(aa)/2 do
w:=Rem(w^p,aa,x) mod p;
aaa:=Gcd(aa,w-x) mod p;
L:=[op(L),aaa];
if aaa<>1 then
aa:=Quo(aa,aaa,x) mod p:
w:=Rem(w,aa,x) mod p;
fi; i:=i+1;
od; L:=[op(L),aa]; end;
Zio2JUkiYUc2IkkieEdGJUkicEdGJTYnSSNhYUdGJUkiTEdGJUkkYWFhR0YlSSJ3R0YlSSJpR0YlRiVGJUMoPkYtIiIiPkYsRiY+RilGJD5GKjciPyhGJUYwRjBGJTFGLSwkKiYjRjAiIiNGMC1JJ2RlZ3JlZUclKnByb3RlY3RlZEc2I0YpRjBGMEMnPkYsLUkkbW9kR0YlNiQtSSRSZW1HNiRGPUkoX3N5c2xpYkdGJTYlKUYsRidGKUYmRic+RistRkI2JC1JJEdjZEdGRjYkRiksJkYsRjBGJiEiIkYnPkYqNyQtSSNvcEdGPTYjRipGK0AkMEYrRjBDJD5GKS1GQjYkLUkkUXVvR0ZGNiVGKUYrRiZGJz5GLC1GQjYkLUZFNiVGLEYpRiZGJz5GLSwmRi1GMEYwRjA+Rio3JEZURilGJUYlRiU=
`mod`:=mods; x:='x'; a:=x^15-1; debug(PartialFactorDD); PartialFactorDD(a,x,11);
SSVtb2RzRyUqcHJvdGVjdGVkRw==
SSJ4RzYi
LCYqJClJInhHNiIiIzoiIiJGKEYoISIi
STBQYXJ0aWFsRmFjdG9yRERHNiI=
{--> enter PartialFactorDD, args = x^15-1, x, 11
IiIi
SSJ4RzYi
LCYqJClJInhHNiIiIzoiIiJGKEYoISIi
NyI=
KiQpSSJ4RzYiIiM2IiIi
LCYqJClJInhHNiIiIiYiIiJGKEYoISIi
NyMsJiokKUkieEc2IiIiJiIiIkYpRikhIiI=
LCgqJClJInhHNiIiIzUiIiJGKCokKUYlIiImRihGKEYoRig=
LCYqJClJInhHNiIiIiciIiIhIiJGJUYp
IiIj
SSJ4RzYi
LCgqJClJInhHNiIiIzUiIiJGKCokKUYlIiImRihGKEYoRig=
NyQsJiokKUkieEc2IiIiJiIiIkYpRikhIiIsKCokKUYmIiM1RilGKUYkRilGKUYp
IiIi
IiIh
IiIk
NyUsJiokKUkieEc2IiIiJiIiIkYpRikhIiIsKCokKUYmIiM1RilGKUYkRilGKUYpRik=
<-- exit PartialFactorDD (now at top level) = [x^5-1, x^10+x^5+1, 1]}
NyUsJiokKUkieEc2IiIiJiIiIkYpRikhIiIsKCokKUYmIiM1RilGKUYkRilGKUYpRik=
12.5. Has\303\255 t\303\241 s.
PartialFactorSplit:=proc(a,x,d,p) local t,i;
t:=rand(); t:=convert(t,base,p); t:=add(t[i]*x^(i-1),i=1..nops(t));
t:=modpol(t,a,x,p); t:=modpol(t^((p^d-1)/2)-1,a,x,p);
t:=Gcd(t,a) mod p; [t,Quo(a,t,x) mod p]; end;
Zio2JkkiYUc2IkkieEdGJUkiZEdGJUkicEdGJTYkSSJ0R0YlSSJpR0YlRiVGJUMpPkYqLUklcmFuZEdGJUYlPkYqLUkoY29udmVydEclKnByb3RlY3RlZEc2JUYqSSViYXNlR0YlRig+RiotSSRhZGRHRjM2JComJkYqNiNGKyIiIilGJiwmRitGPUY9ISIiRj0vRis7Rj0tSSVub3BzR0YzNiNGKj5GKi1JJ21vZHBvbEc2JEYzSShfc3lzbGliR0YlNiZGKkYkRiZGKD5GKi1GSDYmLCYpRiosJiomI0Y9IiIjRj0pRihGJ0Y9Rj1GU0ZARj1GPUZARiRGJkYoPkYqLUkkbW9kR0YlNiQtSSRHY2RHRkk2JEYqRiRGKDckRiotRlg2JC1JJFF1b0dGSTYlRiRGKkYmRihGJUYlRiU=
debug(PartialFactorSplit); PartialFactorSplit(x^5-1,x,1,11);
STNQYXJ0aWFsRmFjdG9yU3BsaXRHNiI=
{--> enter PartialFactorSplit, args = x^5-1, x, 1, 11
Ii1NMCcpPWRS
Ny4iIikiIiEiIzUiIidGI0YlRiZGJCIiKiIiIyIiJSIiIg==
LDYiIikiIiIqJiIjNUYkKUkieEc2IiIiI0YkRiQqJiIiJ0YkKUYoIiIkRiRGJComRiNGJClGKCIiJUYkRiQqJkYmRiQpRigiIiZGJEYkKiZGLEYkKUYoRixGJEYkKiYiIipGJClGKEYjRiRGJComRipGJClGKEY4RiRGJComRjFGJClGKEYmRiRGJCokKUYoIiM2RiRGJA==
LCoqJClJInhHNiIiIiMiIiIhIiIqJiIiJUYoKUYlIiIkRihGKCokKUYlRitGKEYpKiZGK0YoRiVGKEYp
LCwqJiIiJiIiIilJInhHNiIiIiVGJSEiIiokKUYnIiIkRiVGJSomIiIjRiUpRidGL0YlRioqJkYpRiVGJ0YlRipGJUYq
LCgqJClJInhHNiIiIiMiIiJGKComIiImRihGJUYoISIiIiIlRig=
NyQsKCokKUkieEc2IiIiIyIiIkYpKiYiIiZGKUYmRikhIiIiIiVGKSwqKiQpRiYiIiRGKUYpKiZGK0YpRiVGKUYpRiZGLEYxRiw=
<-- exit PartialFactorSplit (now at top level) = [x^2-5*x+4, x^3+5*x^2-x-3]}
NyQsKCokKUkieEc2IiIiIyIiIkYpKiYiIiZGKUYmRikhIiIiIiVGKSwqKiQpRiYiIiRGKUYpKiZGK0YpRiVGKUYpRiZGLEYxRiw=
expand((x^2+2*x-2)*(x^3-2*x^2-5*x-5)) mod 11;
LCYqJClJInhHNiIiIiYiIiJGKEYoISIi
PartialFactorSplit(x^2+2*x-2,x,1,11);
PartialFactorSplit(x^3-2*x^2-5*x-5,x,1,11);
{--> enter PartialFactorSplit, args = x^2+2*x-2, x, 1, 11
Ii06ayIpUko+
Ny0iIigiIipGIyIiJEYlIiIlIiIiIiIhIiM1RiZGIw==
LDYiIigiIiIqJiIiKkYkSSJ4RzYiRiRGJComRiNGJClGJyIiI0YkRiQqJiIiJEYkKUYnRi1GJEYkKiZGLUYkKUYnIiIlRiRGJComRjFGJClGJyIiJkYkRiQqJClGJyIiJ0YkRiQqJiIjNUYkKUYnIiIpRiRGJComRjFGJClGJ0YmRiRGJComRiNGJClGJ0Y5RiRGJA==
LCYiIiMhIiIqJiIiJiIiIkkieEc2IkYnRiQ=
LCZJInhHNiIhIiIiIiQiIiI=
IiIi
NyQiIiIsKCokKUkieEc2IiIiI0YjRiMqJkYpRiNGJ0YjRiNGKSEiIg==
<-- exit PartialFactorSplit (now at top level) = [1, x^2+2*x-2]}
NyQiIiIsKCokKUkieEc2IiIiI0YjRiMqJkYpRiNGJ0YjRiNGKSEiIg==
{--> enter PartialFactorSplit, args = x^3-2*x^2-5*x-5, x, 1, 11
IixsLzxDQyM=
NywiIiUiIioiIiIiIiEiIiZGJCIiKCIiJ0YnRiQ=
LDQiIiUiIiIqJiIiKkYkSSJ4RzYiRiRGJCokKUYnIiIjRiRGJComIiImRiQpRidGI0YkRiQqJkYmRiQpRidGLUYkRiQqJiIiKEYkKUYnIiInRiRGJComRjRGJClGJ0YyRiRGJComRi1GJClGJyIiKUYkRiQqJkYmRiQpRidGJkYkRiQ=
LCYqJiIiIyIiIkkieEc2IkYlISIiRiRGJQ==
LCgqJiIiIyIiIilJInhHNiJGJEYlISIiKiZGJEYlRidGJUYlRiVGKQ==
IiIi
NyQiIiIsKiokKUkieEc2IiIiJEYjRiMqJiIiI0YjKUYnRitGIyEiIiomIiImRiNGJ0YjRi1GL0Yt
<-- exit PartialFactorSplit (now at top level) = [1, x^3-2*x^2-5*x-5]}
NyQiIiIsKiokKUkieEc2IiIiJEYjRiMqJiIiI0YjKUYnRitGIyEiIiomIiImRiNGJ0YjRi1GL0Yt
expand((x-4)*(x-5)) mod 11; expand((x+2)*(x^2-4*x+3)) mod 11;
LCgqJClJInhHNiIiIiMiIiJGKComRidGKEYlRihGKEYnISIi
LCoqJClJInhHNiIiIiQiIiJGKComIiIjRigpRiVGKkYoISIiKiYiIiZGKEYlRihGLEYuRiw=
PartialFactorSplit(x^2-4*x+3,x,1,11);
{--> enter PartialFactorSplit, args = x^2-4*x+3, x, 1, 11
Ii1mV1soPSsp
Ny4iIiEiIiQiIiciIioiIigiIzUiIiNGKEYkRiYiIilGKQ==
LDgqJiIiJCIiIkkieEc2IkYlRiUqJiIiJ0YlKUYmIiIjRiVGJSomIiIqRiUpRiZGJEYlRiUqJiIiKEYlKUYmIiIlRiVGJSomIiM1RiUpRiYiIiZGJUYlKiZGK0YlKUYmRilGJUYlKiZGNEYlKUYmRjBGJUYlKiZGJEYlKUYmIiIpRiVGJSomRi1GJSlGJkYtRiVGJSomRj1GJSlGJkY0RiVGJSomRitGJSlGJiIjNkYlRiU=
LCYqJiIiIyIiIkkieEc2IkYlISIiIiImRiU=
LCZJInhHNiIhIiIiIiJGJg==
LCZJInhHNiIiIiJGJSEiIg==
NyQsJkkieEc2IiIiIkYmISIiLCZGJEYmIiIkRic=
<-- exit PartialFactorSplit (now at top level) = [x-1, x-3]}
NyQsJkkieEc2IiIiIkYmISIiLCZGJEYmIiIkRic=
PartialFactorSplit(x^2-4*x+3,x,1,11);
{--> enter PartialFactorSplit, args = x^2-4*x+3, x, 1, 11
Ii1wbzBfdlU=
Ny4iIiRGIyIiJiIiKSIiKiIjNSIiIiIiJ0YjRiRGJEYo
LDoiIiQiIiIqJkYjRiRJInhHNiJGJEYkKiYiIiZGJClGJiIiI0YkRiQqJiIiKUYkKUYmRiNGJEYkKiYiIipGJClGJiIiJUYkRiQqJiIjNUYkKUYmRilGJEYkKiQpRiYiIidGJEYkKiZGOEYkKUYmIiIoRiRGJComRiNGJClGJkYtRiRGJComRilGJClGJkYwRiRGJComRilGJClGJkY0RiRGJCokKUYmIiM2RiRGJA==
LCQqJiIiJSIiIkkieEc2IkYlRiU=
IiIh
LCgqJClJInhHNiIiIiMiIiJGKComIiIlRihGJUYoISIiIiIkRig=
NyQsKCokKUkieEc2IiIiIyIiIkYpKiYiIiVGKUYmRikhIiIiIiRGKUYp
<-- exit PartialFactorSplit (now at top level) = [x^2-4*x+3, 1]}
NyQsKCokKUkieEc2IiIiIyIiIkYpKiYiIiVGKUYmRikhIiIiIiRGKUYp
expand((x-3)*(x-1)) mod 11;
LCgqJClJInhHNiIiIiMiIiJGKComIiIlRihGJUYoISIiIiIkRig=
PartialFactorSplit(x^10+x^5+1,x,2,11);
{--> enter PartialFactorSplit, args = x^10+x^5+1, x, 2, 11
Ii1VV29BRSUp
Ny4iIiEiIiVGJCIiIiIjNSIiJiIiKkYoIiIkRidGJiIiIw==
LDgqJiIiJSIiIkkieEc2IkYlRiUqJkYkRiUpRiYiIiNGJUYlKiQpRiYiIiRGJUYlKiYiIzVGJSlGJkYkRiVGJSomIiImRiUpRiZGMkYlRiUqJiIiKkYlKUYmIiInRiVGJSomRjVGJSlGJiIiKEYlRiUqJkYtRiUpRiYiIilGJUYlKiZGMkYlKUYmRjVGJUYlKiZGL0YlKUYmRi9GJUYlKiZGKkYlKUYmIiM2RiVGJQ==
LDYqJiIiJiIiIilJInhHNiIiIipGJUYlKiYiIiRGJSlGJyIiKUYlRiUqJiIiI0YlKUYnIiIoRiUhIiIqJiIiJUYlKUYnIiInRiVGMiomRiRGJSlGJ0YkRiVGMiokKUYnRjRGJUYyKiQpRidGK0YlRiUqJkY0RiUpRidGL0YlRiUqJkYvRiVGJ0YlRiVGJUYl
LC4qJiIiJCIiIilJInhHNiIiIipGJSEiIiomRiRGJSlGJyIiKEYlRioqJiIiJUYlKUYnIiInRiVGKiokKUYnRiRGJUYlKiZGJEYlKUYnIiIjRiVGKkYlRiU=
LCwqJClJInhHNiIiIiUiIiJGKComIiIjRigpRiUiIiRGKCEiIiomIiImRigpRiVGKkYoRi0qJkYnRihGJUYoRihGJ0Yo
NyQsLCokKUkieEc2IiIiJSIiIkYpKiYiIiNGKSlGJiIiJEYpISIiKiYiIiZGKSlGJkYrRilGLiomRihGKUYmRilGKUYoRiksMCokKUYmIiInRilGKSomRitGKSlGJkYwRilGKSomRitGKUYlRilGLkYqRikqJkYoRilGMUYpRikqJkYtRilGJkYpRi5GLUYp
<-- exit PartialFactorSplit (now at top level) = [x^4-2*x^3-5*x^2+4*x+4, x^6+2*x^5-2*x^4+2*x^3+4*x^2-3*x+3]}
NyQsLCokKUkieEc2IiIiJSIiIkYpKiYiIiNGKSlGJiIiJEYpISIiKiYiIiZGKSlGJkYrRilGLiomRihGKUYmRilGKUYoRiksMCokKUYmIiInRilGKSomRitGKSlGJkYwRilGKSomRitGKUYlRilGLkYqRikqJkYoRilGMUYpRikqJkYtRilGJkYpRi5GLUYp
expand((x^6-2*x^5+3*x^4+x^3-2*x^2+4*x+5)*(x^4+2*x^3+x^2-5*x-2)) mod 11;
LCgqJClJInhHNiIiIzUiIiJGKCokKUYlIiImRihGKEYoRig=
PartialFactorSplit(x^6-2*x^5+3*x^4+x^3-2*x^2+4*x+5,x,2,11);
PartialFactorSplit(x^4+2*x^3+x^2-5*x-2,x,2,11);
{--> enter PartialFactorSplit, args = x^6-2*x^5+3*x^4+x^3-2*x^2+4*x+5, x, 2, 11
Ii1TZUcnRzcl
Ny4iIiEiIiUiIilGIyIiJiIiKkYlIiIkRidGJ0YkIiIi
LDYqJiIiJSIiIkkieEc2IkYlRiUqJiIiKUYlKUYmIiIjRiVGJSomIiImRiUpRiZGJEYlRiUqJiIiKkYlKUYmRi1GJUYlKiZGKUYlKUYmIiInRiVGJSomIiIkRiUpRiYiIihGJUYlKiZGMEYlKUYmRilGJUYlKiZGMEYlKUYmRjBGJUYlKiZGJEYlKUYmIiM1RiVGJSokKUYmIiM2RiVGJQ==
LCwqJiIiJCIiIilJInhHNiIiIiZGJUYlKiYiIiVGJSlGJ0YrRiUhIiIqJkYrRiUpRidGJEYlRi0qJkYrRiUpRiciIiNGJUYlRiVGJQ==
LCwqJiIiJiIiIilJInhHNiJGJEYlRiUqJiIiI0YlKUYnIiIlRiUhIiIqJClGJyIiJEYlRi0qJkYkRiUpRidGKkYlRiVGJ0Yl
LCwqJClJInhHNiIiIiUiIiJGKComRidGKClGJSIiJEYoRigqJiIiI0YoKUYlRi1GKEYoRiVGKEYtISIi
NyQsLCokKUkieEc2IiIiJSIiIkYpKiZGKEYpKUYmIiIkRilGKSomIiIjRikpRiZGLkYpRilGJkYpRi4hIiIsKCokRi9GKUYpKiYiIiZGKUYmRilGKUYsRik=
<-- exit PartialFactorSplit (now at top level) = [x^4+4*x^3+2*x^2+x-2, x^2+5*x+3]}
NyQsLCokKUkieEc2IiIiJSIiIkYpKiZGKEYpKUYmIiIkRilGKSomIiIjRikpRiZGLkYpRilGJkYpRi4hIiIsKCokRi9GKUYpKiYiIiZGKUYmRilGKUYsRik=
{--> enter PartialFactorSplit, args = x^4+2*x^3+x^2-5*x-2, x, 2, 11
Ii0hPTlzVCcqKg==
Ny4iIiQiIikiIioiIiUiIzUiIiZGJ0YjIiInRiZGKEYj
LDoiIiQiIiIqJiIiKUYkSSJ4RzYiRiRGJComIiIqRiQpRiciIiNGJEYkKiYiIiVGJClGJ0YjRiRGJComIiM1RiQpRidGLkYkRiQqJiIiJkYkKUYnRjRGJEYkKiZGMUYkKUYnIiInRiRGJComRiNGJClGJyIiKEYkRiQqJkY4RiQpRidGJkYkRiQqJkYuRiQpRidGKkYkRiQqJkY0RiQpRidGMUYkRiQqJkYjRiQpRiciIzZGJEYk
LCgqJiIiJSIiIkkieEc2IkYlISIiKiYiIiNGJSlGJiIiJEYlRigqJkYsRiUpRiZGKkYlRig=
ISIj
IiIi
NyQiIiIsLCokKUkieEc2IiIiJUYjRiMqJiIiI0YjKUYnIiIkRiNGIyokKUYnRitGI0YjKiYiIiZGI0YnRiMhIiJGK0Yy
<-- exit PartialFactorSplit (now at top level) = [1, x^4+2*x^3+x^2-5*x-2]}
NyQiIiIsLCokKUkieEc2IiIiJUYjRiMqJiIiI0YjKUYnIiIkRiNGIyokKUYnRitGI0YjKiYiIiZGI0YnRiMhIiJGK0Yy
expand((x^2+3*x-2)*(x^4-5*x^3-2*x^2-3*x+3)) mod 11;
LDAqJClJInhHNiIiIiciIiJGKComIiIjRigpRiUiIiZGKCEiIiomIiIkRigpRiUiIiVGKEYoKiQpRiVGL0YoRigqJkYqRigpRiVGKkYoRi0qJkYxRihGJUYoRihGLEYo
PartialFactorSplit(x^4-5*x^3-2*x^2-3*x+3,x,2,11);
PartialFactorSplit(x^4+2*x^3+x^2-5*x-2,x,2,11);
{--> enter PartialFactorSplit, args = x^4-5*x^3-2*x^2-3*x+3, x, 2, 11
Ii1ddUkza1E=
Ny4iIiEiIiUiIiciIiRGJUYkIiIqRiVGJ0YnRiYiIiI=
LDgqJiIiJSIiIkkieEc2IkYlRiUqJiIiJ0YlKUYmIiIjRiVGJSomIiIkRiUpRiZGLUYlRiUqJkYpRiUpRiZGJEYlRiUqJkYkRiUpRiYiIiZGJUYlKiYiIipGJSlGJkYpRiVGJSomRilGJSlGJiIiKEYlRiUqJkY1RiUpRiYiIilGJUYlKiZGNUYlKUYmRjVGJUYlKiZGLUYlKUYmIiM1RiVGJSokKUYmIiM2RiVGJQ==
LCoiIiIhIiJJInhHNiJGIyomIiIlRiMpRiUiIiRGI0YjKiYiIiNGIylGJUYsRiNGIw==
IiIh
LCwqJClJInhHNiIiIiUiIiJGKComIiImRigpRiUiIiRGKCEiIiomIiIjRigpRiVGL0YoRi0qJkYsRihGJUYoRi1GLEYo
NyQsLCokKUkieEc2IiIiJSIiIkYpKiYiIiZGKSlGJiIiJEYpISIiKiYiIiNGKSlGJkYwRilGLiomRi1GKUYmRilGLkYtRilGKQ==
<-- exit PartialFactorSplit (now at top level) = [x^4-5*x^3-2*x^2-3*x+3, 1]}
NyQsLCokKUkieEc2IiIiJSIiIkYpKiYiIiZGKSlGJiIiJEYpISIiKiYiIiNGKSlGJkYwRilGLiomRi1GKUYmRilGLkYtRilGKQ==
{--> enter PartialFactorSplit, args = x^4+2*x^3+x^2-5*x-2, x, 2, 11
Ii1sIyo9Mllw
Ny4iIiEiIiMiIiIiIihGJUYmIiIkIiIlIiInIiIpRihGJA==
LDgqJiIiIyIiIkkieEc2IkYlRiUqJClGJkYkRiVGJSomIiIoRiUpRiYiIiRGJUYlKiQpRiYiIiVGJUYlKiZGK0YlKUYmIiImRiVGJSomRi1GJSlGJiIiJ0YlRiUqJkYwRiUpRiZGK0YlRiUqJkY2RiUpRiYiIilGJUYlKiZGO0YlKUYmIiIqRiVGJSomRjBGJSlGJiIjNUYlRiUqJkYkRiUpRiYiIzZGJUYl
LCoiIiMiIiJJInhHNiIhIiIqJiIiJUYkKUYlIiIkRiRGJComRilGJClGJUYjRiRGJw==
ISIj
IiIi
NyQiIiIsLCokKUkieEc2IiIiJUYjRiMqJiIiI0YjKUYnIiIkRiNGIyokKUYnRitGI0YjKiYiIiZGI0YnRiMhIiJGK0Yy
<-- exit PartialFactorSplit (now at top level) = [1, x^4+2*x^3+x^2-5*x-2]}
NyQiIiIsLCokKUkieEc2IiIiJUYjRiMqJiIiI0YjKUYnIiIkRiNGIyokKUYnRitGI0YjKiYiIiZGI0YnRiMhIiJGK0Yy
expand((x^2+4*x+5)*(x^2-2*x+4)) mod 11;
LCwqJClJInhHNiIiIiUiIiJGKComIiIjRigpRiUiIiRGKEYoKiQpRiVGKkYoRigqJiIiJkYoRiVGKCEiIkYqRjE=
PartialFactorSplit(x^4-5*x^3-2*x^2-3*x+3,x,2,11);
{--> enter PartialFactorSplit, args = x^4-5*x^3-2*x^2-3*x+3, x, 2, 11
Ii1CKylILHQo
Ny4iIioiIzUiIiIiIigiIiVGJiIiKUYlRiNGKEYmIiIj
LDoiIioiIiIqJiIjNUYkSSJ4RzYiRiRGJCokKUYnIiIjRiRGJComIiIoRiQpRiciIiRGJEYkKiYiIiVGJClGJ0YxRiRGJComRi1GJClGJyIiJkYkRiQqJiIiKUYkKUYnIiInRiRGJCokKUYnRi1GJEYkKiZGI0YkKUYnRjdGJEYkKiZGN0YkKUYnRiNGJEYkKiZGLUYkKUYnRiZGJEYkKiZGK0YkKUYnIiM2RiRGJA==
LCoiIiUhIiJJInhHNiJGJComIiIjIiIiKUYlIiIkRilGKSomRiNGKSlGJUYoRilGJA==
ISIj
IiIi
NyQiIiIsLCokKUkieEc2IiIiJUYjRiMqJiIiJkYjKUYnIiIkRiMhIiIqJiIiI0YjKUYnRjBGI0YuKiZGLUYjRidGI0YuRi1GIw==
<-- exit PartialFactorSplit (now at top level) = [1, x^4-5*x^3-2*x^2-3*x+3]}
NyQiIiIsLCokKUkieEc2IiIiJUYjRiMqJiIiJkYjKUYnIiIkRiMhIiIqJiIiI0YjKUYnRjBGI0YuKiZGLUYjRidGI0YuRi1GIw==
PartialFactorSplit(x^4-5*x^3-2*x^2-3*x+3,x,2,11);
{--> enter PartialFactorSplit, args = x^4-5*x^3-2*x^2-3*x+3, x, 2, 11
Ii1ZSEg7MXQ=
Ny4iIiIiIiUiIigiIioiIiRGJkYjRiRGJkYjIiInIiIj
LDoiIiJGIyomIiIlRiNJInhHNiJGI0YjKiYiIihGIylGJiIiI0YjRiMqJiIiKkYjKUYmIiIkRiNGIyomRi9GIylGJkYlRiNGIyomRi1GIylGJiIiJkYjRiMqJClGJiIiJ0YjRiMqJkYlRiMpRiZGKUYjRiMqJkYtRiMpRiYiIilGI0YjKiQpRiZGLUYjRiMqJkY3RiMpRiYiIzVGI0YjKiZGK0YjKUYmIiM2RiNGIw==
LCoiIiUiIiIqJkYjRiRJInhHNiJGJEYkKiYiIiZGJClGJiIiJEYkISIiKiZGK0YkKUYmIiIjRiRGJA==
LCYqJiIiJCIiIilJInhHNiJGJEYlISIiRiVGJQ==
LCgqJClJInhHNiIiIiMiIiJGKComIiImRihGJUYoRigiIiRGKA==
NyQsKCokKUkieEc2IiIiIyIiIkYpKiYiIiZGKUYmRilGKSIiJEYpLChGJEYpRiZGKUYpRik=
<-- exit PartialFactorSplit (now at top level) = [x^2+5*x+3, x^2+x+1]}
NyQsKCokKUkieEc2IiIiIyIiIkYpKiYiIiZGKUYmRilGKSIiJEYpLChGJEYpRiZGKUYpRik=
PartialFactorSplit(x^4-5*x^3-2*x^2-3*x+3,x,2,11);
{--> enter PartialFactorSplit, args = x^4-5*x^3-2*x^2-3*x+3, x, 2, 11
Ii1kTzAybDU=
Ny0iIiUiIzUiIikiIiFGJiIiJkYnIiIqIiIiRilGIw==
LDQiIiUiIiIqJiIjNUYkSSJ4RzYiRiRGJComIiIpRiQpRiciIiNGJEYkKiYiIiZGJClGJ0YuRiRGJComRi5GJClGJyIiJ0YkRiQqJiIiKkYkKUYnIiIoRiRGJCokKUYnRipGJEYkKiQpRidGNEYkRiQqJkYjRiQpRidGJkYkRiQ=
LCoiIiIhIiIqJiIiJkYjSSJ4RzYiRiNGIyomIiIlRiMpRiciIiNGI0YkKiZGKkYjKUYnIiIkRiNGIw==
LCYqJiIiJCIiIilJInhHNiJGJEYlRiVGJCEiIg==
LCgqJClJInhHNiIiIiMiIiJGKEYlRihGKEYo
NyQsKCokKUkieEc2IiIiIyIiIkYpRiZGKUYpRiksKEYkRikqJiIiJkYpRiZGKUYpIiIkRik=
<-- exit PartialFactorSplit (now at top level) = [x^2+x+1, x^2+5*x+3]}
NyQsKCokKUkieEc2IiIiIyIiIkYpRiZGKUYpRiksKEYkRikqJiIiJkYpRiZGKUYpIiIkRik=
expand((x^2+x+1)*(x^2+5*x+3)) mod 11;
LCwqJClJInhHNiIiIiUiIiJGKComIiImRigpRiUiIiRGKCEiIiomIiIjRigpRiVGL0YoRi0qJkYsRihGJUYoRi1GLEYo
14. A szita m\303\263dszerek alapjai
LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0Yn