From 2db144d6141d827fa394d04e7e4ef6771c7089ee Mon Sep 17 00:00:00 2001 From: couchot Date: Thu, 21 Nov 2013 09:22:21 +0100 Subject: [PATCH 1/1] j --- complexite.tex | 6 +- equations.tex | 168 ++++++++++++++++++++------------------- interpol.tex | 6 +- partiels/13mesi/main.log | 32 ++++---- partiels/13mesi/main.pdf | Bin 113686 -> 113815 bytes partiels/13mesi/main.tex | 20 +++-- partiels/main.tex | 117 --------------------------- tps/chap2/diff_div.py | 18 +++-- tps/chap3/jjm.py~ | 23 ------ tps/chap3/methodes.py | 86 ++++++++------------ tps/chap3/methodes.pyc | Bin 3502 -> 4964 bytes tps/chap3/methodes.py~ | 128 ----------------------------- tps/chap3/ordre.py | 13 +-- 13 files changed, 171 insertions(+), 446 deletions(-) delete mode 100644 partiels/main.tex delete mode 100644 tps/chap3/jjm.py~ delete mode 100644 tps/chap3/methodes.py~ diff --git a/complexite.tex b/complexite.tex index 4fdf00d..6d66125 100644 --- a/complexite.tex +++ b/complexite.tex @@ -36,7 +36,7 @@ $5n^3\leq 10.\dfrac{n^3}{2}$. constante $c$ telle que $\dfrac{n^3}{2} \leq c.(n^2 +17n + 5)$ soit encore $\dfrac{n^3}{2(n^2 +17n + 5)} \leq c$ et donc -$\dfrac{n^3}{2} \leq c$ ce qui est impossible. +$\dfrac{n}{2} \leq c$ ce qui est impossible. \end{itemize} @@ -200,7 +200,7 @@ On considère tout d'abord l'algorithme suivant: \KwData{$n$: degré, $(a_i)_{0 \le i \le n}$: coefficients, $t$: réel en lequel on évalue} \KwResult{$\textit{val}$: réel tel que $\textit{val}= p(t)$} - $a' = a$ \; \nllabel{laff1} + $a' = a_n$ \; \nllabel{laff1} \For{$i=n-1$ \KwTo $0$}{\nllabel{laford} $a' = a_i + t \times a'$ \; \nllabel{lafori} \nllabel{laforf}} @@ -280,7 +280,7 @@ n & T_1(n) & T_2(n) \\ \begin{enumerate} \item En déduire quel sera le temps nécessaire au traitement de données de taille $n'=10^4$. -\item Même question avec $n'=200\lambda$ où $\lambda$ réel de $[1, +\infty[$. +\item Même question avec $n'=200\lambda$ où $\lambda$ réel de $[0, +\infty[$. \item Déterminer la taille maximale des données que peuvent traiter $A_1$ et $A_2$ si le temps disponible est $t=10^5$. \end{enumerate} diff --git a/equations.tex b/equations.tex index 8fec68d..bd10efc 100644 --- a/equations.tex +++ b/equations.tex @@ -1,6 +1,5 @@ \section{Motivation} -Bien qu’il puisse être posé simplement (trouver tous les $x$ tel que $P(x) =0$), -résoudre algébriquement des équations +Résoudre algébriquement des équations est un problème difficile. Depuis l'antiquité, l’homme a cherché des algorithmes donnant les valeurs des racines d'un polynôme @@ -12,18 +11,17 @@ la forme $ x^3 + px+q = 0 $ avec $p$ et $q$ non nuls. Calculons le discriminant -$\Delta = \frac{4}{27}p^3+ p^2$ et discutons de son signe: +$\Delta = \frac{4}{27}p^3+ q^2$ et discutons de son signe: \begin{itemize} \item si $\Delta$ est nul, l'équation possède deux solutions réelles, une simple et une double : - -$$ +$ \begin{cases} x_0=2\sqrt[3]{\frac{-q}2}=\frac{3q}p \\ x_1=x_2=-\sqrt[3]{\frac{-q}2}=\frac{-3q}{2p} \end{cases} -$$ +$ \item Si $\Delta$ est positif, l'équation possède une solution réelle @@ -31,21 +29,21 @@ $$ $u = \sqrt[3]{\frac{-q + \sqrt{\Delta}}2}$ et $v = \sqrt[3]{\frac{-q - \sqrt{\Delta}}2}$. La seule solution réelle est alors $x_0=u+v$. Il existe également deux solutions complexes conjuguées l'une de l'autre: -$$ +$ \begin{cases} x_1= j u +\bar{j} v \\ x_2= j^2u +\overline{j^2}\end{cases} -\qquad\textrm{ où }\qquad j=-\frac12+ i \frac{\sqrt3}2=e^{i\frac{2\pi}3} -$$ - -\item si $\Delta$ est négatif, l'équation possède trois solutions réelles: -$$ -x_k = 2 \sqrt{\frac{-p}{3}} \cos{\left(\frac13\arccos{\left(\frac{-q}{2}\sqrt{\frac{27}{-p^3}}\right)}+ \frac{2k\pi}{3}\right)}\qquad\mbox{ avec }\qquad k\in\{0,1,2\}. -$$ +\textrm{ où } j=-\frac12+ i \frac{\sqrt3}2=e^{i\frac{2\pi}3} +$ +\item sinon, l'équation a trois solutions réelles: +$ +x_k = 2 \sqrt{\frac{-p}{3}} \cos{\left(\frac13\arccos{\left(\frac{-q}{2}\sqrt{\frac{27}{-p^3}}\right)}+ \frac{2k\pi}{3}\right)}\textrm{ avec } k\in\{0,1,2\}. +$ \end{itemize} -Donnée à titre d'exemple, ce travail montre que rapidement on obtient +%Donnée à titre d'exemple, +Ce travail montre que rapidement on obtient des algorithmes compliqués. De plus, Abel a montrée en 1824 qu'il n'est pas toujours possible d'exprimer les racines de l'équation générale de @@ -83,7 +81,7 @@ le résultat est établi, c.-à-d. $f(a_{n+1})f(b_{n+1})\leq 0$; \item sinon, $f(a_n)f(x_n)> 0$. Ainsi $f(a_{n+1})f(b_{n+1})$ a le même signe que $f(a_{n+1})f(b_{n+1})f(a_n)f(x_n)$ c.-à-d. le signe de $f(x_{n})f(b_{n})f(a_n)f(x_n)$ soit encore le signe de $f(a_n)f(b_n)$. -Ce dernier est positif d'après l'hypothèse de récurence. +Ce dernier est négatif d'après l'hypothèse de récurence. \end{itemize} A chaque itération, l'intervalle $[a_n,b_n]$ est découpé @@ -221,9 +219,9 @@ Dans cet exercice, on suppose en plus que: \begin{enumerate} \item Montrer que l'on a $x_{n+1} \neq x_{n}$. \item Montrer que (\ref{eq:num:class}) est équivalente à -\begin{equation} +$ x_{n+1} = x_{n} - \frac{f(x_n)}{q_n} \label{eq:num:gen} -\end{equation} +$ \item Dans la représentation graphique donnée figure~\ref{fig:graphe1}: \begin{enumerate} \item donner l'équation de la droite tracée; @@ -234,14 +232,14 @@ x_{n+1} = x_{n} - \frac{f(x_n)}{q_n} \label{eq:num:gen} \end{enumerate} \item Dans la méthode de la corde, $q_n$ est constante et égale à -\begin{equation} -q_{n} = \frac{f(b) - f(a)}{b - a} \label{eq:num:corde} -\end{equation} +%\begin{equation} +$q_{n} = \frac{f(b) - f(a)}{b - a} \label{eq:num:corde} +$%\end{equation} \item Dans la méthode de Lagrange on a -\begin{equation} -q_{n} = \frac{f(x_{n}) - f(x_{n-1})}{x_n - x_{n-1}} \label{eq:num:lagrange} -\end{equation} +%\begin{equation} +$q_{n} = \frac{f(x_{n}) - f(x_{n-1})}{x_n - x_{n-1}} \label{eq:num:lagrange} +$%\end{equation} \item Dans la méthode de Newton on a $q_n = f'(x_n)$ \end{enumerate} @@ -282,6 +280,8 @@ solution $\alpha$ de cet intervalle. \begin{Prop}[Vitesse de convergence] +Si la suite des itérés obtenus par dichotomie converge, +alors la convergence est linéaire. Si la suite des itérés de Lagrange converge, alors la convergence est d'ordre $(1+\sqrt{5})/2$. Si la suite des itérés de Newton converge, @@ -310,6 +310,67 @@ fixe $g_i(x) =x$ avec \end{itemize} + +\begin{TP}[Comparaison d'approches] + +\begin{enumerate} +\item Écrire la fonction +\verb+[n,X] = iteration_dichotomie(a,b,m,epsilon,f)+ où +\begin{itemize} +\item \verb+a+, \verb+b+ sont les bornes de l'intervalle, \verb+m+ + est le nombre maximal + d'itérations, \texttt{epsilon} est la précision souhaitée + (voir équation (\ref{eq:erreur:epsilon})) et \verb+f+ la fonction à itérer; +\item \verb+n+ est le nombre d'itérations réalisées pour que +\verb+f(+$\verb+x+_{\verb+n+}$\verb+)+=0 ou que +$|\verb+x+_{\verb+n+}- \verb+x+_{\verb+n-1+}| \leq \verb+epsilon+$, \verb+n+ étant inférieur à \verb+m+ et \verb+X+ est + le vecteur contenant les + valeurs $\verb+x+_{\verb+0+},\ldots,\verb+x+_{\verb+n+}$. +\end{itemize} +\item Écrire la fonction +\verb+[n,X] = iteration_corde(a,b,+$\verb+x+_{\verb+0+}$\verb+,m,epsilon,f)+ où +\begin{itemize} +\item $\verb+x+_{\verb+0+}$ est le premier terme de la suite; +\end{itemize} +\item Écrire la fonction +\verb+[n,X] = iteration_Newton(+$\verb+x+_{\verb+0+}$\verb+,m,epsilon,f)+. +\end{enumerate} +\end{TP} + + +\begin{TP} +L'objectif du TP est de mesurer l'ordre de grandeur de la convergence d'une +méthode. +On suppose que la suite $(x_n)$ converge vers $l$ avec l'ordre $p\geq 1$. +On note $e_n= l -x_n$. On a $|e_{n+1}| \approx c |e_n|^p$ et donc +$\ln(|e_{n+1}|) \approx p \ln(|e_n|) + \ln(c)$. +En posant $y = \ln(|e_{n+1}|)$, $x = \ln(|e_n|)$ et $k = \ln(c)$ on a +$y = px + k$ soit l'équation d'une droite de pente $p$. +Pour estimer $p$, on peut donc tracer l'ensemble de points +$(\ln(|e_{n}|),\ln(|e_{n+1}|))$, contruire la droite de regression linéaire +et prendre son coefficient directeur. + +\begin{enumerate} +\item Construire la méthode +\verb+p=ordre_convergence(X,l)+ telle que +\begin{itemize} +\item \texttt{X} est le vecteur contenant les valeurs des itérés $\verb+x+_{\verb+0+}$, \ldots, $\verb+x+_{\verb+n+}$ et + \verb+l+ est la limite présumée de la suite; +\item cette fonction exploite la fonction +\verb+scipy.stats.linregress(x, y=None)+; +\item \verb+p+ est l'ordre de convergence calculé numériquement. +\end{itemize} + +\item Tester les méthodes du TP précédent + (dichotomie, corde, Lagrange, Newton) pour la fonction + $f$ définie par $f(x)=\cos(x)-x$ sur $[0,\pi/2]$. + Calculer l'ordre à l'aide de la fonction développée à la première question. +\item Comparer avec la fonction \verb+scipy.optimize.newton+. +\end{enumerate} +\end{TP} + + + \subsection{Algorithme du point fixe} L'algorithme du point fixe donné ci dessous (Algorithme~\ref{algo:pf}) est une version constructive de la suite $(x_n)$ définie par $x_0$ et pour tout $n \in \N$, @@ -358,7 +419,7 @@ Pour chacune des équations suivantes, étudier la convergence de la suite des itérés du point fixe pour un $x_0$ choisi dans l'intervalle proposé. \begin{enumerate} \item fonction $g_3$ de Ferrari sur $[2;4]$; -\item fonction $g_2$ de Ferrari sur $[3;\textrm{3,1}]$; +\item fonction $g_2$ de Ferrari sur $[3;\textrm{3,1}]$. \end{enumerate} \end{Exo} @@ -376,62 +437,5 @@ proposition~\ref{th:csconv:pf} sont suffisantes, pas nécessaires. \end{enumerate} \end{Exo} -\begin{TP} -Tout le code suivant est à faire en python. -\begin{enumerate} -\item Écrire la fonction -\verb+[n,X] = iteration_dichotomie(a,b,m,epsilon,f)+ où -\begin{itemize} -\item \verb+a+, \verb+b+ sont les bornes de l'intervalle, \verb+m+ - est le nombre maximal - d'itérations, \texttt{epsilon} est la précision souhaitée - (voir équation (\ref{eq:erreur:epsilon})) et \verb+f+ la fonction à itérer; -\item \verb+n+ est le nombre d'itérations réalisées pour que -\verb+f(+$\verb+x+_{\verb+n+}$\verb+)+=0 ou que -$|\verb+x+_{\verb+n+}- \verb+x+_{\verb+n-1+}| \leq \verb+epsilon+$, \verb+n+ étant inférieur à \verb+m+ et \verb+X+ est - le vecteur contenant les - valeurs $\verb+x+_{\verb+0+},\ldots,\verb+x+_{\verb+n+}$. -\end{itemize} -\item Écrire la fonction -\verb+[n,X] = iteration_corde(a,b,+$\verb+x+_{\verb+0+}$\verb+,m,epsilon,f)+ où -\begin{itemize} -\item $\verb+x+_{\verb+0+}$ est le premier terme de la suite; -\end{itemize} -\item Écrire la fonction -\verb+[n,X] = iteration_Newton(+$\verb+x+_{\verb+0+}$\verb+,m,epsilon,f)+. -\end{enumerate} -\end{TP} - - -\begin{TP} -L'objectif du TP est de mesurer l'ordre de grandeur de la convergence d'une -méthode. -On suppose que la suite $(x_n)$ converge vers $l$ avec l'ordre $p\geq 1$. -On note $e_n= l -x_n$. On a $|e_{n+1}| \approx c |e_n|^p$ et donc -$\ln(|e_{n+1}|) \approx p \ln(|e_n|) + \ln(c)$. -En posant $y = \ln(|e_{n+1}|)$, $x = \ln(|e_n|)$ et $k = \ln(c)$ on a -$y = px + k$ soit l'équation d'une droite de pente $p$. -Pour estimer $p$, on peut donc tracer l'ensemble de points -$(\ln(|e_{n}|),\ln(|e_{n+1}|))$, contruire la droite de regression linéaire -et prendre son coefficient directeur. - -\begin{enumerate} -\item Construire la méthode -\verb+p=ordre_convergence(X,l)+ telle que -\begin{itemize} -\item \texttt{X} est le vecteur contenant les valeurs des itérés $\verb+x+_{\verb+0+}$, \ldots, $\verb+x+_{\verb+n+}$ et - \verb+l+ est la limite présumée de la suite; -\item cette fonction exploite la fonction -\verb+scipy.stats.linregress(x, y=None)+; -\item \verb+p+ est l'ordre de convergence calculé numériquement. -\end{itemize} - -\item Tester les méthodes du TP précédent - (dichotomie, corde, Lagrange, Newton) pour la fonction - $f$ définie par $f(x)=\cos(x)-x$ sur $[0,\pi/2]$. - Calculer l'ordre à l'aide de la fonction développée à la première question. -\item Comparer avec la fonction \verb+scipy.optimize.newton+. -\end{enumerate} -\end{TP} diff --git a/interpol.tex b/interpol.tex index b5eef1f..a3d0cda 100644 --- a/interpol.tex +++ b/interpol.tex @@ -74,11 +74,11 @@ $$p_i(x) = p_{i-1}(x) + d_i \left[ \prod_{j=0}^{i-1} (x - x_j)\right].$$ Ainsi pour obtenir $p$ sur $x_0$, $x_1$, \ldots, $x_n$, il suffit: \begin{itemize} -\item de calculer $d_0$, pour définir $p_0$ qui interpole $p$ sur $x_0$, -\item de calculer $d_1$, pour définir $p_1$ qui interpole $p$ sur $x_0$ +\item de calculer $d_0$, pour définir $p_0$ qui interpole $f$ sur $x_0$, +\item de calculer $d_1$, pour définir $p_1$ qui interpole $f$ sur $x_0$ et $x_1$, \item \ldots -\item de calculer $d_n$, pour définir $p_n$ qui interpole $p$ sur +\item de calculer $d_n$, pour définir $p_n$ qui interpole $f$ sur $x_0$, $x_1$, \ldots, $x_n$. \end{itemize} diff --git a/partiels/13mesi/main.log b/partiels/13mesi/main.log index 5f4531e..401fce1 100644 --- a/partiels/13mesi/main.log +++ b/partiels/13mesi/main.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2013.11.3) 3 NOV 2013 21:53 +This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2013.11.3) 4 NOV 2013 10:10 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -8,8 +8,8 @@ LaTeX2e <2011/06/27> Babel <3.9f> and hyphenation patterns for 4 languages loaded. (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2007/10/19 v1.4h Standard LaTeX document class -(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo -File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option) +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2007/10/19 v1.4h Standard LaTeX file (size option) ) \c@part=\count79 \c@section=\count80 @@ -1100,12 +1100,12 @@ e * \topmargin=-80.81725pt * \headheight=12.0pt * \headsep=25.0pt -* \topskip=10.0pt +* \topskip=11.0pt * \footskip=30.0pt * \marginparwidth=72.26999pt -* \marginparsep=11.0pt +* \marginparsep=10.0pt * \columnsep=10.0pt -* \skip\footins=9.0pt plus 4.0pt minus 2.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt * \hoffset=0.0pt * \voffset=0.0pt * \mag=1000 @@ -1162,24 +1162,24 @@ False_position_method.pdf>] [2] (./main.aux) ) Here is how much of TeX's memory you used: - 10017 strings out of 495002 - 150021 string characters out of 6180262 - 301242 words of memory out of 5000000 - 12956 multiletter control sequences out of 15000+600000 - 13949 words of font info for 48 fonts, out of 8000000 for 9000 + 10013 strings out of 495002 + 150022 string characters out of 6180262 + 301263 words of memory out of 5000000 + 12954 multiletter control sequences out of 15000+600000 + 13798 words of font info for 46 fonts, out of 8000000 for 9000 14 hyphenation exceptions out of 8191 44i,6n,64p,565b,257s stack positions out of 5000i,500n,10000p,200000b,80000s {/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}< /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb> -Output written on main.pdf (2 pages, 113686 bytes). +Output written on main.pdf (2 pages, 113815 bytes). PDF statistics: 58 PDF objects out of 1000 (max. 8388607) 40 compressed objects within 1 object stream diff --git a/partiels/13mesi/main.pdf b/partiels/13mesi/main.pdf index 4268ee44f8fc98b2ffef98d894abfabd6516bf62..0060fb731cd154ffb3afdd2dcb8861f5136e95ce 100644 GIT binary patch delta 35160 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 SZoB~>3Nkh{3MC~)PeuwCJepsilon - - n=0 - test=f(x0)!=0 - X=[x0] - xnm1=x0 - xn=float(x0-f(x0))/q0 - qn=q0 - print(xn,q0) - while n<=m and test: - qn=float((f(xn)-f(xnm1)))/(xn-xnm1) - xnm1=xn - xn=xnm1-f(xnm1)/qn - - X+=[xn] - test=maj_test(xn,xnm1) - n+=1 - return (n,X) - -//////////////////////////////////////////////////////////////////////////// -print(iteration_lagrange(pi/4,1,200,0.0000001,f)) diff --git a/tps/chap3/methodes.py b/tps/chap3/methodes.py index 8ae3b71..9c9424e 100644 --- a/tps/chap3/methodes.py +++ b/tps/chap3/methodes.py @@ -16,79 +16,61 @@ def fp(x): def iteration_dichotomie(a,b,m,epsilon,f): - def maj_test(xn,xnm1): - return f(xn) != 0 and abs(xnm1-xn) > epsilon - xnm1 = a - xn= a + def maj_test(xn,xnm1,n,m): + return f(xn) == 0 or abs(xnm1-xn) <= epsilon or n >= m + xn= float(a) + xnm1 =float(b) X=[] - n = 1 - an= a - bn=b - test = True - while n <= m and test: + n = 0 + an= float(a) + bn=float(b) + test = maj_test(xn,xnm1,n,m) + while not test: xnm1 = xn xn=float(an+bn)/2 - test = maj_test(xn,xnm1) X +=[xn] if f(an)*f(xn)<=0 : bn=xn else : an=xn n +=1 + test = maj_test(xn,xnm1,n,m) return (n,X) def iteration_newton(x0,m,epsilon,f,fp): - def maj_test(xn,xnm1): - return f(xn) != 0 and abs(xnm1-xn) > epsilon - n=0; - test= f(x0) != 0 - xn=x0 - X=[x0] - while n < m and test: + def maj_test(xn,xnm1,epsilon,n,m,f): + return f(xn) == 0 or abs(xnm1-xn) <= epsilon or n >= m + n = 0 + xn = float(x0) + X = [x0] + test = maj_test(xn,xn+2*epsilon,epsilon,n,m,f) + while not test: qn=fp(xn) xnm1=xn xn= xn-f(xn)/qn X += [xn] n=n+1 - test= maj_test(xn,xnm1) - -#f(x) !=0 and nepsilon + test= maj_test(xn,xnm1,epsilon,n,m,f) return (n,X) def iteration_corde(a,b,x0,m,epsilon,f): - def maj_test(xn,xnm1): - return f(xn) != 0 and abs(xnm1-xn) > epsilon - n=0; + def maj_test(xn,xnm1,n,m,f): + return f(xn)== 0 or abs(xnm1-xn) <= epsilon or n >= m + n=0 q=float(f(b)-f(a))/(b-a) - test= f(x0) != 0 - xn=x0 - X=[x0] - while n < m and test: + xnm1 = float(b) + xn=float(x0) + test= maj_test(xn,xnm1,n,m,f) + X=[float(x0)] + while not test: xnm1=xn - xn= xn-f(xn)/q + xn= xn-float(f(xn))/q X += [xn] n=n+1 - test= maj_test(xn,xnm1) - -#f(x) !=0 and nepsilon + test= maj_test(xn,xnm1,n,m,f) return (n,X) -"""def iteration_newton(x0,m,epsilon,f,fp): - n=0; - delta=float(1)/fp(x0) - test= f(x0) != 0 - x=x0 - X=[x0] - while(test): - xm1=x - x= x-delta*f(x) - delta=float(1)/fp(x) - X += [x] - n=n+1 - test= not (f(x)==0 or n>=m or abs(x-xm1)<=epsilon) - return (n,X) -""" def iteration_lagrange(x0,x1,m,epsilon,f): n=0; @@ -138,24 +120,24 @@ def iteration_muller(x0,x1,x2,m,epsilon,f): def main(): print "TP 3.1 ............ dichotomie" - print iteration_dichotomie(0,pi/2,200,0.00000001,f) + print iteration_dichotomie(0,pi/2,45,1E-9,f) - print "TP 3.1 ............ corde" - print iteration_corde(0,pi/2,0,200,0.00000001,f) - + print iteration_corde(0,pi/2,0,200,1E-9,f) print "TP 3.1 ............ newton" - print iteration_newton(0,200,0.00000001,f,fp) + print iteration_newton(0,200,1E-9,f,fp) + +""" print "TP 3.1 ............ lagrange" print iteration_lagrange(0,pi/2,200,0.00000001,f) print "TP 3.1 ............ muller" print iteration_muller(0,pi/4,pi/2,200,0.00000001,f) - +""" if __name__ == '__main__': main() diff --git a/tps/chap3/methodes.pyc b/tps/chap3/methodes.pyc index 29f025b357c103ef7ae073440747650c45c18c7f..92edf69e31dd458a3155546e98878358085851e2 100644 GIT binary patch literal 4964 zcmb_gO>Y}j6ur-mos8`yO={O}DQzX%%AhtO?V>7F6;cvj?|E2Kx37+r(O#}apG)0~oSxpUI)3Q3D{ggB_@}!ZLmm;fKX-sHmQW_cUOi3fF z9Y-3I+Q~^{N;`RJINB*lBd48d@n)ovm+h2v_r;r*eGwC={*`J0w)p?yZ@FsFjo5rp zXUm5sKfn{tpov6!BKwAIWkr|Ao6?xAx5J@?y(&gToA6`w7Ps0hZ?WFqt#7rXMK1_F ze>3n}UJ!Ax8{TYrp}!b)!o~Vlt#f;^4UY3CWd~XFD@rf(L##b=+q%mj=6(uWP<=34V367U;*i^_H5|7j<(eJYBOU6O3Xr|3Y~Cou)hV<^i7Y z2Q-NJONBncZ9%VC09X-!pc0@YzVHgNOA`deGLZln0yk;d2N)gMTPGgF@1-}vg@6qa zIw^hJ3v9(c9R#*Z6^e#X+$xKChyswyyb4wk_8d{L^C{r0mt_RbSvbIlP+P&HaHfzq zz!{=rIK!xkW8v&lW|hq_@-~_byhTWY+fxCr!t8x|@Osd?gsP?od&52)hbrT1@v3Gj zXwPtrw?X&p1d3vdQ4Gq7kxBVOWCq^XQ9Gdc@B+mv_6oq_dw7UWA~I(#n>r7d{_vAW z8UBXm0GAT9Xvr9$03t1ABBIK~NodJSgdZ5H1b~uOEmd232K!n70x(LHF$OcTpCKf< zUe^%cAn7kj$>GmjOggo^4yDS(R5eA|LQ;Wa3S0E_K9q^(*QnWf0nB2$U@4d=UDjL3 zNbxP9VBVTHVD{D9DcE9GA&{_@^3(`inS2$;r-#{(Ao37qlLT+!${4$>Rb18tZi&rt z46BUFy*r9fd+&HWE)iw{o0xxM)Y6tAYU}N8!@G;2@FE&9vmnf?N~0Ast3-N1VSCY1 zD02hPSt;~ybO6}6bg+mdU=UA>*g;@{Q=nw<#!Q7J!;K8D+~+OXI=TIP>%xUNfpGGimXsVU8$#ueD^u zjsD5`i5YSj>1J)STMIV5#}sWDilLqdGdUXQBHqYQcP&FP? zJe_co5?clFveV^wK0nwFjgC|>$&eOH<^D8zFVSE(mW$Aof0HV!U)OO9MGjO}MparF zcHNljN`GctbrE(^^;Vxauza*ut~*@X)gC?r8mR>Mb<9USU4-iO8<r4`cv0`jzqyFW%!r*@HM-uJgL_NwUXvyc{av)6%}C=EJjL0Y7oHXtx(u z?{AVZ#tPTd%M)M0%tLvC4vbXgy!lEa`n4h4=|tqZuRd zX7Cl{ma>aGM_D8U6;rpRdn2%{6LjL$oum`?8@zhr7H^~ ze^-WIPi>`S~}|Y<~C4^*{3qbN9pZui2`Z*#8N$%Ff40k4sG62AAN_Say8-WsP#( zG8?9tVH!CV94kIrH9vR;*}CS%@7Wy~c!(G=d-);PbmR@EOsh__ZP>NML?(_hCg zC+tPEJnj-too0ly6$y4*_-Tb_6(bQlx2#v3R$r}a>g2l|rch)uuN&Ei7C14f(>2gGmT$PI}D2PAGe0cURf0QkO|eb{+OC^5|L)YSA;bywH-b#)j2ny>x( zb8n+1qpN`D4czu~2p@kVk;o@TwhH6dqHL8^FGy6Ddwx;A6xphXUs7d8{IV)l@hhr0 z;?Jm36Thm;toV*9a}vypUz7cUbU%||P7Xy(tix_LW)VX8H?H-DftpcVX;JcKq_=R} z7a%f`fykkuT;5dkky8<0TZx_a&~KncRM^*`HTRNE&}=2W)?Sh|gV+Y)ZX9%iIBULl zd-L69mfB`(&r7d1J3+RW_<>zXA80IX2kw?}h=LI(&`=U!4SRq+2ks8X7tHp5{ZL za-Y#uq+O8B#td?_Zk2mcz3ug~x_50SM5EZV5aFn?-S95A8#|Y;y|o%L%ZjRf<%mUG zPoti#r$H8G^@Cnek2_w!QGo?!Bl3c@IJ3uNlQ|mA@&b67vzqJ$w~Inn!q=fBmuu2b$-3_QX5h$hRv-tt zm!lkArfrSQ%42A#t6VUM3InMTyDmt2*Nj3fQ|AJK>ukR4O0sWc4x=CZ25!T*_P=r4 zC8jQk=vFDnRJR79eD-#1gMhm#=Gn}}(_eMD5M0(wC9Zp#pGXToh%yhU$7^6SrLX%U z-^lNNXYE8PCdZv}xs`PNfc@Gl5Ko|Sv0^TnGp1r3{3=T5nt8*t7%vOQgwDU<1*H|` z4z(4yff$p*v_MRYBl5tAbO9AaNh3-ZNBUopAKf3dRDlh7m4jDa(v|`7v7WVAdj=Us z#SmJVgKO0tyK+E~=m({h?gG$JA~-@VClP2y63xiLjl4iQIfGf2GHo9Hr@>g3}*1=z9m2-t_CQiSb2efS8lC~qTR*PjX4e95joiZ2uY-$Ki+WeRQN?doRu0a_>E z9$%N2#^Az4FV>}7xa}bXQl*C&tPL<9N16qkIZ$mezr!*<>9K@+#PmB3!4nf6T5zyM z7ic>20c9(9ukst}_tbsjtKADu8!V6O_9EoHjr!G epsilon - xnm1 = a - xn= a - X=[] - n = 1 - an= a - bn=b - test = True - while n <= m and test: - xnm1 = xn - xn=float(an+bn)/2 - test = maj_test(xn,xnm1) - X +=[xn] - if f(an)*f(xn)<=0 : - bn=xn - else : - an=xn - n +=1 - return (n,X) - -def iteration_newton(x0,m,epsilon,f,fp): - def maj_test(xn,xnm1): - return f(xn) != 0 and abs(xnm1-xn) > epsilon - n=0; - test= f(x0) != 0 - xn=x0 - X=[x0] - while n < m and test: - qn=fp(xn) - xnm1=xn - xn= xn-f(xn)/qn - X += [xn] - n=n+1 - test= maj_test(xn,xnm1) - -#f(x) !=0 and nepsilon - return (n,X) - - -def iteration_corde(a,b,x0,m,epsilon,f): - def maj_test(xn,xnm1): - return f(xn) != 0 and abs(xnm1-xn) > epsilon - n=0; - q=float(f(b)-f(a))/(b-a) - test= f(x0) != 0 - xn=x0 - X=[x0] - while n < m and test: - xnm1=xn - xn= xn-f(xn)/q - X += [xn] - n=n+1 - test= maj_test(xn,xnm1) - -#f(x) !=0 and nepsilon - return (n,X) - -"""def iteration_newton(x0,m,epsilon,f,fp): - n=0; - delta=float(1)/fp(x0) - test= f(x0) != 0 - x=x0 - X=[x0] - while(test): - xm1=x - x= x-delta*f(x) - delta=float(1)/fp(x) - X += [x] - n=n+1 - test= not (f(x)==0 or n>=m or abs(x-xm1)<=epsilon) - return (n,X) -""" - -def iteration_lagrange(x0,x1,m,epsilon,f): - n=0; - delta=float(x1-x0)/(f(x1)-f(x0)) - test= f(x0) != 0 - x=x1 - X=[x1] - while(test): - xm1=x - x= x-delta*f(x) - delta=float(x-xm1)/(f(x)-f(xm1)) - X += [x] - n=n+1 - test= not (f(x)==0 or n>=m or abs(x-xm1)<=epsilon) - return (n,X) - - -def main(): - print "TP 3.1 ............ dichotomie" - print iteration_dichotomie(0,pi/2,200,0.00000001,f) - - - print "TP 3.1 ............ corde" - print iteration_corde(0,pi/2,0,200,0.00000001,f) - - - print "TP 3.1 ............ newton" - print iteration_newton(0,200,0.00000001,f,fp) - - - print "TP 3.1 ............ lagrange" - print iteration_lagrange(0,pi/2,200,0.00000001,f) - - -if __name__ == '__main__': - main() - diff --git a/tps/chap3/ordre.py b/tps/chap3/ordre.py index 95517ff..00283a8 100644 --- a/tps/chap3/ordre.py +++ b/tps/chap3/ordre.py @@ -22,16 +22,17 @@ def ordre_convergence(X,l=None) : def main(): - print "TP 3.2 ............ ordre convergence corde" - print ordre_convergence(iteration_corde(0,pi/2,0,200,0.00000001,f)[1]) + print "TP 4.2 ............ ordre convergence corde" + print ordre_convergence(iteration_corde(0,pi/2,0,200,1E-9,f)[1]) - print "TP 3.2 ............ ordre convergence newton" - print ordre_convergence(iteration_newton(0,200,0.00000001,f,fp)[1]) + print "TP 4.2 ............ ordre convergence lagrange" + print ordre_convergence(iteration_lagrange(0,pi/2,200,1E-9,f)[1]) - print "TP 3.1 ............ ordre convergence lagrange" - print ordre_convergence(iteration_lagrange(0,pi/2,200,0.00000001,f)[1]) + print "TP 4.2 ............ ordre convergence newton" + print ordre_convergence(iteration_newton(0,200,1E-9,f,fp)[1]) + if __name__ == '__main__': -- 2.39.5