From d8621c2ace41a0eb1ef1f7825309fb75c73d3f80 Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Sun, 14 Oct 2012 20:48:52 +0200 Subject: Initial import of schiltknecht.fr --- TIPE_2007/C/Sauv/TFD - C.tar.bz2 | Bin 0 -> 6512 bytes TIPE_2007/C/Sauv/TFD - C.zip | Bin 0 -> 10576 bytes TIPE_2007/C/TFD - C.tar.bz2 | Bin 0 -> 6447 bytes TIPE_2007/C/TFD - C.zip | Bin 0 -> 10496 bytes TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf | Bin 0 -> 6737806 bytes TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf.sansTOC | Bin 0 -> 6725908 bytes TIPE_2007/Dossier/Transparents_TIPE_2007_TF.pdf | Bin 0 -> 98762 bytes TIPE_2007/Maple/TFD - Old.mw | 496 +++++++++++++++++++++ TIPE_2007/Maple/TFD.mw | 472 ++++++++++++++++++++ TIPE_2007/Octave/Multiplication.m | 22 + TIPE_2007/Octave/TFD - Octave.tar.bz2 | Bin 0 -> 1000 bytes TIPE_2007/Octave/TFD - Octave.zip | Bin 0 -> 1321 bytes TIPE_2007/Octave/TFDI - Octave.tar.bz2 | Bin 0 -> 1046 bytes TIPE_2007/Octave/TFDI - Octave.zip | Bin 0 -> 1380 bytes TIPE_2007/index.html | 110 +++++ TIPE_2007/index.html.plain | 73 +++ 16 files changed, 1173 insertions(+) create mode 100644 TIPE_2007/C/Sauv/TFD - C.tar.bz2 create mode 100644 TIPE_2007/C/Sauv/TFD - C.zip create mode 100644 TIPE_2007/C/TFD - C.tar.bz2 create mode 100644 TIPE_2007/C/TFD - C.zip create mode 100644 TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf create mode 100644 TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf.sansTOC create mode 100644 TIPE_2007/Dossier/Transparents_TIPE_2007_TF.pdf create mode 100644 TIPE_2007/Maple/TFD - Old.mw create mode 100644 TIPE_2007/Maple/TFD.mw create mode 100644 TIPE_2007/Octave/Multiplication.m create mode 100644 TIPE_2007/Octave/TFD - Octave.tar.bz2 create mode 100644 TIPE_2007/Octave/TFD - Octave.zip create mode 100644 TIPE_2007/Octave/TFDI - Octave.tar.bz2 create mode 100644 TIPE_2007/Octave/TFDI - Octave.zip create mode 100644 TIPE_2007/index.html create mode 100644 TIPE_2007/index.html.plain (limited to 'TIPE_2007') diff --git a/TIPE_2007/C/Sauv/TFD - C.tar.bz2 b/TIPE_2007/C/Sauv/TFD - C.tar.bz2 new file mode 100644 index 0000000..d8ca9fc Binary files /dev/null and b/TIPE_2007/C/Sauv/TFD - C.tar.bz2 differ diff --git a/TIPE_2007/C/Sauv/TFD - C.zip b/TIPE_2007/C/Sauv/TFD - C.zip new file mode 100644 index 0000000..bb60997 Binary files /dev/null and b/TIPE_2007/C/Sauv/TFD - C.zip differ diff --git a/TIPE_2007/C/TFD - C.tar.bz2 b/TIPE_2007/C/TFD - C.tar.bz2 new file mode 100644 index 0000000..9b207b7 Binary files /dev/null and b/TIPE_2007/C/TFD - C.tar.bz2 differ diff --git a/TIPE_2007/C/TFD - C.zip b/TIPE_2007/C/TFD - C.zip new file mode 100644 index 0000000..1e4a38f Binary files /dev/null and b/TIPE_2007/C/TFD - C.zip differ diff --git a/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf b/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf new file mode 100644 index 0000000..d6d5f29 Binary files /dev/null and b/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf differ diff --git a/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf.sansTOC b/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf.sansTOC new file mode 100644 index 0000000..d8a7a47 Binary files /dev/null and b/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf.sansTOC differ diff --git a/TIPE_2007/Dossier/Transparents_TIPE_2007_TF.pdf b/TIPE_2007/Dossier/Transparents_TIPE_2007_TF.pdf new file mode 100644 index 0000000..25434b7 Binary files /dev/null and b/TIPE_2007/Dossier/Transparents_TIPE_2007_TF.pdf differ diff --git a/TIPE_2007/Maple/TFD - Old.mw b/TIPE_2007/Maple/TFD - Old.mw new file mode 100644 index 0000000..950dcc2 --- /dev/null +++ b/TIPE_2007/Maple/TFD - Old.mw @@ -0,0 +1,496 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +restart: + + +
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par une proc\303\251dure "na\303\257ve"</Font></Text-field> +Cette proc\303\251dure calcule les coefficients de Fourier par une m\303\251thode dite "naive". + + +TFDSimple:=proc(x) + +local n,X: +n:=nops(x): + +X:=[seq(sum(x[j]*exp(-2*I*(j-1)*(k-1)*Pi/n),j=1..n),k=1..n)]; + + +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par une proc\303\251dure r\303\251cursive</Font></Text-field> +Cette proc\303\251dure prend en entr\303\251e une liste repr\303\251sentant les coefficients d'un polyn\303\264me dont on cherche \303\240 calculer les coefficients de Fourier. + + +TFDRecur:=proc(x) + +local N,CoefFFT,xp,xi,u,v,omega: +N:=nops(x): + +if N=1 then CoefFFT:=x: +else + +xp:=[seq(x[2*i],i=1..N/2)]: +xi:=[seq(x[2*i-1],i=1..N/2)]: +u:=TFDRecur(xp): +v:=TFDRecur(xi): + +omega:=exp(-2*I*Pi/N): + +CoefFFT:=[seq(omega^(k-1)*u[k]+v[k],k=1..N/2),seq(-omega^(k-1)*u[k]+v[k],k=1..N/2)]; +end if: +CoefFFT; + +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par it\303\251ration</Font></Text-field> +On va utiliser l'\303\251criture des divers coefficients en binaire. + + + +TFDIter:=proc(x) +local n,i,j,k,a,b,p,l,z,w,h,m,tmp: +n:=nops(x): +l:=x; +p:=n/2; #p: puissance max dans d\303\251composition. + +while p>=1 do +#On fait les signaux jusqu'a 2^p + z:=1; #premi\303\250re valeur de omega. + w:=exp(-I*Pi/p); #c'est omega. + + for h from 1 to p do #Variable servant \303\240 la d\303\251composition + for m from 1 to n/(2*p) do + #On va calculer le signal xm + #prendre l'exemple du Butterfly pour illustrer + a:=h+2*(m-1)*p:#indice du signal pour j_(r-1) + b:=a+p; + tmp:=(l[a]-l[b])*z: + l[a]:=l[a]+l[b]: + l[b]:=tmp: + end do: + #On passe au signal m+1 -> w<-w^(m+1) + z:=z*w: + end do: + p:=p/2: +end do: + +#On a maintenant notre liste contenant les signaux x_r +#Il reste \303\240 remettre les signaux dans le bon ordre. + +j:=1: +for i from 1 to n do + if j>i then tmp:=l[j]: + l[j]:=l[i]: + l[i]:=tmp: + end if: + p:=n/2: + while p>=2 and j>p do + j:=j-p: + p:=p/2: + end do: + j:=j+p: +end do: +return l; + + +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la Transform\303\251e Inverse.</Font></Text-field> +De m\303\252me, il est possible d'effectuer deux m\303\251thodes pour calculer la transform\303\251e inverse de Fourier : +
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode na\303\257ve</Font></Text-field> +En utilisant le m\303\252me algorithme, on obtient : + + +TFDISimple:=proc(X) + +local n,F: +n:=nops(X): + +F:=[seq((1/n)*sum(X[i]*exp(2*I*(j-1)*(i-1)*Pi/(n)),i=1..n),j=1..n)]; + +end proc: + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode r\303\251cursive</Font></Text-field> +Attention : Pour que l'on puisse retrouver les valeurs initiales, +il ne faut pas oublier de diviser par le nombre de valeurs. + + +TFDIRecur:=proc(X) +local Coef,N,Xi,Xp,U,V,Omega,k; +N:=nops(X); + +if N=1 then Coef:=X: +else + Xi:=[seq(X[2*k-1],k=1..N/2)]; + Xp:=[seq(X[2*k],k=1..N/2)]; + U:=TFDIRecur(Xi); + V:=TFDIRecur(Xp); + Omega:=exp(2*I*Pi/N); + Coef:=[seq(U[k]+Omega^(k-1)*V[k],k=1..N/2),seq(U[k]-Omega^(k-1)*V[k],k=1..N/2)]: + end if; +Coef; +end proc: + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode it\303\251rative</Font></Text-field> + + + +TFDIIter:=proc(x) +local n,i,j,k,a,b,p,l,z,w,h,m,tmp: +n:=nops(x): +l:=x; +p:=n/2; + +while p>=1 do + z:=1; + w:=exp(I*Pi/p); #C'est la diff\303\251rence + + for h from 1 to p do + for m from 1 to n/(2*p) do + a:=h+2*(m-1)*p: + b:=a+p; + tmp:=(l[a]-l[b])*z: + l[a]:=l[a]+l[b]: + l[b]:=tmp: + end do: + z:=z*w: + end do: + p:=p/2: +end do: + +j:=1: +for i from 1 to n do + if j>i then tmp:=l[j]: + l[j]:=l[i]: + l[i]:=tmp: + end if: + p:=n/2: + while p>=2 and j>p do + j:=j-p: + p:=p/2: + end do: + j:=j+p: +end do: +return l/n; +end proc: + + +
+
+
+<Text-field style="Heading 1" layout="Heading 1">Mesure du temps de calcul</Text-field> +On va ici s'inter\303\251sser \303\240 la mesure du temps pris pour calculer les coefficients de Fourier (Transform\303\251e Directe) par la m\303\251thode na\303\257ve et la m\303\251thode r\303\251cursive pour n grand, par exemple n=2^5, n=2^10, n=2^20. +Pour cela, on va d\303\251finir la liste de nos coefficients, entiers compris entre -50 et 50 par exemple, par une m\303\251thode "pseudo-al\303\251atoire" : + + + +with(RandomTools[MersenneTwister]); +A:=[seq(GenerateInteger32(),i=1..2^5)]: + + +NiQtSShtZmVuY2VkRzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiwtSSNtaUdGJTY5US5HZW5lcmF0ZUZsb2F0RigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUYtNjlRMEdlbmVyYXRlRmxvYXQ2NEYoRjBGM0Y2RjlGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmluRlxvLUYtNjlRMEdlbmVyYXRlSW50ZWdlckYoRjBGM0Y2RjlGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmluRlxvLUYtNjlRMkdlbmVyYXRlSW50ZWdlcjMyRihGMEYzRjZGOUY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaW5GXG8tRi02OVE2R2VuZXJhdGVVbnNpZ25lZEludDMyRihGMEYzRjZGOUY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaW5GXG8tRi02OVEpR2V0U3RhdGVGKEYwRjNGNkY5RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZpbkZcby1GLTY5US1OZXdHZW5lcmF0b3JGKEYwRjNGNkY5RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZpbkZcby1GLTY5USlTZXRTdGF0ZUYoRjBGM0Y2RjlGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmluRlxvLyUlb3BlbkdRJyZsc3FiO0YoLyUmY2xvc2VHUScmcnNxYjtGKDcjNypJLkdlbmVyYXRlRmxvYXRHRihJMEdlbmVyYXRlRmxvYXQ2NEdGKEkwR2VuZXJhdGVJbnRlZ2VyR0YoSTJHZW5lcmF0ZUludGVnZXIzMkdGKEk2R2VuZXJhdGVVbnNpZ25lZEludDMyR0YoSSlHZXRTdGF0ZUdGKEktTmV3R2VuZXJhdG9yR0YoSSlTZXRTdGF0ZUdGKA== + + +
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode na\303\257ve</Font></Text-field> +On effectue le calcul pour la m\303\251thode it\303\251rative : + + +t:=time(): +N:=TFDSimple(A): +Temps := time()-t; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEmMC4wOTZGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiMnKiEiJDcjRmhy + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode r\303\251cursive</Font></Text-field> +Calcul pour la m\303\251thode r\303\251cursive : + + +t:=time(): +R:=TFDRecur(A): +Temps := time()-t; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEmMC4wMDRGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiIlISIkNyNGaHI= + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode it\303\251rative</Font></Text-field> + + + +t:=time(): +I:=TFDIter(A): +Temps:= time()-t; + + +Error, illegal use of an object as a name + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEjMC5GKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiIhRmlyNyNGaHI= + + + + + + + +
+
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Multiplication de polyn\303\264mes</Font></Text-field> +
+<Text-field style="Heading 2" layout="Heading 2">Algorithme</Text-field> +On va prendre en entr\303\251e deux listes contenant les coefficients des deux polyn\303\264mes dont on cherche \303\240 calculer le produit. +Utilise la m\303\251thode simple, car sinon impose en plus une condition sur le degr\303\251 des polyn\303\264mes. + + +Multiplication:=proc(P,Q) + +local n,N,R,A,B,i,j,k: + +n:=nops(P): + +#On cr\303\251e la liste des coefficients \303\251tendus \303\240 2n \303\251l\303\251ments. +A:=[seq(P[k],k=1..n),seq(0,k=n+1..2*n)]; +B:=[seq(Q[k],k=1..n),seq(0,k=n+1..2*n)]; + +#On calcule la TFD de chacune de ces listes. +A:=TFDIter(A): +B:=TFDIter(B): + +#On effectue les produits +R:=[seq(A[k]*B[k],k=1..2*n)]: + +#On r\303\251cup\303\250re les coefficients. +TFDIIter(R); + +end proc: + + + + + + + +
+
+<Text-field style="Heading 2" layout="Heading 2">Exemple</Text-field> +
+<Text-field style="Heading 3" layout="Heading 3">Maple</Text-field> +On va poser LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2OVEiUEYnLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRicvJSVzaXplR1EjMTJGJy8lJWJvbGRHUSZmYWxzZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUqdW5kZXJsaW5lR0Y3LyUqc3Vic2NyaXB0R0Y3LyUsc3VwZXJzY3JpcHRHRjcvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJy8lJ29wYXF1ZUdGNy8lK2V4ZWN1dGFibGVHRjcvJSlyZWFkb25seUdGNy8lKWNvbXBvc2VkR0Y3LyUqY29udmVydGVkR0Y3LyUraW1zZWxlY3RlZEdGNy8lLHBsYWNlaG9sZGVyR0Y3LyUwZm9udF9zdHlsZV9uYW1lR1EoMkR+TWF0aEYnLyUqbWF0aGNvbG9yR0ZDLyUvbWF0aGJhY2tncm91bmRHRkYvJStmb250ZmFtaWx5R0YxLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKW1hdGhzaXplR0Y0LUkjbW9HRiQ2M1EjOj1GJy8lJWZvcm1HUSZpbmZpeEYnLyUmZmVuY2VHRjcvJSpzZXBhcmF0b3JHRjcvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYnLyUncnNwYWNlR0Zqby8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobWF4c2l6ZUdRKWluZmluaXR5RicvJShtaW5zaXplR1EiMUYnLyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJTBmb250X3N0eWxlX25hbWVHRlcvJSVzaXplR0Y0LyUrZm9yZWdyb3VuZEdGQy8lK2JhY2tncm91bmRHRkYtRiM2Jy1GLDY5USFGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUkrbXVuZGVyb3ZlckdGJDYnLUZebzYzUSYmU3VtO0YnL0Zib1EncHJlZml4RidGZG9GZm8vRmlvUSQwZW1GJy9GXHBRLnRoaW5tYXRoc3BhY2VGJy9GXnBGOkZfcEZhcEZkcC9GaHBGOi9GanBGOkZbcUZdcUZfcUZhcUZjcS1GIzYnRmdxLUYsNjlRImlGJ0YvL0YzUSMxMEYnRjVGOEY7Rj1GPy9GQlEsWzIwMCwwLDIwMF1GJ0ZERkdGSUZLRk1GT0ZRL0ZURjpGVS9GWUZhc0ZaRmZuRmhuL0Zcb0Zfcy1GXm82M1EiPUYnRmFvRmRvRmZvRmhvRltwRl1wRl9wRmFwRmRwRmdwRmlwRltxRl1xRl9xRmFxRmNxLUkjbW5HRiQ2OVEiMEYnRi9GMkY1L0Y5RjdGO0Y9Rj9GQUZERkdGSUZLRk1GT0ZRRlNGVUZYRlpGZm4vRmluUSdub3JtYWxGJ0Zbb0ZncS1GIzYjLUZpczY5USMxMEYnRi9GMkY1Rlx0RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRl10RltvRltxLyUsYWNjZW50dW5kZXJHRjdGZ3EtSSVtc3VwR0YkNiUtRiw2OVEjaVhGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUYsNjlGXXNGL0YyRjVGOEY7Rj1GP0ZBRkRGR0ZJRktGTUZPRlFGU0ZVRlhGWkZmbkZobkZbby8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGZ3FGZ3E= et LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2OVEiUUYnLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRicvJSVzaXplR1EjMTJGJy8lJWJvbGRHUSZmYWxzZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUqdW5kZXJsaW5lR0Y3LyUqc3Vic2NyaXB0R0Y3LyUsc3VwZXJzY3JpcHRHRjcvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJy8lJ29wYXF1ZUdGNy8lK2V4ZWN1dGFibGVHRjcvJSlyZWFkb25seUdGNy8lKWNvbXBvc2VkR0Y3LyUqY29udmVydGVkR0Y3LyUraW1zZWxlY3RlZEdGNy8lLHBsYWNlaG9sZGVyR0Y3LyUwZm9udF9zdHlsZV9uYW1lR1EoMkR+TWF0aEYnLyUqbWF0aGNvbG9yR0ZDLyUvbWF0aGJhY2tncm91bmRHRkYvJStmb250ZmFtaWx5R0YxLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKW1hdGhzaXplR0Y0LUkjbW9HRiQ2M1EjOj1GJy8lJWZvcm1HUSZpbmZpeEYnLyUmZmVuY2VHRjcvJSpzZXBhcmF0b3JHRjcvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYnLyUncnNwYWNlR0Zqby8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobWF4c2l6ZUdRKWluZmluaXR5RicvJShtaW5zaXplR1EiMUYnLyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJTBmb250X3N0eWxlX25hbWVHRlcvJSVzaXplR0Y0LyUrZm9yZWdyb3VuZEdGQy8lK2JhY2tncm91bmRHRkYtRiM2KS1GLDY5USFGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUkrbXVuZGVyb3ZlckdGJDYnLUZebzYzUSYmU3VtO0YnL0Zib1EncHJlZml4RidGZG9GZm8vRmlvUSQwZW1GJy9GXHBRLnRoaW5tYXRoc3BhY2VGJy9GXnBGOkZfcEZhcEZkcC9GaHBGOi9GanBGOkZbcUZdcUZfcUZhcUZjcS1GIzYmRmdxLUYsNjlRImlGJ0YvL0YzUSMxMEYnRjVGOEY7Rj1GPy9GQlEsWzIwMCwwLDIwMF1GJ0ZERkdGSUZLRk1GT0ZRL0ZURjpGVS9GWUZhc0ZaRmZuRmhuL0Zcb0Zfcy1GXm82M1EiPUYnRmFvRmRvRmZvRmhvRltwRl1wRl9wRmFwRmRwRmdwRmlwRltxRl1xRl9xRmFxRmNxLUkjbW5HRiQ2OVEiMEYnRi9GMkY1L0Y5RjdGO0Y9Rj9GQUZERkdGSUZLRk1GT0ZRRlNGVUZYRlpGZm4vRmluUSdub3JtYWxGJ0Zbby1GaXM2OVEjMTBGJ0YvRjJGNUZcdEY7Rj1GP0ZBRkRGR0ZJRktGTUZPRlFGU0ZVRlhGWkZmbkZddEZbb0ZbcS8lLGFjY2VudHVuZGVyR0Y3RmdxLUklbXN1cEdGJDYlLUYsNjlGXXNGL0YyRjVGOEY7Rj1GP0ZBRkRGR0ZJRktGTUZPRlFGU0ZVRlhGWkZmbkZobkZbb0ZndC8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGZ3EtRmV0NiUtRiw2OVEiWEYnRi9GMkY1RjhGO0Y9Rj9GQUZERkdGSUZLRk1GT0ZRRlNGVUZYRlpGZm5GaG5GW29GZ3RGaXRGZ3FGZ3E= + + +P:=sum(i*X^i,i=0..15); + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJQRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctRiQ2QC1GLTY5USJYRihGMEYzRjZGOUY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaW5GXG8tRl9vNjNRJyZwbHVzO0YoRmJvRmVvRmdvL0Zqb1EwbWVkaXVtbWF0aHNwYWNlRigvRl1wRl9yRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUYkNiYtSSNtbkdGJTY5USIyRihGMEYzRjYvRjpGOEY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ24vRmpuUSdub3JtYWxGKEZcby1GX282M1ExJkludmlzaWJsZVRpbWVzO0YoRmJvRmVvRmdvL0Zqb1EkMGVtRigvRl1wRl5zRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUklbXN1cEdGJTYlRmhxRmNyLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGKC9JK21zZW1hbnRpY3NHRiVRIipGKEZbci1GJDYmLUZkcjY5USIzRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRlt0RmNzRmZzRltyLUYkNiYtRmRyNjlRIjRGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHFGYnRGY3NGZnNGW3ItRiQ2Ji1GZHI2OVEiNUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocUZpdEZjc0Zmc0Zbci1GJDYmLUZkcjY5USI2RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmB1RmNzRmZzRltyLUYkNiYtRmRyNjlRIjdGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHFGZ3VGY3NGZnNGW3ItRiQ2Ji1GZHI2OVEiOEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocUZedkZjc0Zmc0Zbci1GJDYmLUZkcjY5USI5RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmV2RmNzRmZzRltyLUYkNiYtRmRyNjlRIzEwRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRlx3RmNzRmZzRltyLUYkNiYtRmRyNjlRIzExRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmN3RmNzRmZzRltyLUYkNiYtRmRyNjlRIzEyRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmp3RmNzRmZzRltyLUYkNiYtRmRyNjlRIzEzRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmF4RmNzRmZzRltyLUYkNiYtRmRyNjlRIzE0RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmh4RmNzRmZzRltyLUYkNiYtRmRyNjlRIzE1RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRl95RmNzRmZzL0Znc1EiK0YoL0Znc1EjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkiUEdGKCxASSJYR0YoIiIiKiYiIiNGYnopRmF6RmR6RmJ6RmJ6KiYiIiRGYnopRmF6Rmd6RmJ6RmJ6KiYiIiVGYnopRmF6Rmp6RmJ6RmJ6KiYiIiZGYnopRmF6Rl1bbEZiekZieiomIiInRmJ6KUZhekZgW2xGYnpGYnoqJiIiKEZieilGYXpGY1tsRmJ6RmJ6KiYiIilGYnopRmF6RmZbbEZiekZieiomIiIqRmJ6KUZhekZpW2xGYnpGYnoqJiIjNUZieilGYXpGXFxsRmJ6RmJ6KiYiIzZGYnopRmF6Rl9cbEZiekZieiomIiM3RmJ6KUZhekZiXGxGYnpGYnoqJiIjOEZieilGYXpGZVxsRmJ6RmJ6KiYiIzlGYnopRmF6RmhcbEZiekZieiomIiM6RmJ6KUZhekZbXWxGYnpGYno3I0Zgeg== + + + + +Q:=sum(i^i*X^i,i=0..15); + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJRRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctRiQ2Qi1JI21uR0YlNjlGZ3BGMEYzRjYvRjpGOEY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ24vRmpuUSdub3JtYWxGKEZcby1GX282M1EnJnBsdXM7RihGYm9GZW9GZ28vRmpvUTBtZWRpdW1tYXRoc3BhY2VGKC9GXXBGYnJGXnBGYHBGYnBGZXBGaHBGanBGXHFGXnFGYHFGYnFGZHEtRi02OVEiWEYoRjBGM0Y2RjlGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmluRlxvRl5yLUYkNiYtRmlxNjlRIjRGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG8tRl9vNjNRMSZJbnZpc2libGVUaW1lcztGKEZib0Zlb0Znby9Gam9RJDBlbUYoL0ZdcEZgc0ZecEZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcS1JJW1zdXBHRiU2JUZkci1GaXE2OVEiMkYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcby8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRigvSSttc2VtYW50aWNzR0YlUSIqRihGXnItRiQ2Ji1GaXE2OVEjMjdGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GXHMtRmNzNiVGZHItRmlxNjlRIjNGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GaHNGW3RGXnItRiQ2Ji1GaXE2OVEkMjU2RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyRmlyRmhzRlt0Rl5yLUYkNiYtRmlxNjlRJTMxMjVGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GXHMtRmNzNiVGZHItRmlxNjlRIjVGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GaHNGW3RGXnItRiQ2Ji1GaXE2OVEmNDY2NTZGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GXHMtRmNzNiVGZHItRmlxNjlRIjZGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GaHNGW3RGXnItRiQ2Ji1GaXE2OVEnODIzNTQzRihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyLUZpcTY5USI3RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRmhzRlt0Rl5yLUYkNiYtRmlxNjlRKTE2Nzc3MjE2RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyLUZpcTY5USI4RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRmhzRlt0Rl5yLUYkNiYtRmlxNjlRKjM4NzQyMDQ4OUYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zccy1GY3M2JUZkci1GaXE2OVEiOUYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zoc0ZbdEZeci1GJDYmLUZpcTY5USwxMDAwMDAwMDAwMEYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zccy1GY3M2JUZkci1GaXE2OVEjMTBGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GaHNGW3RGXnItRiQ2Ji1GaXE2OVEtMjg1MzExNjcwNjExRihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyLUZpcTY5USMxMUYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zoc0ZbdEZeci1GJDYmLUZpcTY5US44OTE2MTAwNDQ4MjU2RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyLUZpcTY5USMxMkYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zoc0ZbdEZeci1GJDYmLUZpcTY5UTAzMDI4NzUxMDY1OTIyNTNGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GXHMtRmNzNiVGZHItRmlxNjlRIzEzRihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRmhzRlt0Rl5yLUYkNiYtRmlxNjlRMjExMTEyMDA2ODI1NTU4MDE2RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyLUZpcTY5USMxNEYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zoc0ZbdEZeci1GJDYmLUZpcTY5UTM0Mzc4OTM4OTAzODA4NTkzNzVGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GXHMtRmNzNiVGZHItRmlxNjlRIzE1RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRmhzRlt0L0ZcdFEiK0YoL0ZcdFEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkiUUdGKCxCIiIiRmpcbEkiWEdGKEZqXGwqJiIiJUZqXGwpRltdbCIiI0ZqXGxGalxsKiYiI0ZGalxsKUZbXWwiIiRGalxsRmpcbComIiRjI0ZqXGwpRltdbEZdXWxGalxsRmpcbComIiVESkZqXGwpRltdbCIiJkZqXGxGalxsKiYiJmNtJUZqXGwpRltdbCIiJ0ZqXGxGalxsKiYiJ1ZOIylGalxsKUZbXWwiIihGalxsRmpcbComIik7c3g7RmpcbClGW11sIiIpRmpcbEZqXGwqJiIqKls/dVFGalxsKUZbXWwiIipGalxsRmpcbComIiwrKysrKyJGalxsKUZbXWwiIzVGalxsRmpcbComIi02MW42YEdGalxsKUZbXWwiIzZGalxsRmpcbComIi5jI1svNTsqKUZqXGwpRltdbCIjN0ZqXGxGalxsKiYiMGBBZjFeKEdJRmpcbClGW11sIiM4RmpcbEZqXGwqJiIyOyFlYiNvKzc2IkZqXGwpRltdbCIjOUZqXGxGalxsKiYiM3YkZjNRISpRKnlWRmpcbClGW11sIiM6RmpcbEZqXGw3I0ZpXGw= + + + + +R:=expand(P*Q); + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJSRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctRiQ2aG4tRi02OVEiWEYoRjBGM0Y2RjlGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmluRlxvLUZfbzYzUScmcGx1cztGKEZib0Zlb0Znby9Gam9RMG1lZGl1bW1hdGhzcGFjZUYoL0ZdcEZfckZecEZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcS1GJDYmLUkjbW5HRiU2OVE0NjI5NzE5NDU2NzcxNTQwMTQ5MEYoRjBGM0Y2L0Y6RjhGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduL0ZqblEnbm9ybWFsRihGXG8tRl9vNjNRMSZJbnZpc2libGVUaW1lcztGKEZib0Zlb0Znby9Gam9RJDBlbUYoL0ZdcEZec0ZecEZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcS1JJW1zdXBHRiU2JUZocS1GZHI2OVEjMjlGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG8vJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYoL0krbXNlbWFudGljc0dGJVEiKkYoRltyLUYkNiYtRmRyNjlRNDE4MDkwMTc2MzU1NTY1NzQ2NzhGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzE5RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRNDIyNTgzMzU2MTk2ODY3NzAzNzhGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzIwRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRMzkxMDM4MTY2NzI5NjE3NTUyNEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMTdGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0MTM1OTY5OTY1MTQyNjM3NTI4N0YoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMThGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVEiM0YoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEiMkYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5USI5RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmZ2RmZzRmlzRltyLUYkNiYtRmRyNjlRIzQyRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxLUZkcjY5USI0RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRJDMzMUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEiNUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5USo0MjM2NDk1NzVGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzEwRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRLDEwODI4NzIwODkzRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxLUZkcjY5USMxMUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5USc5Mjc0MjhGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIjhGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVEpMTg1NzgyNTdGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHFGYHdGZnNGaXNGW3ItRiQ2Ji1GZHI2OVElMzc0NUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEiNkYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5USY1MzgxNUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEiN0YoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5UTQ1NDAzNTU2NzY2MzAxNTgyMDkwRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxLUZkcjY5USMyN0YoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5UTQ1ODUyNzMxNzk3MTA3ODY3ODk0RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxLUZkcjY5USMyOEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5US0zMDY1NDU0NjI4MjJGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzEyRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRLjk1MTgzNjI2NTMwMDdGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzEzRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRMDMyMTYwNTI4NjQzNTQ0NUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMTRGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0NjU2ODQwODM1NTcxMjg5MDYyNUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMzBGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVEyMTE3NDU2OTkwMzU3NzU4OTlGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzE1RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRMzQ2MTA2MzY4MzE2NTk3NTcxMkYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMTZGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0MjcwNzY1MzYwMzgxNjkxOTkxOEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjFGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0MzE1Njk3MTU4Nzk0NjM2OTgzN0YoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjJGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0MzYwNjI4OTU3MjA2MzM0MjkwOEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjNGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0NDA1NTYwNzU1NTkyNDIzMzY2OEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjRGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0NDUwNDkyNTUzMzgzODA1NDg0NEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjVGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0NDk1NDI0MzM1NzU2MzE4MzM1NUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjZGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXMvRmpzUSIrRigvRmpzUSM6PUYoNyMtX0YpSSxtcHJpbnRzbGFzaEdGKDYkNyM+SSJSR0YoLGhuSSJYR0YoIiIiKiYiNCFcLGFyblg+KEgnRlxmbClGW2ZsIiNIRlxmbEZcZmwqJiI0eVlkY2JqPCE0PUZcZmwpRltmbCIjPkZcZmxGXGZsKiYiNHkueCdvPmNMZUFGXGZsKUZbZmwiIz9GXGZsRlxmbComIjNDYjwnSG47UTUqRlxmbClGW2ZsIiM8RlxmbEZcZmwqJiI0KEd2alVeJypwZjhGXGZsKUZbZmwiIz1GXGZsRlxmbComIiIkRlxmbClGW2ZsIiIjRlxmbEZcZmwqJiIiKkZcZmwpRltmbEZiZ2xGXGZsRlxmbComIiNVRlxmbClGW2ZsIiIlRlxmbEZcZmwqJiIkSiRGXGZsKUZbZmwiIiZGXGZsRlxmbComIip2JlxPVUZcZmwpRltmbCIjNUZcZmxGXGZsKiYiLCQqM3NHMyJGXGZsKUZbZmwiIzZGXGZsRlxmbComIidHdSMqRlxmbClGW2ZsIiIpRlxmbEZcZmwqJiIpZCN5Jj1GXGZsKUZbZmxGZmdsRlxmbEZcZmwqJiIlWFBGXGZsKUZbZmwiIidGXGZsRlxmbComIiY6USZGXGZsKUZbZmwiIihGXGZsRlxmbComIjQhNCNlLGp3Y05TJkZcZmwpRltmbCIjRkZcZmxGXGZsKiYiNCUqeSd5NSh6SkYmZUZcZmwpRltmbCIjR0ZcZmxGXGZsKiYiLUFHWVhsSUZcZmwpRltmbCIjN0ZcZmxGXGZsKiYiLjJJbGkkPSYqRlxmbClGW2ZsIiM4RlxmbEZcZmwqJiIwWGFWJ0cwO0tGXGZsKUZbZmwiIzlGXGZsRlxmbComIjREMSpHcmIkMyVvbEZcZmwpRltmbCIjSUZcZmxGXGZsKiYiMioqZXhOISpwWDwiRlxmbClGW2ZsIiM6RlxmbEZcZmwqJiIzN2QoZjskb2o1WUZcZmwpRltmbCIjO0ZcZmxGXGZsKiYiND0qPnAiUWdgd3EjRlxmbClGW2ZsIiNARlxmbEZcZmwqJiI0UClwaiV6ZXJwOiRGXGZsKUZbZmwiI0FGXGZsRlxmbComIjQzSE1qP2QqRzFPRlxmbClGW2ZsIiNCRlxmbEZcZmwqJiI0b09CQ2ZiMmMwJUZcZmwpRltmbCIjQ0ZcZmxGXGZsKiYiNFdbMFFRYERcXSVGXGZsKUZbZmwiI0RGXGZsRlxmbComIjRiTD1qdk5WVSZcRlxmbClGW2ZsIiNFRlxmbEZcZmw3I0ZqZWw= + + + + + + + +
+
+<Text-field style="Heading 3" layout="Heading 3">Algo</Text-field> + + + +P:=[seq(i,i=0..15)]; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJQRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctSShtZmVuY2VkR0YlNjQtSSNtbkdGJTY5USIwRihGMEYzRjYvRjpGOEY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ24vRmpuUSdub3JtYWxGKEZcby1GanE2OUZncEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjJGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjNGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjRGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjVGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjZGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjdGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjhGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjlGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIzEwRihGMEYzRjZGXXJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl5yRlxvLUZqcTY5USMxMUYoRjBGM0Y2Rl1yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZeckZcby1GanE2OVEjMTJGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIzEzRihGMEYzRjZGXXJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl5yRlxvLUZqcTY5USMxNEYoRjBGM0Y2Rl1yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZeckZcby1GanE2OVEjMTVGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8vJSVvcGVuR1EnJmxzcWI7RigvJSZjbG9zZUdRJyZyc3FiO0YoL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkiUEdGKDcyIiIhIiIiIiIjIiIkIiIlIiImIiInIiIoIiIpIiIqIiM1IiM2IiM3IiM4IiM5IiM6NyNGXXY= + + + + +Q:=[seq(i^i,i=0..15)]; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJRRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctSShtZmVuY2VkR0YlNjQtSSNtbkdGJTY5RmdwRjBGM0Y2L0Y6RjhGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduL0ZqblEnbm9ybWFsRihGXG9GaXEtRmpxNjlRIjRGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRIzI3RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvLUZqcTY5USQyNTZGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRJTMxMjVGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRJjQ2NjU2RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvLUZqcTY5USc4MjM1NDNGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRKTE2Nzc3MjE2RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvLUZqcTY5USozODc0MjA0ODlGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRLDEwMDAwMDAwMDAwRihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvLUZqcTY5US0yODUzMTE2NzA2MTFGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRLjg5MTYxMDA0NDgyNTZGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRMDMwMjg3NTEwNjU5MjI1M0YoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcby1GanE2OVEyMTExMTIwMDY4MjU1NTgwMTZGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRMzQzNzg5Mzg5MDM4MDg1OTM3NUYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcby8lJW9wZW5HUScmbHNxYjtGKC8lJmNsb3NlR1EnJnJzcWI7RigvSSttc2VtYW50aWNzR0YlUSM6PUYoNyMtX0YpSSxtcHJpbnRzbGFzaEdGKDYkNyM+SSJRR0YoNzIiIiJGW3YiIiUiI0YiJGMjIiVESiImY20lIidWTiMpIik7c3g7IioqWz91USIsKysrKysiIi02MW42YEciLmMjWy81OyopIjBgQWYxXihHSSIyOyFlYiNvKzc2IiIzdiRmM1EhKlEqeVY3I0ZqdQ== + + + + +R:=evalf(Multiplication(P,Q)): + + + + +R:=[seq(round(R[j]),j=1..20)]; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJSRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctSShtZmVuY2VkR0YlNjgtRiQ2Ji1JI21uR0YlNjlRKy0zMDAwMDAwMDBGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvLUZfbzYzUScmcGx1cztGKEZib0Zlb0Znby9Gam9RMG1lZGl1bW1hdGhzcGFjZUYoL0ZdcEZmckZecEZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcS1GJDYmLUZccjY5USsxMzAwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvLUZfbzYzUTEmSW52aXNpYmxlVGltZXM7RihGYm9GZW9GZ28vRmpvUSQwZW1GKC9GXXBGYXNGXnBGYHBGYnBGZXBGaHBGanBGXHFGXnFGYHFGYnFGZHEtRlxyNjlRLSZJbWFnaW5hcnlJO0YoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcby9JK21zZW1hbnRpY3NHRiVRIipGKC9GZ3NRIitGKC1GJDYmLUZccjY5USsyMzYwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRmJyLUYkNiYtRlxyNjlRKzQwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GXXNGY3NGZnNGaXMtRiQ2Ji1GXHI2OVErNTAwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zdc0Zjc0Zmcy1GJDYmLUZccjY5USwtMjMwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zici1GJDYmLUZccjY5USsyMzAwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRl1zRmNzRmZzRmlzLUYkNiYtRlxyNjlRKy05MDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYnJGYHRGaXMtRiQ2Ji1GXHI2OVErLTgwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0ZickZldEZpcy1GJDYmLUZccjY5USwtMTAwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0ZickZldEZpcy1GJDYmLUZccjY5USozMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYnItRiQ2Ji1GXHI2OVErMTE0MjAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zdc0Zjc0Zmc0Zpcy1GJDYmLUZccjY5USs0NTM3NTAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRl1zRmNzRmZzLUYkNiYtRlxyNjlRKzEwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYnItRiQ2Ji1GXHI2OVErNDU2ODc1MDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zdc0Zjc0Zmc0Zpcy1GJDYmRmR3RmJyLUYkNiYtRlxyNjlRKzUxNTYyNTAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GXXNGY3NGZnNGaXMtRiQ2Ji1GXHI2OVErOTAwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zici1GJDYmLUZccjY5USs1Mzg3NTAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRl1zRmNzRmZzRmlzLUYkNiYtRlxyNjlRLTMwNzAwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zici1GJDYmLUZccjY5USs4ODUwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRl1zRmNzRmZzRmlzLUYkNiYtRlxyNjlRLjk1MjAwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYnItRiQ2Ji1GXHI2OVErNzcwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zdc0Zjc0Zmc0Zpcy1GJDYmLUZccjY5UTAzMjE2MDgwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYnItRiQ2Ji1GXHI2OVErNzY1NzUxNzk1N0YoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zdc0Zjc0Zmc0Zpcy1GJDYmLUZccjY5UTIxMTc0NTY5ODM1MDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcby1GX282M1EoJm1pbnVzO0YoRmJvRmVvRmdvRmVyRmdyRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUYkNiYtRlxyNjlRKzIyMjQyOTM1ODlGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GXXNGY3NGZnNGaXMtRiQ2Ji1GXHI2OVEzNDYxMDYzNjg0MDAwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRmBbbC1GJDYmLUZccjY5USo5MDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GXXNGY3NGZnNGaXMtRiQ2Ji1GXHI2OVEzOTEwMzgxNjY5MTAwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRmBbbC1GJDYmLUZccjY5USsyMDAwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRl1zRmNzRmZzRmlzLUYkNiYtRlxyNjlRNDEzNTk2OTk2NTMwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYFtsLUYkNiYtRlxyNjlRKzMwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GXXNGY3NGZnNGaXMtRiQ2Ji1GXHI2OVE0MTgwOTAxNzYzNDAwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0ZgW2wtRiQ2JkZldkZdc0Zjc0Zmc0Zpcy8lJW9wZW5HUScmbHNxYjtGKC8lJmNsb3NlR1EnJnJzcWI7RigvRmdzUSM6PUYoNyMtX0YpSSxtcHJpbnRzbGFzaEdGKDYkNyM+SSJSR0YoNzYsJiIqKysrKyQhIiIqJiIrKysrKzgiIiJeI0ZjX2xGY19sRmNfbCwmIisrKytnQkZjX2wqJiIrKysrK1NGY19sRmRfbEZjX2xGY19sKiYiKysrKytdRmNfbEZkX2xGY19sLCYiKysrKytCRmBfbComRlxgbEZjX2xGZF9sRmNfbEZjX2wsJiIqKysrKypGYF9sRmdfbEZjX2wsJiIqKysrKylGYF9sRmlfbEZjX2wsJiIrKysrKzVGYF9sRmlfbEZjX2wsJkZfX2xGY19sKiYiKysrK1U2RmNfbEZkX2xGY19sRmNfbComIisrK11QWEZjX2xGZF9sRmNfbCwmRmNgbEZjX2wqJiIrKyt2b1hGY19sRmRfbEZjX2xGY19sLCZGY2BsRmNfbComIisrK0RjXkZjX2xGZF9sRmNfbEZjX2wsJiIrKysrKyEqRmNfbComIisrK10oUSZGY19sRmRfbEZjX2xGY19sLCYiLSsrKytxSUZjX2wqJiIrKysrXSkpRmNfbEZkX2xGY19sRmNfbCwmIi4rKysrK18qRmNfbComIisrKysreEZjX2xGZF9sRmNfbEZjX2wsJiIwKysrKyEzO0tGY19sKiYiK2R6XmR3RmNfbEZkX2xGY19sRmNfbCwmIjIrKytdJClwWDwiRmNfbComIisqZSRIQ0FGY19sRmRfbEZjX2xGYF9sLCYiMysrKytTb2o1WUZjX2wqJkZfYGxGY19sRmRfbEZjX2xGYF9sLCYiMysrKysicDtRNSpGY19sKiYiKysrKys/RmNfbEZkX2xGY19sRmBfbCwmIjQrKysrSWwqcGY4RmNfbComIisrKysrSUZjX2xGZF9sRmNfbEZgX2wsJiI0KysrK1NqPCE0PUZjX2wqJkZfX2xGY19sRmRfbEZjX2xGYF9sNyNGXV9s + + + + + + + +
+
+
+
\ No newline at end of file diff --git a/TIPE_2007/Maple/TFD.mw b/TIPE_2007/Maple/TFD.mw new file mode 100644 index 0000000..87d6772 --- /dev/null +++ b/TIPE_2007/Maple/TFD.mw @@ -0,0 +1,472 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +restart: + + +
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par une proc\303\251dure "na\303\257ve"</Font></Text-field> +Cette proc\303\251dure calcule les coefficients de Fourier par une m\303\251thode dite "naive". + + +TFDSimple:=proc(x) + +local n,X: +n:=nops(x): + +X:=[seq(sum(x[j]*exp(-2*I*(j-1)*(k-1)*Pi/n),j=1..n),k=1..n)]; + +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par une proc\303\251dure r\303\251cursive</Font></Text-field> +Cette proc\303\251dure prend en entr\303\251e une liste repr\303\251sentant les coefficients d'un polyn\303\264me dont on cherche \303\240 calculer les coefficients de Fourier. + + +TFDRecur:=proc(x) + +local N,CoefFFT,xp,xi,u,v,omega: +N:=nops(x): + +if N=1 then CoefFFT:=x: +else + +xp:=[seq(x[2*i],i=1..N/2)]: +xi:=[seq(x[2*i-1],i=1..N/2)]: +u:=TFDRecur(xp): +v:=TFDRecur(xi): + +omega:=exp(-2*I*Pi/N): + +CoefFFT:=[seq(omega^(k-1)*u[k]+v[k],k=1..N/2),seq(-omega^(k-1)*u[k]+v[k],k=1..N/2)]; +end if: +CoefFFT; + +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par it\303\251ration</Font></Text-field> +On va utiliser l'\303\251criture des divers coefficients en binaire. + + + +TFDIter:=proc(x) +local n,i,j,k,a,b,p,l,z,w,h,m,tmp: +n:=nops(x): +l:=Array(1..n): +l:=Array(x): +p:=n/2:#p: puissance de 2 dans d\303\251composition. + +while p>=1 do + z:=1: #premi\303\250re valeur de omega. + w:=exp(-I*Pi/p): #c'est omega. + + for h from 1 to p do #Variable servant \303\240 la d\303\251composition + for m from 1 to n/(2*p) do + #On va calculer le signal xm + a:=h+2*(m-1)*p: #Premi\303\250re valeur du signal x_(m-1) + b:=a+p: #Seconde valeur du signal x_(m-1) + tmp:=(l[a]-l[b])*z: + l[a]:=l[a]+l[b]: #x_m(a) = x_(m-1)(a)+x_(m-1)(b) + l[b]:=tmp: #x_m(b) = (x_(m-1)(a)-x_(m-1)(b))*z + end do: + #On passe au signal m+1 -> w<-w^(m+1) + z:=z*w: + end do: + p:=p/2: +end do: + +#On a maintenant notre liste contenant les signaux x_r +#Il reste \303\240 remettre les signaux dans le bon ordre. +j:=1: +for i from 1 to n do + if j>i then tmp:=l[j]: + l[j]:=l[i]: + l[i]:=tmp: + end if: + p:=n/2: + while p>=2 and j>p do + j:=j-p: + p:=p/2: + end do: + j:=j+p: +end do: +l; +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la Transform\303\251e Inverse.</Font></Text-field> +De m\303\252me, il est possible d'effectuer deux m\303\251thodes pour calculer la transform\303\251e inverse de Fourier : +
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode na\303\257ve</Font></Text-field> +En utilisant le m\303\252me algorithme, on obtient : + + +TFDISimple:=proc(X) + +local n,F: +n:=nops(X): + +F:=[seq((1/n)*sum(X[i]*exp(2*I*(j-1)*(i-1)*Pi/(n)),i=1..n),j=1..n)]; + +end proc: + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode r\303\251cursive</Font></Text-field> +Attention : Pour que l'on puisse retrouver les valeurs initiales, +il ne faut pas oublier de diviser par le nombre de valeurs. + + +TFDIRecur:=proc(X) +local Coef,N,Xi,Xp,U,V,Omega,k; +N:=nops(X); + +if N=1 then Coef:=X: +else + Xi:=[seq(X[2*k-1],k=1..N/2)]; + Xp:=[seq(X[2*k],k=1..N/2)]; + U:=TFDIRecur(Xi); + V:=TFDIRecur(Xp); + Omega:=exp(2*I*Pi/N); + Coef:=[seq(U[k]+Omega^(k-1)*V[k],k=1..N/2),seq(U[k]-Omega^(k-1)*V[k],k=1..N/2)]: + end if; +Coef; +end proc: + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode it\303\251rative</Font></Text-field> + + + +TFDIIter:=proc(x) +local n,i,j,k,a,b,p,l,z,w,h,m,tmp: +n:=nops(x): +l:=Array(1..n): +l:=Array(x): +p:=n/2: + +while p>=1 do + z:=1: + w:=exp(I*Pi/p); #C'est la diff\303\251rence + + for h from 1 to p do + for m from 1 to n/(2*p) do + a:=h+2*(m-1)*p: + b:=a+p: + tmp:=(l[a]-l[b])*z: + l[a]:=l[a]+l[b]: + l[b]:=tmp: + end do: + z:=z*w: + end do: + p:=p/2: +end do: + +j:=1: +for i from 1 to n do + if j>i then tmp:=l[j]: + l[j]:=l[i]: + l[i]:=tmp: + end if: + p:=n/2: + while p>=2 and j>p do + j:=j-p: + p:=p/2: + end do: + j:=j+p: +end do: +for i from 1 to n do + l[i]:=l[i]/n: +end do: +return l; +end proc: + + +
+
+
+<Text-field style="Heading 1" layout="Heading 1">Mesure du temps de calcul</Text-field> +On va ici s'int\303\251resser \303\240 la mesure du temps n\303\251cessaire pour calculer les coefficients de Fourier (Transform\303\251e Directe) pour n "grand", par exemple n=2^5, n=2^10,... . +Pour cela, on va d\303\251finir la liste de nos coefficients par une m\303\251thode "pseudo-al\303\251atoire" : + + + +with(RandomTools[MersenneTwister]): +A:=[seq(GenerateFloat(),i=1..2^8)]: + + +
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode na\303\257ve</Font></Text-field> +On effectue le calcul pour la m\303\251thode na\303\257ve : + + +t:=time(): +TFDSimple(A): +Temps := time()-t; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEmNi40NzJGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiVzayEiJDcjRmhy + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode r\303\251cursive</Font></Text-field> +Calcul pour la m\303\251thode r\303\251cursive : + + +t:=time(): +TFDRecur(A): +Temps := time()-t; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEmMC4wNzZGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiN3ISIkNyNGaHI= + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode it\303\251rative</Font></Text-field> +Mesure pour la m\303\251thode it\303\251rative : + + +t:=time(): +TFDIter(A): +Temps:= time()-t; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEmMC4wNDBGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiNTISIkNyNGaHI= + + +
+
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Multiplication de polyn\303\264mes</Font></Text-field> +
+<Text-field style="Heading 2" layout="Heading 2">Algorithme</Text-field> +On va prendre en entr\303\251e deux listes contenant les coefficients des deux polyn\303\264mes dont on cherche \303\240 calculer le produit. +Il faut prendre des pr\303\251cautions, car la proc\303\251dure ne v\303\251rifie pas si les deux polyn\303\264mes sont de m\303\252me degr\303\251, qui doit \303\252tre une puissance de 2, si l'on souhaite utiliser la m\303\251thode r\303\251cursive ou it\303\251rative. + + +Multiplication:=proc(P,Q) + +local n,N,R,A,B,i,j,k: + +n:=nops(P): +N:=2*n: + +#On cr\303\251e la liste des coefficients \303\251tendus \303\240 2n \303\251l\303\251ments. +A:=[seq(P[k],k=1..n),seq(0,k=n+1..N)]; +B:=[seq(Q[k],k=1..n),seq(0,k=n+1..N)]; + +#On calcule la TFD de chacune de ces listes. +A:=TFDIter(A): +B:=TFDIter(B): + +#On effectue les produits +R:=[seq(A[k]*B[k],k=1..N)]: + +#On r\303\251cup\303\250re les coefficients. +TFDIIter(R); + +end proc: + + +
+
+<Text-field style="Heading 2" layout="Heading 2">Exemple</Text-field> +On va poser LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2OVEiUEYnLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRicvJSVzaXplR1EjMTJGJy8lJWJvbGRHUSZmYWxzZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUqdW5kZXJsaW5lR0Y3LyUqc3Vic2NyaXB0R0Y3LyUsc3VwZXJzY3JpcHRHRjcvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJy8lJ29wYXF1ZUdGNy8lK2V4ZWN1dGFibGVHRjcvJSlyZWFkb25seUdGNy8lKWNvbXBvc2VkR0Y3LyUqY29udmVydGVkR0Y3LyUraW1zZWxlY3RlZEdGNy8lLHBsYWNlaG9sZGVyR0Y3LyUwZm9udF9zdHlsZV9uYW1lR1EoMkR+TWF0aEYnLyUqbWF0aGNvbG9yR0ZDLyUvbWF0aGJhY2tncm91bmRHRkYvJStmb250ZmFtaWx5R0YxLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKW1hdGhzaXplR0Y0LUkjbW9HRiQ2M1EjOj1GJy8lJWZvcm1HUSZpbmZpeEYnLyUmZmVuY2VHRjcvJSpzZXBhcmF0b3JHRjcvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYnLyUncnNwYWNlR0Zqby8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobWF4c2l6ZUdRKWluZmluaXR5RicvJShtaW5zaXplR1EiMUYnLyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJTBmb250X3N0eWxlX25hbWVHRlcvJSVzaXplR0Y0LyUrZm9yZWdyb3VuZEdGQy8lK2JhY2tncm91bmRHRkYtRiM2Jy1GLDY5USFGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUkrbXVuZGVyb3ZlckdGJDYnLUZebzYzUSYmU3VtO0YnL0Zib1EncHJlZml4RidGZG9GZm8vRmlvUSQwZW1GJy9GXHBRLnRoaW5tYXRoc3BhY2VGJy9GXnBGOkZfcEZhcEZkcC9GaHBGOi9GanBGOkZbcUZdcUZfcUZhcUZjcS1GIzYnRmdxLUYsNjlRImlGJ0YvL0YzUSMxMEYnRjVGOEY7Rj1GPy9GQlEsWzIwMCwwLDIwMF1GJ0ZERkdGSUZLRk1GT0ZRL0ZURjpGVS9GWUZhc0ZaRmZuRmhuL0Zcb0Zfcy1GXm82M1EiPUYnRmFvRmRvRmZvRmhvRltwRl1wRl9wRmFwRmRwRmdwRmlwRltxRl1xRl9xRmFxRmNxLUkjbW5HRiQ2OVEiMEYnRi9GMkY1L0Y5RjdGO0Y9Rj9GQUZERkdGSUZLRk1GT0ZRRlNGVUZYRlpGZm4vRmluUSdub3JtYWxGJ0Zbb0ZncS1GaXM2OVEiN0YnRi9GMkY1Rlx0RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRl10RltvRltxLyUsYWNjZW50dW5kZXJHRjdGZ3EtSSVtc3VwR0YkNiUtRiw2OVEjaVhGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUYsNjlGXXNGL0YyRjVGOEY7Rj1GP0ZBRkRGR0ZJRktGTUZPRlFGU0ZVRlhGWkZmbkZobkZbby8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGZ3FGZ3E= et LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2OVEiUUYnLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRicvJSVzaXplR1EjMTJGJy8lJWJvbGRHUSZmYWxzZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUqdW5kZXJsaW5lR0Y3LyUqc3Vic2NyaXB0R0Y3LyUsc3VwZXJzY3JpcHRHRjcvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJy8lJ29wYXF1ZUdGNy8lK2V4ZWN1dGFibGVHRjcvJSlyZWFkb25seUdGNy8lKWNvbXBvc2VkR0Y3LyUqY29udmVydGVkR0Y3LyUraW1zZWxlY3RlZEdGNy8lLHBsYWNlaG9sZGVyR0Y3LyUwZm9udF9zdHlsZV9uYW1lR1EoMkR+TWF0aEYnLyUqbWF0aGNvbG9yR0ZDLyUvbWF0aGJhY2tncm91bmRHRkYvJStmb250ZmFtaWx5R0YxLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKW1hdGhzaXplR0Y0LUkjbW9HRiQ2M1EjOj1GJy8lJWZvcm1HUSZpbmZpeEYnLyUmZmVuY2VHRjcvJSpzZXBhcmF0b3JHRjcvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYnLyUncnNwYWNlR0Zqby8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobWF4c2l6ZUdRKWluZmluaXR5RicvJShtaW5zaXplR1EiMUYnLyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJTBmb250X3N0eWxlX25hbWVHRlcvJSVzaXplR0Y0LyUrZm9yZWdyb3VuZEdGQy8lK2JhY2tncm91bmRHRkYtRiM2KS1GLDY5USFGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUkrbXVuZGVyb3ZlckdGJDYnLUZebzYzUSYmU3VtO0YnL0Zib1EncHJlZml4RidGZG9GZm8vRmlvUSQwZW1GJy9GXHBRLnRoaW5tYXRoc3BhY2VGJy9GXnBGOkZfcEZhcEZkcC9GaHBGOi9GanBGOkZbcUZdcUZfcUZhcUZjcS1GIzYmRmdxLUYsNjlRImlGJ0YvL0YzUSMxMEYnRjVGOEY7Rj1GPy9GQlEsWzIwMCwwLDIwMF1GJ0ZERkdGSUZLRk1GT0ZRL0ZURjpGVS9GWUZhc0ZaRmZuRmhuL0Zcb0Zfcy1GXm82M1EiPUYnRmFvRmRvRmZvRmhvRltwRl1wRl9wRmFwRmRwRmdwRmlwRltxRl1xRl9xRmFxRmNxLUkjbW5HRiQ2OVEiMEYnRi9GMkY1L0Y5RjdGO0Y9Rj9GQUZERkdGSUZLRk1GT0ZRRlNGVUZYRlpGZm4vRmluUSdub3JtYWxGJ0Zbby1GaXM2OVEiN0YnRi9GMkY1Rlx0RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRl10RltvRltxLyUsYWNjZW50dW5kZXJHRjdGZ3EtSSVtc3VwR0YkNiUtRiw2OUZdc0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvRmd0LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJ0ZncS1GZXQ2JS1GLDY5USJYRidGL0YyRjVGOEY7Rj1GP0ZBRkRGR0ZJRktGTUZPRlFGU0ZVRlhGWkZmbkZobkZbb0ZndEZpdEZncUZncQ== doncLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbW9HRiQ2M1ExJkludmlzaWJsZVRpbWVzO0YnLyUlZm9ybUdRJmluZml4RicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjQvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYnLyUncnNwYWNlR0Y5LyUpc3RyZXRjaHlHRjQvJSpzeW1tZXRyaWNHRjQvJShtYXhzaXplR1EpaW5maW5pdHlGJy8lKG1pbnNpemVHUSIxRicvJShsYXJnZW9wR0Y0LyUubW92YWJsZWxpbWl0c0dGNC8lJ2FjY2VudEdGNC8lMGZvbnRfc3R5bGVfbmFtZUdRKDJEfk1hdGhGJy8lJXNpemVHUSMxMkYnLyUrZm9yZWdyb3VuZEdRKFswLDAsMF1GJy8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRictSSNtaUdGJDY5USJuRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHRlEvJSVib2xkR0Y0LyUnaXRhbGljR1EldHJ1ZUYnLyUqdW5kZXJsaW5lR0Y0LyUqc3Vic2NyaXB0R0Y0LyUsc3VwZXJzY3JpcHRHRjQvJStmb3JlZ3JvdW5kR0ZULyUrYmFja2dyb3VuZEdGVy8lJ29wYXF1ZUdGNC8lK2V4ZWN1dGFibGVHRjQvJSlyZWFkb25seUdGNC8lKWNvbXBvc2VkR0Y0LyUqY29udmVydGVkR0Y0LyUraW1zZWxlY3RlZEdGNC8lLHBsYWNlaG9sZGVyR0Y0LyUwZm9udF9zdHlsZV9uYW1lR0ZOLyUqbWF0aGNvbG9yR0ZULyUvbWF0aGJhY2tncm91bmRHRlcvJStmb250ZmFtaWx5R0Zobi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRicvJSltYXRoc2l6ZUdGUS1GLDYzUSI9RidGL0YyRjVGN0Y6RjxGPkZARkNGRkZIRkpGTEZPRlJGVS1JI21uR0YkNjlRIjhGJ0ZmbkZpbkZbby9GXm9GNEZgb0Zib0Zkb0Zmb0Zob0Zqb0ZccEZecEZgcEZicEZkcEZmcEZocEZqcEZccUZecS9GYXFRJ25vcm1hbEYnRmNxRmVxLUklbXN1cEdGJDYlLUZpcTY5USIyRidGZm5GaW5GW29GXHJGYG9GYm9GZG9GZm9GaG9Gam9GXHBGXnBGYHBGYnBGZHBGZnBGaHBGanBGXHFGXnFGXXJGY3EtRmlxNjlRIzMuRidGZm5GaW5GW29GXHJGYG9GYm9GZG9GZm9GaG9Gam9GXHBGXnBGYHBGYnBGZHBGZnBGaHBGanBGXHFGXnFGXXJGY3EvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnLUZZNjlRIUYnRmZuRmluRltvRl1vRmBvRmJvRmRvRmZvRmhvRmpvRlxwRl5wRmBwRmJwRmRwRmZwRmhwRmpwRlxxRl5xRmBxRmNx +
+<Text-field style="Heading 3" layout="Heading 3">Algo</Text-field> +On va demander la liste des coefficients du polyn\303\264me R=P*Q. Pour une lecture plus facile, nous en prendrons les valeurs arrondies. + + +P:=[seq(i,i=0..7)]: + + + + +Q:=[seq(i^i,i=0..7)]: + + + + +R:=evalf(Multiplication(P,Q)): + + + + +[seq(R[j],j=1..2*nops(P))]; + + +NiQtSShtZmVuY2VkRzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNjQtSSVtcm93R0YlNiYtSSNtbkdGJTY5USgwLjAwMDkxRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHRjsvJSp1bmRlcmxpbmVHRjsvJSpzdWJzY3JpcHRHRjsvJSxzdXBlcnNjcmlwdEdGOy8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjsvJStleGVjdXRhYmxlR0Y7LyUpcmVhZG9ubHlHRjsvJSljb21wb3NlZEdGOy8lKmNvbnZlcnRlZEdGOy8lK2ltc2VsZWN0ZWRHRjsvJSxwbGFjZWhvbGRlckdGOy8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZGLyUvbWF0aGJhY2tncm91bmRHRkkvJStmb250ZmFtaWx5R0Y1LyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGKC8lKW1hdGhzaXplR0Y4LUkjbW9HRiU2M1EnJnBsdXM7RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y7LyUqc2VwYXJhdG9yR0Y7LyUnbHNwYWNlR1EwbWVkaXVtbWF0aHNwYWNlRigvJSdyc3BhY2VHRl1wLyUpc3RyZXRjaHlHRjsvJSpzeW1tZXRyaWNHRjsvJShtYXhzaXplR1EpaW5maW5pdHlGKC8lKG1pbnNpemVHUSIxRigvJShsYXJnZW9wR0Y7LyUubW92YWJsZWxpbWl0c0dGOy8lJ2FjY2VudEdGOy8lMGZvbnRfc3R5bGVfbmFtZUdGWi8lJXNpemVHRjgvJStmb3JlZ3JvdW5kR0ZGLyUrYmFja2dyb3VuZEdGSS1GLTYmLUYwNjlRJjAuMDAyRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vLUZhbzYzUTEmSW52aXNpYmxlVGltZXM7RihGZG9GZ29GaW8vRlxwUSQwZW1GKC9GX3BGYXJGYHBGYnBGZHBGZ3BGanBGXHFGXnFGYHFGYnFGZHFGZnEtRjA2OVEtJkltYWdpbmFyeUk7RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vL0krbXNlbWFudGljc0dGJVEiKkYoL0ZnclEiK0YoLUYtNiYtRjA2OVEnMS4wMDI0RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRmBvLUYtNiYtRjA2OVEnMC4wMDIwRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRjA2OVEnMy4wMDQ1RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRmBvLUYtNiYtRjA2OVEmMC4wMDVGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGY3JGZnJGaXItRi02Ji1GMDY5USc5LjAwMDhGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GYG8tRi02Ji1GMDY5USgwLjAwMjIxRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRjA2OVEnNDEuOTk5RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRmBvLUYtNiYtRjA2OVEvMC4wMDMwMzEyNTAwMDBGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGY3JGZnJGaXItRi02Ji1GMDY5USgzMzAuOTk5RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRmBvLUYtNiYtRjA2OVEvMC4wMDI5NzUwMDAwMDBGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGY3JGZnJGaXItRi02Ji1GMDY5USkzNzQ1LjAwMEYoRjNGNkY5RjxGPkZARkJGREZHRkpGTEZORlBGUkZURlZGWEZlbkZnbkZpbkZbb0Zeb0Zgby1GLTYmLUYwNjlRLzAuMDAzNzUwMDAwMDAwRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRjA2OVEsNTM4MTUuMDAwMzVGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm8tRmFvNjNRKCZtaW51cztGKEZkb0Znb0Zpb0ZbcEZecEZgcEZicEZkcEZncEZqcEZccUZecUZgcUZicUZkcUZmcS1GLTYmLUYwNjlRLzAuMDAxMzQ4NjA1Mzk3RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRjA2OVEsOTI3NDIwLjAwMTNGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXHdGaHFGaXItRi02Ji1GLTYmLUYwNjlRLDEuODAxMDI0MDAwRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yLUklbXN1cEdGJTYmLUYwNjlRIzEwRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vLUYwNjlRIjZGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm8vJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYoL0ZnclEiXkYoRmZyRlx3LUYtNiYtRjA2OVEnMC4wMDMwRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRi02Ji1GMDY5USwyLjY3NDYwMzAwMEYoRjNGNkY5RjxGPkZARkJGREZHRkpGTEZORlBGUkZURlZGWEZlbkZnbkZpbkZbb0Zeb0ZdckZgeEZmckZcd0Zqc0Zpci1GLTYmLUYtNiYtRjA2OVEsMy41NDc5OTM5OTdGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGYHhGZnJGXHctRi02Ji1GMDY5USgwLjAwMTY1RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRi02Ji1GMDY5USw0LjQxOTUyNTk5N0YoRjNGNkY5RjxGPkZARkJGREZHRkpGTEZORlBGUkZURlZGWEZlbkZnbkZpbkZbb0Zeb0ZdckZgeEZmckZcd0ZedUZpci1GLTYmLUYtNiYtRjA2OVEsNS4yNjc4NDk5OTlGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGYHhGZnJGXHctRi02Ji1GMDY5US8wLjAwMTc3NTAwMDAwMEYoRjNGNkY5RjxGPkZARkJGREZHRkpGTEZORlBGUkZURlZGWEZlbkZnbkZpbkZbb0Zeb0ZdckZjckZmckZpci1GLTYmLUYtNiYtRjA2OVEsNS43NjQ4MDA5OTZGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGYHhGZnJGXHdGYnZGaXItRi02Ji1GMDY5USgwLjAwMjA1RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRlx3LUYtNiYtRjA2OVEwMC4wMDAwOTg2MDUzOTcyRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLyUlb3BlbkdRJyZsc3FiO0YoLyUmY2xvc2VHUScmcnNxYjtGKDcjNzIsJiQiIyIqISImIiIiKiYkIiIjISIkRmZdbF4jRmZdbEZmXWxGZl1sLCYkIiZDKyIhIiVGZl1sKiYkIiM/Rl9ebEZmXWxGW15sRmZdbEZmXWwsJiQiJlgrJEZfXmxGZl1sKiYkIiImRmpdbEZmXWxGW15sRmZdbEZmXWwsJiQiJjMrKkZfXmxGZl1sKiYkIiRAI0ZlXWxGZl1sRltebEZmXWxGZl1sLCYkIiYqKj4lRmpdbEZmXWwqJiQiKysrREpJISM3RmZdbEZbXmxGZl1sRmZdbCwmJCInKio0TEZqXWxGZl1sKiYkIisrKyt2SEZlX2xGZl1sRltebEZmXWxGZl1sLCYkIigrXXUkRmpdbEZmXWwqJiQiKysrK11QRmVfbEZmXWxGW15sRmZdbEZmXWwsJiQiK04rXSJRJkZlXWxGZl1sKiYkIisoUjAnWzhGZV9sRmZdbEZbXmxGZl1sISIiLCYkIis4Kz91IypGX15sRmZdbEZnXWxGaGBsLCYkIisrUy0sPUZqXWxGZl1sKiYkIiNJRl9ebEZmXWxGW15sRmZdbEZoYGwsJiQiKytJZ3VFRmpdbEZmXWxGZl5sRmhgbCwmJCIrKCpSKnphJEZqXWxGZl1sKiYkIiRsIkZlXWxGZl1sRltebEZmXWxGaGBsLCYkIisoKmZfPldGal1sRmZdbEZiX2xGaGBsLCYkIisqKipceUUmRmpdbEZmXWwqJiQiKysrK3Y8RmVfbEZmXWxGW15sRmZdbEZoYGwsJiQiKycqNCFbdyZGal1sRmZdbEZfYGxGaGBsLCYkIiQwI0ZlXWxGZl1sKiYkIipzUjAnKSohIzhGZl1sRltebEZmXWxGaGBs + + + + +R:=[seq(round(R[j]),j=1..2*nops(P))]; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJSRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctSShtZmVuY2VkR0YlNjQtSSNtbkdGJTY5USIwRihGMEYzRjYvRjpGOEY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ24vRmpuUSdub3JtYWxGKEZcby1GanE2OUZncEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjNGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjlGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIzQyRihGMEYzRjZGXXJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl5yRlxvLUZqcTY5USQzMzFGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRJTM3NDVGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRJjUzODE1RihGMEYzRjZGXXJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl5yRlxvLUZqcTY5USc5Mjc0MjBGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDE4MDEwMjRGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDI2NzQ2MDNGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDM1NDc5OTRGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDQ0MTk1MjZGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDUyNjc4NTBGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDU3NjQ4MDFGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG9GaXEvJSVvcGVuR1EnJmxzcWI7RigvJSZjbG9zZUdRJyZyc3FiO0YoL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkiUkdGKDcyIiIhIiIiIiIkIiIqIiNVIiRKJCIlWFAiJjpRJiInP3UjKiIoQzUhPSIoLlluIyIoJSp6YSQiKEUmPlciKF15RSYiKCxbdyZGW3Y3I0ZqdQ== + + +
+
+<Text-field style="Heading 3" layout="Heading 3">Maple</Text-field> +On va evaluer le polyn\303\264me P*Q : + + +P:=sum(i*X^i,i=0..7): + + + + +Q:=sum(i^i*X^i,i=0..7): + + + + +sort(expand(P*Q),X,ascending); + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNj4tSSNtaUdGJTY5USJYRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EnJnBsdXM7RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EwbWVkaXVtbWF0aHNwYWNlRigvJSdyc3BhY2VHRltwLyUpc3RyZXRjaHlHRjgvJSpzeW1tZXRyaWNHRjgvJShtYXhzaXplR1EpaW5maW5pdHlGKC8lKG1pbnNpemVHUSIxRigvJShsYXJnZW9wR0Y4LyUubW92YWJsZWxpbWl0c0dGOC8lJ2FjY2VudEdGOC8lMGZvbnRfc3R5bGVfbmFtZUdGWC8lJXNpemVHRjUvJStmb3JlZ3JvdW5kR0ZELyUrYmFja2dyb3VuZEdGRy1GJDYmLUkjbW5HRiU2OVEiM0YoRjBGM0Y2L0Y6RjhGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduL0ZqblEnbm9ybWFsRihGXG8tRl9vNjNRMSZJbnZpc2libGVUaW1lcztGKEZib0Zlb0Znby9Gam9RJDBlbUYoL0ZdcEZjckZecEZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcS1JJW1zdXBHRiU2JUYsLUZpcTY5USIyRihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGKC9JK21zZW1hbnRpY3NHRiVRIipGKEZeby1GJDYmLUZpcTY5USI5RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRl9yLUZmcjYlRixGaHFGW3NGXnNGXm8tRiQ2Ji1GaXE2OVEjNDJGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GX3ItRmZyNiVGLC1GaXE2OVEiNEYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USQzMzFGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GX3ItRmZyNiVGLC1GaXE2OVEiNUYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USUzNzQ1RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRl9yLUZmcjYlRiwtRmlxNjlRIjZGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GW3NGXnNGXm8tRiQ2Ji1GaXE2OVEmNTM4MTVGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GX3ItRmZyNiVGLC1GaXE2OVEiN0YoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USc5Mjc0MjBGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GX3ItRmZyNiVGLC1GaXE2OVEiOEYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USgxODAxMDI0RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRl9yLUZmcjYlRixGY3NGW3NGXnNGXm8tRiQ2Ji1GaXE2OVEoMjY3NDYwM0YoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zfci1GZnI2JUYsLUZpcTY5USMxMEYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USgzNTQ3OTk0RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRl9yLUZmcjYlRiwtRmlxNjlRIzExRihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRltzRl5zRl5vLUYkNiYtRmlxNjlRKDQ0MTk1MjZGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GX3ItRmZyNiVGLC1GaXE2OVEjMTJGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GW3NGXnNGXm8tRiQ2Ji1GaXE2OVEoNTI2Nzg1MEYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zfci1GZnI2JUYsLUZpcTY5USMxM0YoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USg1NzY0ODAxRihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRl9yLUZmcjYlRiwtRmlxNjlRIzE0RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRltzRl5zL0Zfc1EiK0YoNyMsPkkiWEdGKCIiIiomIiIkRmh6KUZneiIiI0ZoekZoeiomIiIqRmh6KUZnekZqekZoekZoeiomIiNVRmh6KUZneiIiJUZoekZoeiomIiRKJEZoeilGZ3oiIiZGaHpGaHoqJiIlWFBGaHopRmd6IiInRmh6Rmh6KiYiJjpRJkZoeilGZ3oiIihGaHpGaHoqJiInP3UjKkZoeilGZ3oiIilGaHpGaHoqJiIoQzUhPUZoeilGZ3pGXltsRmh6Rmh6KiYiKC5ZbiNGaHopRmd6IiM1Rmh6Rmh6KiYiKCUqemEkRmh6KUZneiIjNkZoekZoeiomIihFJj5XRmh6KUZneiIjN0ZoekZoeiomIihdeUUmRmh6KUZneiIjOEZoekZoeiomIigsW3cmRmh6KUZneiIjOUZoekZoeg== + + + + + + + +
+
+
+
\ No newline at end of file diff --git a/TIPE_2007/Octave/Multiplication.m b/TIPE_2007/Octave/Multiplication.m new file mode 100644 index 0000000..eb53abc --- /dev/null +++ b/TIPE_2007/Octave/Multiplication.m @@ -0,0 +1,22 @@ +function[R]=Multiplication(P,Q) + +n=length(P); +N=2*n; +A=zeros(1,N); +B=zeros(1,N); +R=zeros(1,N); + +for i=1:n + A(i)=P(i); + B(i)=Q(i); +end + +%On calcule les transformées de chaque élément. +A=TFDB(A); +B=TFDB(B); +%On effectue les produits +for i=1:N + R(i)=A(i)*B(i); +end +R=TFDIB(R); +endfunction diff --git a/TIPE_2007/Octave/TFD - Octave.tar.bz2 b/TIPE_2007/Octave/TFD - Octave.tar.bz2 new file mode 100644 index 0000000..6ac824f Binary files /dev/null and b/TIPE_2007/Octave/TFD - Octave.tar.bz2 differ diff --git a/TIPE_2007/Octave/TFD - Octave.zip b/TIPE_2007/Octave/TFD - Octave.zip new file mode 100644 index 0000000..e540144 Binary files /dev/null and b/TIPE_2007/Octave/TFD - Octave.zip differ diff --git a/TIPE_2007/Octave/TFDI - Octave.tar.bz2 b/TIPE_2007/Octave/TFDI - Octave.tar.bz2 new file mode 100644 index 0000000..696a8a1 Binary files /dev/null and b/TIPE_2007/Octave/TFDI - Octave.tar.bz2 differ diff --git a/TIPE_2007/Octave/TFDI - Octave.zip b/TIPE_2007/Octave/TFDI - Octave.zip new file mode 100644 index 0000000..537115d Binary files /dev/null and b/TIPE_2007/Octave/TFDI - Octave.zip differ diff --git a/TIPE_2007/index.html b/TIPE_2007/index.html new file mode 100644 index 0000000..48eeee2 --- /dev/null +++ b/TIPE_2007/index.html @@ -0,0 +1,110 @@ + + + + +Algorithmes de calculs de TFD : Sources et programmes + + + + + + + + + + + + + + + + +
+
+
+

TIPE 2007

+

+

Voici mes réalisations effectuées pour le TIPE que j'ai réalisé lors de ma + seconde année de classes préparatoires. Le thème était Le Temps, j'ai pris + comme sujet La Transformée de Fourrier. +

+

Programme Maple :

+

+ Télécharger le fichier : TFD.mw +
+ (Faire "clique-droit/Enregistrer sous" car sinon, cela l'ouvre dans le + navigateur) +

+ +

Sources Octave :

+
    +
  • Télécharger une archive contenant tous les fichiers concernant + la Transformée Directe : + +
  • +
  • Télécharger une archive contenant tous les fichiers concernant + la Transformée Inverse : + +
  • +
  • Source de l'algorithme de Multiplication de polynômes + (Nécessite la présence des deux archives précédentes, extraites dans le + même dossier) : Multiplication.m +
+ +

Sources C++ :

+

Le programme ne peut s'éxecuter que sur un système GNU/Linux. +
+ Archive contenant les sources : Format zip - Format tar.bz2 +

+ +

Le dossier :

+ +
+
+ + +
+ + diff --git a/TIPE_2007/index.html.plain b/TIPE_2007/index.html.plain new file mode 100644 index 0000000..56da487 --- /dev/null +++ b/TIPE_2007/index.html.plain @@ -0,0 +1,73 @@ + + + + +Algorithmes de calculs de TFD : Sources et programmes + + + + + + + + + + + + + + +

Algorithmes de calculs de Transformée de Fourier

+

Programme Maple :

+

+Télécharger le fichier : TFD.mw +
(Faire "clique-droit/Enregistrer sous" car sinon, cela l'ouvre dans le navigateur) +

+

Sources Octave :

+
    +
  • Télécharger une archive contenant tous les fichiers concernant la Transformée Directe : +Format zip + - Format tar.bz2
  • +
  • Télécharger une archive contenant tous les fichiers concernant la Transformée Inverse : + Format zip + - Format tar.bz2
  • +
  • Source de l'algorithme de Multiplication de polynômes (Nécessite la présence des deux archives précédentes, extraites dans le même dossier) : + Multiplication.m
  • +
+ +

Sources C++ : (Sous licence GNU/GPL)

+

Le programme ne peut s'éxecuter que sur un système GNU/Linux.

+ + +

Le dossier : (Sous licence Creative Commons)

+ + + + + + -- cgit v1.2.3-70-g09d2