Devoir 1

En utilisant SymPy ou Mathematica mais un seul des deux, répondre aux questions suivantes.

Écrire vos réponses dans le fichier Devoir-1-<MATRICULE>-<NOM>.ipynb ou Devoir-1-<MATRICULE>-<NOM>.nb selon que vous utilisiez SymPy ou Mathematica téléchargeable sur la page web du cours. Inclure la démarche, les réponses aux questions et les justifications. Envoyer votre fichier avant le jeudi 24 mars à 23h59 par courriel à l'adresse [email protected] en remplaçant <MATRICULE> par votre numéro de matricule et <NOM> par votre nom.

Pour écrire du texte entre les cellules et justifier une réponse, utiliser Format > Style > Text en Mathematica, et Cell > Cell Type > Markdown en SymPy et Jupyter.

Le plagiat sera détecté et entraînera une note de zéro pour les personnes impliquées.

Question 1

Le Théorème de Gauss--Wantzel dit qu'un polygone régulier à $n$ côtés est constructible avec la règle et le compas si et seulement si $n$ est le produit d'une puissance de $2$ et de nombres premiers de Fermat distincts dont les seuls connus sont 3, 5, 17, 257 et 65537.

Est-ce qu'un polygone régulier à 6 côtés est constructible?

In [3]:
from sympy import factorint
factorint(6)
Out[3]:
{2: 1, 3: 1}

Réponse: OUI

Est-ce qu'un polygone régulier à 24480 côtés est constructible?

In [4]:
factorint(24480)
Out[4]:
{2: 5, 3: 2, 5: 1, 17: 1}

Réponse: NON

Est-ce qu'un polygone régulier à 88305875025920 côtés est constructible?

In [5]:
factorint(88305875025920)
Out[5]:
{2: 20, 5: 1, 257: 1, 65537: 1}

Réponse: OUI

Question 2

Résoudre l'équation $x^3-3x^2-5=0$ et donner une valeur numérique approchée des solutions.

In [4]:
from sympy import init_printing
init_printing(use_latex='mathjax')
In [5]:
from sympy import solve,N
from sympy.abc import x
racines = solve(x**3-3*x**2-5)
racines
Out[5]:
$$\left [ 1 + \left(- \frac{1}{2} - \frac{\sqrt{3} i}{2}\right) \sqrt[3]{\frac{3 \sqrt{5}}{2} + \frac{7}{2}} + \frac{1}{\left(- \frac{1}{2} - \frac{\sqrt{3} i}{2}\right) \sqrt[3]{\frac{3 \sqrt{5}}{2} + \frac{7}{2}}}, \quad 1 + \frac{1}{\left(- \frac{1}{2} + \frac{\sqrt{3} i}{2}\right) \sqrt[3]{\frac{3 \sqrt{5}}{2} + \frac{7}{2}}} + \left(- \frac{1}{2} + \frac{\sqrt{3} i}{2}\right) \sqrt[3]{\frac{3 \sqrt{5}}{2} + \frac{7}{2}}, \quad \frac{1}{\sqrt[3]{\frac{3 \sqrt{5}}{2} + \frac{7}{2}}} + 1 + \sqrt[3]{\frac{3 \sqrt{5}}{2} + \frac{7}{2}}\right ]$$
In [9]:
for racine in racines:
    print racine.n()
-0.212994378680811 - 1.18914510810655*I
-0.212994378680811 + 1.18914510810655*I
3.42598875736162

Question 3

Tracer la surface de Dini dont les équations paramétriques sont: \begin{align*} x&=a\cos\left(u\right)\sin\left(v\right)\\ y&=a\sin\left(u\right)\sin\left(v\right)\\ z&=a\left(\cos\left(v\right)+\ln\left(\tan\left(\frac{v}{2}\right)\right)\right)+bu \end{align*} pour $a=1$, $b=1$ sur les intervalles $0\leq u \leq 5\pi$ et $0.01 \leq v\leq 1$.

In [7]:
%matplotlib inline
from sympy.plotting import plot3d_parametric_surface
from sympy import cos,sin,tan,log,pi
from sympy.abc import u,v
plot3d_parametric_surface(cos(u)*sin(v), sin(u)*sin(v),cos(v)+log(tan(v/2))+u, (u,0,5*pi), (v,0.01,1))
Out[7]:
<sympy.plotting.plot.Plot at 0x7f8b9a92b790>

Question 4

Soit $p(x)=- x^{4} + 28 x^{3} - 221 x^{2} + 350 x + 600$ un polynôme. Trouver l'ensemble des valeurs de $x$ telles que $p(x)$ atteint un optimum local et dire s'il s'agit d'un minimum ou un maximum.

In [10]:
from sympy.abc import x
p = -x**4+28*x**3-221*x**2+350*x+600
p
Out[10]:
$$- x^{4} + 28 x^{3} - 221 x^{2} + 350 x + 600$$
In [41]:
from sympy import diff,solve
p_optimum = solve(diff(p, x), x)
p_optimum
Out[41]:
$$\left [ 7, \quad - \frac{\sqrt{146}}{2} + 7, \quad \frac{\sqrt{146}}{2} + 7\right ]$$
In [42]:
from sympy import N
map(N, p_optimum)
Out[42]:
$$\left [ 7.0, \quad 0.958477013202714, \quad 13.0415229867973\right ]$$
In [72]:
p_xx = diff(p, x, x)
[(a, p_xx.subs(x, a).n()) for a in sorted(p_optimum)]
Out[72]:
$$\left [ \left ( - \frac{\sqrt{146}}{2} + 7, \quad -292.0\right ), \quad \left ( 7, \quad 146.0\right ), \quad \left ( \frac{\sqrt{146}}{2} + 7, \quad -292.0\right )\right ]$$

Réponse: p atteint des maximum en x=0.95 et x=13.04, car la dérivée seconde est négative en ces points

Réponse: p atteint un minimum en x=7, car la dérivée seconde est positive en ce point

Calculer l'aire de la région $A=\{(x,y):0\leq y\leq p(x)\}$ bornée supérieurement par le polynôme $p(x)$ et inférieurement par l'abscisse.

In [43]:
from sympy import plot
plot(p, (x,-5, 20), ylim=(-1000,1000))
Out[43]:
<sympy.plotting.plot.Plot at 0x7f8b9886f510>
In [46]:
p_racines = solve(p, x)
p_racines
Out[46]:
$$\left [ -1, \quad 4, \quad 10, \quad 15\right ]$$
In [50]:
from sympy import integrate
aire = integrate(p, (x,-1,4)) + integrate(p, (x,10, 15))
aire
Out[50]:
$$\frac{14500}{3}$$
In [51]:
aire.n()
Out[51]:
$$4833.33333333333$$

Question 5

On considère la fonction $f(x)=x^{x\over 1-x}$ pour tout réel $x>0$. Donner le domaine de définition de $f$.

In [57]:
from sympy import oo
from sympy.abc import x
f = x**(x/(1-x))
In [58]:
f.subs(x,0), f.subs(x,1), f.subs(x,oo)
Out[58]:
$$\left ( 1, \quad \mathrm{NaN}, \quad \mathrm{NaN}\right )$$

Réponse: le domaine est $[0, 1[\cup]1,\infty[$ si on accepte que $0^0=1$ est bien défini.

Calculer les limites de la fonction $f$ aux bornes des intervalles qui composent le domaine de $f$.

In [59]:
from sympy import limit
limit(f, x, 0)
Out[59]:
$$1$$
In [60]:
limit(f, x, 1)
Out[60]:
$$e^{-1}$$
In [61]:
limit(f, x, oo)
Out[61]:
$$0$$

Expliquez comment prolonger $f$ par continuité aux points $x=0$ et $x=1$.

Réponse: par le résultat des calculs des limites.

Question 6

On considère les vecteurs $v_1=(-8, 1, -10, 1, 6)$, $v_2=(-6, -10, 2, 10, -3)$, $v_3=(-2, 8, 10, 1, 10)$, $v_4=(-14, -9, -8, 11, 3)$, $v_5=(-2, -3, 5, -8, -6)$. Donner une base du sous espace vectoriel engendré par $v_1$, $v_2$, $v_3$, $v_4$ et $v_5$.

In [63]:
v1=(-8, 1, -10, 1, 6)
v2=(-6, -10, 2, 10, -3)
v3=(-2, 8, 10, 1, 10)
v4=(-14, -9, -8, 11, 3)
v5=(-2, -3, 5, -8, -6)
In [64]:
from sympy import Matrix
M = Matrix([v1, v2, v3, v4, v5])
M
Out[64]:
$$\left[\begin{matrix}-8 & 1 & -10 & 1 & 6\\-6 & -10 & 2 & 10 & -3\\-2 & 8 & 10 & 1 & 10\\-14 & -9 & -8 & 11 & 3\\-2 & -3 & 5 & -8 & -6\end{matrix}\right]$$
In [68]:
Mreduite, pivots = M.rref()
Mreduite
Out[68]:
$$\left[\begin{matrix}1 & 0 & 0 & 0 & - \frac{11373}{21334}\\0 & 1 & 0 & 0 & \frac{11541}{10667}\\0 & 0 & 1 & 0 & - \frac{200}{10667}\\0 & 0 & 0 & 1 & \frac{4969}{10667}\\0 & 0 & 0 & 0 & 0\end{matrix}\right]$$

Le vecteur $w=(0, -6, -1, -8, 10)$ est-il dans ce sous-espace vectoriel?

In [69]:
w = (0, -6, -1, -8, 10)
M = Matrix([v1, v2, v3, v4, v5, w])
M.transpose().rref()
Out[69]:
$$\left ( \left[\begin{matrix}1 & 0 & 0 & 1 & 0 & 0\\0 & 1 & 0 & 1 & 0 & 0\\0 & 0 & 1 & 0 & 0 & 0\\0 & 0 & 0 & 0 & 1 & 0\\0 & 0 & 0 & 0 & 0 & 1\end{matrix}\right], \quad \left [ 0, \quad 1, \quad 2, \quad 4, \quad 5\right ]\right )$$

Réponse: NON, le système est incompatible

Si oui, l'exprimer comme combinaison linéaire des vecteurs de la base.