Feuille d’exercices 9#
Objectifs
Expressions symboliques
Fonctions : dérivation, intégration, limites
Sommes, produits et séries
Exercice 1 : quelques limites#
Question 1 : Soit \(f(x) = \frac{x^3+x}{x-1}\).
Définir l’expression symbolique associée à \(f\).
Évaluer cette expression en \(x=1\), que se passe-t-il ?
Calculer la limite de \(f(x)\) en \(x=1\), à gauche et à droite.
var('x')
f = (x**3 + x)/(x-1)
print(f)
(x^3 + x)/(x - 1)
f(x=1)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/tmp/ipykernel_60698/236142936.py in <module>
----> 1 f(x=Integer(1))
/usr/lib/python3/dist-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.__call__ (build/cythonized/sage/symbolic/expression.cpp:61293)()
6142 z^2 + x^y
6143 """
-> 6144 return self._parent._call_element_(self, *args, **kwds)
6145
6146 def variables(self):
/usr/lib/python3/dist-packages/sage/symbolic/ring.pyx in sage.symbolic.ring.SymbolicRing._call_element_ (build/cythonized/sage/symbolic/ring.c:9965)()
1051 "can use named arguments instead, like "
1052 "EXPR(x=..., y=...)")
-> 1053 return _the_element.subs(d, **kwds)
1054
1055 def subring(self, *args, **kwds):
/usr/lib/python3/dist-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.substitute (build/cythonized/sage/symbolic/expression.cpp:59744)()
5852 smap.insert(make_pair((<Expression>self.coerce_in(k))._gobj,
5853 (<Expression>self.coerce_in(v))._gobj))
-> 5854 res = self._gobj.subs_map(smap, 0)
5855 return new_Expression_from_GEx(self._parent, res)
5856
ValueError: power::eval(): division by zero
On observe une erreur d’évaluation.
print(limit(f, x=1, dir="+"))
print(limit(f, x=1, dir="-"))
+Infinity
-Infinity
Question 2 : Soit \(n \ge 1\) et \(h_n\) la fonction à valeurs réelles définie par \(h_n(x) := (1 + \frac{x}{n})^n\) pour tout réel \(x\).
Définir l’expression symbolique représentant \(h_n(x)\).
Tracer sur un même graphique, entre \(x=-1\) et \(x=3\), les fonctions \(h_n\) pour \(n=1\), \(n=2\) et \(n= 10\) (utiliser différentes couleurs). Vers quelle fonction semble converger la suite \((h_n)_{n \ge 0}\) ?
Pour \(x\) fixé, calculer la limite de \(h_n(x) = (1 + \frac{x}{n})^n\) lorsque \(n \to \infty\).
var('x')
var('n')
h = (1+x/n)**n
plot(h(n=1), color="blue", xmin=-1, xmax=3) + plot(h(n=2), color="green", xmin=-1, xmax=3) + plot(h(n=10), color="red", xmin=-1, xmax=3)
h.limit(n=oo)
e^x
Question 3 : Pour \(x\) fixé, calculer la série
s = (-1)**n * x**(2*n+1)/factorial(2*n+1)
sum(s, n, 0, oo)
sin(x)
Exercice 2 : Dérivées, primitives et intégrales#
Question 1 : Calculer des dérivées de :
\(x \mapsto \ln(x-1)\)
\(x \mapsto \sin(x^2)\)
\(x \mapsto e^{\frac{1}{x^2}}\) (dérivée à l’ordre 2).
var('x')
print(diff(log(x-1), x))
print(diff(sin(x**2), x))
print(diff(exp(1/(x**2)), x, 2))
1/(x - 1)
2*x*cos(x^2)
6*e^(x^(-2))/x^4 + 4*e^(x^(-2))/x^6
Question 2 : Calculer des primitives de :
\(x \mapsto \frac{1}{1+x^2}\)
\(x \mapsto \sin(x)^2\)
\(x \mapsto \frac{1}{x\ln(x)}\).
var('x')
f = 1/(1+x**2)
print(integral(f, x))
print(integral(sin(x)**2, x))
print(integral(1/(x*ln(x)), x))
arctan(x)
1/2*x - 1/4*sin(2*x)
log(log(x))
Question 3 : Calculer les intégrales suivantes :
\(\int_{1}^{2} \frac{1}{t} dt\)
\(\int_{-\infty}^{+\infty} e^{-t^2} dt\)
var('x')
var('t')
show(integral(1/t, t, 1, 2))
show(integral(e**(-t**2), t, -oo, +oo))
Exercice 3 : Un calcul de déterminant à paramètre#
Pour \(k \in \mathbb{R}\), on considère la matrice
Question 1. Construire la matrice \(M_k\) (sur l’anneau SR des éléments symboliques), en prenant le soin d’avoir défini préalablement la variable k.
var('k')
Mk = matrix(SR, 3, 3, [1, 2, 3, k, 1, 1, 1, 4*k, 9])
print(Mk)
[ 1 2 3]
[ k 1 1]
[ 1 4*k 9]
Question 2. Déterminer les valeurs de \(k\) pour lesquelles la matrice \(M_k\) n’est pas inversible.
Dk = Mk.det()
print(Dk)
solutions = Dk.solve(k)
print(solutions)
6*(2*k - 3)*k - 4*k + 8
[
k == (1/2),
k == (4/3)
]
Exercice 4 : Des intégrales multiples#
Question 1. Soit \(x\) une variable réelle. Calculer l’intégrale à paramètre :
var('x y')
f = 1
A = integrate(f, y, -sqrt(1-x**2), sqrt(1-x**2))
print(A)
2*sqrt(-x^2 + 1)
Question 2. En utilisant la fonction précédente, calculer l’intégrale double
Qu’a t-on calculé ici (géométriquement) ? On pourra s’aider d’un affichage des graphes de \(x \mapsto \pm \sqrt{1-x^2}\) en fonction de \(x\).
B = integrate(A, x, -1, 1)
print(B)
pi
On a calculé l’aire d’un cercle. En effet, les graphes des fonctions \(x \mapsto \pm \sqrt{1-x^2}\) sont :
plot(sqrt(1-x**2), xmin=-1, xmax=1, color="blue", aspect_ratio=1) + plot(-sqrt(1-x**2), xmin=-1, xmax=1, color="red")
Question 3. Calculer l’intégrale triple :
Qu’a t’on calculé ici (géométriquement) ?
var('r theta phi R')
f = r**2 * cos(phi)
A = integrate(f, r, 0, R)
B = integrate(A, theta, 0, 2*pi)
C = integrate(B, phi, -pi/2, pi/2)
print(C)
4/3*pi*R^3
Exercice 5 : D’autres limites#
Question 1 : Soit \(g(x) = \frac{\sin(x)}{x}\).
Tracer \(g\) entre \(-3\pi\) et \(3\pi\).
La fonction \(g\) peut-elle être évaluée en \(0\) ?
Calculer la limite de \(g\) en \(0\) et en \(+\infty\).
var('x')
g = sin(x)/x
plot(g, [-3*pi, 3*pi])
g(x=0)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/tmp/ipykernel_60698/130843268.py in <module>
----> 1 g(x=Integer(0))
/usr/lib/python3/dist-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.__call__ (build/cythonized/sage/symbolic/expression.cpp:61293)()
6142 z^2 + x^y
6143 """
-> 6144 return self._parent._call_element_(self, *args, **kwds)
6145
6146 def variables(self):
/usr/lib/python3/dist-packages/sage/symbolic/ring.pyx in sage.symbolic.ring.SymbolicRing._call_element_ (build/cythonized/sage/symbolic/ring.c:9965)()
1051 "can use named arguments instead, like "
1052 "EXPR(x=..., y=...)")
-> 1053 return _the_element.subs(d, **kwds)
1054
1055 def subring(self, *args, **kwds):
/usr/lib/python3/dist-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.substitute (build/cythonized/sage/symbolic/expression.cpp:59744)()
5852 smap.insert(make_pair((<Expression>self.coerce_in(k))._gobj,
5853 (<Expression>self.coerce_in(v))._gobj))
-> 5854 res = self._gobj.subs_map(smap, 0)
5855 return new_Expression_from_GEx(self._parent, res)
5856
ValueError: power::eval(): division by zero
print(g.limit(x=0))
print(g.limit(x=oo))
1
0
Question 2 : Calculer \(\sum_{n=1}^\infty \frac{1}{n^k}\) pour les valeurs de \(k=2, 4, 6, 8, 10\).
var('n')
L = []
for k in range(2, 12, 2):
L.append(sum(1/(n**k), n, 1, oo))
print(L)
[1/6*pi^2, 1/90*pi^4, 1/945*pi^6, 1/9450*pi^8, 1/93555*pi^10]