0% ont trouvé ce document utile (0 vote)
10 vues11 pages

Produit scalaire avec Numpy en Python

Le document présente dix sujets d'exercices de mathématiques proposés par le CCINP, chacun accompagné d'indications pour les résoudre en utilisant Python. Les sujets couvrent divers thèmes tels que l'isométrie, les fonctions de plusieurs variables, les séries de Fourier, et les probabilités. Chaque exercice inclut des questions spécifiques et des conseils pour l'implémentation en Python.

Transféré par

Véronique Gressier
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues11 pages

Produit scalaire avec Numpy en Python

Le document présente dix sujets d'exercices de mathématiques proposés par le CCINP, chacun accompagné d'indications pour les résoudre en utilisant Python. Les sujets couvrent divers thèmes tels que l'isométrie, les fonctions de plusieurs variables, les séries de Fourier, et les probabilités. Chaque exercice inclut des questions spécifiques et des conseils pour l'implémentation en Python.

Transféré par

Véronique Gressier
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Sujets oraux CCINP

Ce document présente dix sujets proposés par le CCINP comme exemples pour les oraux de mathéma-
tiques avec usage de python. Pour chacun des indications sont fournies pour vous aider à les résoudre.

Table des matières


Exercice 1 : isométrie 2

Exercice 2 : fonctions de plusieurs variables 3

Exercice 3 : série de Fourier 4

Exercice 4 : somme de Riemann 5

Exercice 5 : système différentiel 6

Exercice 6 : courbe paramétrée 7

Exercice 7 : espaces préhilbertiens 8

Exercice 8 : probabilités 9

Exercice 9 : variables aléatoires 10

Exercice 10 : déterminant 11

TSI2 - Les Lombards 1/11 2024–2025


Exercice 1.
Soit Ä un endomorphisme de R3 dont la matrice dans une base orthonormée directe ÷1, ÷7, ÷k est


û þ
8 1 24

M = ý24 4 27ø .
ÿ
9
1 8 4

1. a) Écrire en langage Python une fonction permettant de calculer le produit scalaire de deux vecteurs
de R3 appelés a et b à l’aide d’une boucle. La fonction renvoyant un scalaire pourra avoir pour
entête : def mon_prod(a,b).
b) Comparer les résultatsûavec
þ
le produit
û þ
scalaire [Link](a,b) fourni par la bibliothèque numpy
1 8 1
1ü ÿ
sur les vecteurs a = üý24ø et b = ý4ø.
ÿ
9 1 9 8

2. Montrer que Ä est un automorphisme orthogonal direct.


û þ
3
3. Montrer que É = ý21ø
ü ÿ
est invariant par Ä. En déduire la nature de l’isométrie.
21
û þ
1 1ÿ
4. Montrer que le vecteur u = : üý3ø est orthogonal à É.
10 0

5. Donner les éléments caractéristiques de cette transformation.

Indications :
1. a) Classique calcul de somme à l’aide d’une boucle. (Comme rien n’est précisé, R3 est muni du produit
scalaire canonique.)
b) Penser à charger la bibliothèque numpy.
Un vecteur se défini alors comme un tableau : [Link]([1,2,3]) par exemple.
2. Il y a deux choses à montrer : d’une part que la matrice est orthogonale et d’autre part le caractère
direct.
3. Le vecteur É est invariant par Ä signifie que Ä(É) = É ou encore Ä(É) = M É.
4. L’orthogonalité se vérifie à l’aide d’un calcul de produit scalaire.
5. Il reste ici à déterminer l’angle de la rotation.

TSI2 - Les Lombards 2/11 2024–2025


Exercice 2.
On considère la surface (S) d’équation cartésienne

x2 + y 2 + z 2 + 2xyz 2 1 = 0.

1. Écrire en langage Python une fonction permettant de renvoyer True si le point M passé en pa-
ramètre appartient à la surface (S). La fonction renvoyant un booléen pourra avoir pour entête
def appartient(M) où M peut être vu comme une liste ou un triplet ou sous la forme de son choix,
le choix est laissé au candidat.
2. Le point de coordonnées (0, 0, 0) appartient-il à (S) ?
3. On pose f (x, y, z) = x2 + y 2 + z 2 + 2xyz 2 1 avec x, y et z des réels
a) Justifier que f est de classe C > sur R3 .
b) Calculer le gradient de f au point (x0 , y0 , z0 ).
4. Déterminer l’ensemble des points non réguliers de (S).
5. Donner l’équation cartésienne du plan tangente à (S) à un point régulier de (S) dont les coordonnées
seront notées (x0 , y0 , z0 ).
6. Déterminer l’intersection de la surface (S) avec le plan d’équation x = a dans le cas a = 1 ou a = 21.

Indications :
1. Un point appartient à la surface si ses coordonnées vérifient l’équation.
2. Utiliser la fonction que l’on vient d’écrire.
3. a) Ne pas chercher compliqué, c’est toujours le même argument avec les fonctions de plusieurs va-
riables.
b) Il faut calculer les trois dérivées partielles.
4. Utiliser la définition d’un point singulier puis résoudre le système par substitution.
5. Méthode classique de cours. Penser à utiliser le fait que le point appartient à la surface pour simplifier
le résultat obtenu.
6. Un point appartient à l’intersection s’il vérifie les deux équations : il s’agit donc d’un système à
résoudre.

TSI2 - Les Lombards 3/11 2024–2025


Exercice 3.
Soit f la fonction 2Ã-périodique définie par

à 2 x2
"x * [2Ã ; Ã], f (x) = 2 .
12 4
1. Tracer à la main en justifiant la courbe représentative de la fonction f sur l’intervalle [22Ã ; 2Ã].
2. a) Calculer, pour tout entier naturel non nul n, les coefficients de Fourier bn de la fonction f .
b) Calculer le coefficient de Fourier a0 .
c) Calculer les coefficients de Fourier an pour n un entier naturel non nul à l’aide de deux intégrations
par parties.
3. Montrer que pour tout x de l’intervalle [2Ã ; Ã],
+>
à 2 x2 X cos(nx)
2 = (21)n+1 .
12 4 n=1
n2

4. Déduire de la question précédente que


+>
X (21)n+1 Ã2
= .
n=1
n2 12

5. a) Illustrer à l’aide du langage Python le résultat précédent en écrivant une fonction d’en-tête
sommeP(N) prenant en paramètre un entier naturel N et renvoyant la valeur de la somme par-
N
X (21)k+1
tielle .
k=1
k2
Pour calculer (21)k , on prendra garde d’utiliser la bibliothèque math et [Link](-1, k).
Ã2
b) Calculer les sommes partielles au rang 10, 100 et 1 000 et comparer avec .
12
On rappelle que la valeur de à peut-être obtenue à l’aide de la commande [Link].

Indications :
1. Réfléchir à la « forme » de la courbe puis prendre quelques valeurs particulières bien choisies.
2. a) La formulation des trois questions laisse à penser qu’il faut utiliser ici la parité.
b) Conséquence directe de la définition de a0 et d’un simple calcul.
c) Penser à justifier les IPP + dessiner un cercle trigonométrique pour calculer certaines valeurs.
3. C’est une égalité de fonctions donc appliquer le théorème de Dirichlet après avoir vérifié ses hypothèses.
4. Choisir la valeur de x adéquate dans l’égalité précédente pour avoir le terme voulu dans la somme.
5. a) Calcul de somme classique à l’aide d’une boucle.
b) Appeler la fonction précédente avec les différentes valeurs de N .

TSI2 - Les Lombards 4/11 2024–2025


Exercice 4.
Pour n * N7 , on considère la somme
n
X 1
Sn = : .
k=1 n2 + 2kn

1. Écrire en Python une fonction somme prenant en paramètre un entier naturel non nul n et renvoyant
la valeur de Sn .
2. Donner la valeur de S10 , de S100 et de S1 000 .
3. Convergence de (Sn )n~1 .
Z 1
dx
a) Calculer la valeur de : .
0 1 + 2x
:
b) Montrer que la suite (Sn )n~1 converge vers 3 2 1.

Indications :
1. Calcul habituel de somme.
2. Utiliser la fonction précédente.
3. a) Penser à la continuité de la fonction à intégrer puis chercher une primitive directement.
b) La question précédente donne envie de faire apparaître une somme de Riemann.

TSI2 - Les Lombards 5/11 2024–2025


Exercice 5.
Pour a * R, on considère la matrice
û þ
1 a22 a 1
üa 21 1 aÿ
A(a) = ü ÿ.
ü ÿ
ý0 0 2a 1ø
0 0 21 0

1. Déterminer le polynôme caractéristique de A(a).


2. Soit B * M4,1 (R). Déterminer pour quelle(s) valeur(s) de a le système linéaire A(a)X = B admet une
unique solution.
3. On s’intéresse au système différentiel suivant, où les inconnues sont x, y, z, w fonctions de t :
ù
ü
ü
üx2 = x + 0,5y + 2,5z + w
ü
úy 2 = 2,5x 2 y + z + 2,5w
ü
(S) :
üz 2 = 22,5z + w
ü
ü
ü
û 2
ü
w = 2z

a) On note A la matrice associée au système (S). Montrer qu’il existe deux matrices P et D avec P
inversible et D diagonale, telles que A = P DP 21 . On déterminera ces matrices à l’aide de Python,
on pourra pour cela utiliser les fonctions [Link] et [Link] de la bibliothèque
numpy.
û þ
1
ü1ÿ
b) Déterminer à la main la solution Y0 du système différentiel Y = DY telle que Y (0) =
2
ü ÿ.
ü ÿ
ý1ø
1

c) Écrire en Python une fonction solution(t) prenant en paramètre un nombre réel t et renvoyant
la valeur de la solution de (S) en t telle que P 21 X = Y0 .

Indications :
1. Pas d’astuce de calcul, développer deux fois selon la dernière ligne.
2. Traduire cette condition à propos de la matrice A(a) et faire le lien avec la question précédente.
3. a) Penser à charger les bibliothèques et comprendre ce que renvoie la fonction eig.
b) Écrire Y sous forme d’un vecteur de quatre fonctions, on est alors ramené à des équations diffé-
rentielles très simples. Ne pas oublier la condition initiale.
c) Pour effectuer un produit matriciel, on peut utiliser la fonction dot de numpy.

TSI2 - Les Lombards 6/11 2024–2025


Exercice 6.
Le plan P est rapporté à un repère orthonormé direct R = (O ;÷1, ÷7 ).
On considère la courbe Γ de représentation paramétrique
ù
2t 2 1
úx(t) = t2 2 1
ü
ü
2
ûy(t) = t + 3
ü
ü
t21

On pose M (t) le point de coordonnées x(t), y(t) .




1. Donner les ensembles de définition des fonctions x et y.


2. Étudier la courbe paramétrée Γ.
3. Justifier l’existence d’asymptotes verticales et horizontales et préciser leur équation respective.
4. a) Définir en Python les fonctions abscisse(t) et ordonnee(t) où t est le paramètre et renvoyant
respectivement la valeur de x(t) et de y(t).
y(t) h2 h
b) Tracer la courbe t 7³ sur l’intervalle I1 = ; 1 , la commande linspace pourra être utilisée.
x(t) 3
y(t) i 4i
c) Tracer la courbe t 7³ sur l’intervalle I2 = 1 ; , la commande linspace pourra être utilisée.
x(t) 3
d) Que constate-t-on ? Justifier votre réponse par le calcul.
e) Tracer la courbe t 7³ y(t) 2 8x(t) sur les intervalles I1 et I2 .
f) Que constate-t-on ? En déduire l’équation d’une droite asymptote à la courbe. Vous démontrerez
votre conjecture.

Indications :
1.
2. Cela signifie dresser le tableau de variations commun.
3. À l’aide d’un schéma si nécessaire, voir ce que cela signifie en terme de limites.
4. a)
b) Penser à importer numpy et [Link] pour pouvoir utiliser linspace et plot. Savoir
chercher l’aide de ces fonctions si besoin. Faire attention à la valeur interdite.
c)
d) Calcul très simple de limite.
e) Comme les deux autres tracés.
f) Faire un schéma si besoin pour traduire ce résultat en terme d’asymptote.

TSI2 - Les Lombards 7/11 2024–2025


Exercice 7.
1. Rappeler la dimension et la base canonique de R2 [X].
2. On note : P0 = 1 ; P1 = X + 1 et P2 = (X + 2)2 . Vérifier que B la famille constituée de ces trois
polynômes est une base de R2 [X].
1
X
3. Pour P et Q dans R2 [X], on définit Ç(P, Q) comme étant P (k) × Q(k).
k=21
Montrer que l’application Ç est un produit scalaire sur R2 [X].
4. Écrire en Python une fonction renvoyant la valeur de Ç(Pi , Pj ) en fonction des paramètres entiers i
et j.
5. B est-elle une base orthonormée (relativement à Ç) de R2 [X] ?
6. À partir de B, construire une base orthonormée de R2 [X], Ç .


7. On note H le sous-espace vectoriel de R2 [X] engendré par P1 et P2 .


Déterminer la distance du polynôme X 2 à H puis la distance de 1 à H.

Indications :
1. C’est du cours.
2. Méthode usuelle : puisque la famille contient le « bon » nombre d’éléments, il suffit de montrer qu’elle
est libre.
3. Classique, attention comme toujours à bien justifier le caractère défini : ici il s’agit de polynômes donc
c’est sûrement une histoire de racines.
4. Trouver d’abord une expression de Pi en fonction de i valable pour i * {0, 1, 2}.
5. Calculer la norme d’un vecteur ou le produit scalaire de deux d’entre eux.
6. Gram-Schmidt.
7. Pour X 2 , observer qu’il s’écrit comme combinaison linéaire de P1 et P2 .
Pour 1, passer par un projeté orthogonal.

TSI2 - Les Lombards 8/11 2024–2025


Exercice 8.
Un message doit transiter par un certain nombre de personnes. Chaque personne est susceptible de trans-
mettre le message fidèlement à la suivante, soit de mentir et de lui transmettre son exact contraire. La
probabilité qu’une personne mente est notée p * ]0 ; 1[. On suppose que les personnes ne se concertent pas
entre elles. On note pn la probabilité que le message transmis par la ne personne soit identique au message
initial. On conviendra que p0 = 1.
1. a) Proposer une fonction Python d’en-tête chaine(n,p) qui simule la réalisation de n transmissions,
n étant un entier naturel non nul fourni en paramètre et p la probabilité définie dans l’énoncé. Elle
renverra 1 si le message transmis par la ne personne est identique au message initial et 0 sinon.
b) On répète N chaînes de mêmes paramètres n et p. À l’aide de la fonction précédente, proposer
une fonction d’en-tête simul(N,n,p) qui renvoie la proportion de messages correctement transmis
par la ne personne au cours de N réalisations de cette même chaîne.
Tester la fonction pour différentes valeurs de p (on pourra prendre n = 200 et N = 3000). Que
constate-on ?
2. À l’aide de la formule des probabilités totales, montrer que pour tout entier naturel n :

pn+1 = p + (1 2 2p)pn .

3. a) Trouver un réel x tel que x = p + (1 2 2p)x.


b) Montrer que la suite u de terme général un = pn 2 x est géométrique.
c) En déduire l’expression de pn en fonction de n.
4. Déterminer lim pn . Interpréter et commenter.
n³+>

Indications :
1. a) Pour simuler la transmission du message avec probabilité p, on peut utiliser la fonction random()
du module random qui renvoie un nombre aléatoire entre 0 et 1.
b) Il suffit d’appeler N fois la fonction précédente et de comptabiliser le nombre de « bonnes »
transmissions.
2. Penser à préciser le système complet d’événements utilisé et définir lesdits événements.
3. a) Sans difficulté.
b) Méthode classique : il faut utiliser les relations des questions 2 et 3a.
c) On trouve d’abord l’expression de un car u est géométrique puis on en déduit pn via la relation
donnée en 3b.
4. Bien justifier le calcul de la limite.

TSI2 - Les Lombards 9/11 2024–2025


Exercice 9.
Vous disposez d’une trousse contenant 10 stylos dont un seul fonctionne.
1. Vous les essayez l’un après l’autre jusqu’à trouver celui qui fonctionne. Combien devrez-vous effectuer
d’essais de stylos en moyenne ?
2. Même question si l’on suppose qu’à un chaque essai infructueux, vous remettez (à tort) le stylo dans
la trousse et que vous tirez au hasard le nouveau.
3. Vous en essayez un (au hasard), puis s’il y a échec, un deuxième puis, s’il y a échec, vous remettez le
premier et vous tirez (au hasard) un troisième puis, s’il y a échec, vous remettez le deuxième et vous
tirez (au hasard) un quatrième, puis. . .
Combien devrez-vous effectuer d’essais de stylo en moyenne pour trouver le bon ?
4. a) Proposer dans chacune des trois situations, une fonction Python d’en-tête simul_1(s) (pour la
première puis simul_2(s) et simul_3(s) pour le suivantes) renvoyant le nombre d’essais néces-
saires à la découverte du bon stylo, s étant le nombre de stylos (ici 10).
b) À l’aide des fonctions précédentes, écrire une fonction esp(N, s) qui fournit la moyenne du nombre
d’essais nécessaires au cours de N réalisations de la même expérience où s correspond au nombre de
stylos. Confronter les résultats expérimentaux aux valeurs trouvées dans les questions précédentes.

Indications :
Tout d’abord bien lire l’énoncé (j’ai laissé celui de CCP dans son jus, il est loin d’être parfaitement rédigé,
il faut parfois faire avec) et ne pas hésiter à le résumer à l’aide d’un schéma ou tout autre représentation
qui peut vous aider et éclaircir vos dires face à l’examinateur.
Ensuite, introduire les objets nécessaires pour le mathématiser. Par exemple on définit, pour k un entier
entre 1 et 10, l’événement Sk : « le k-ème stylo testé fonctionne » ainsi que la variable aléatoire X égale au
nombre de stylos testés pour obtenir le « bon » stylo.
1. La formulation « en moyenne » incite à calculer une espérance. Pour ce faire, il faut d’abord déterminer
la loi de X, i.e. donner les valeurs possibles et la probabilité de chacune d’elle.
2. Idem (en reconnaissant une loi usuelle).
3. Idem.
4. a) Il s’agit de simuler les tirages de stylos, le plus simple est de commencer par le second cas.
Pour simuler la réalisation ou non d’un événement qui a une probabilité p de se produire, on
peut utiliser random() < p où la fonction random (qui provient de la bibliothèque du même nom)
renvoie un nombre aléatoire entre 0 et 1.
b) C’est un simple calcul de somme.

TSI2 - Les Lombards 10/11 2024–2025


Exercice 10.
Soit n * N7 et x * R, l’exercice s’intéresse à l’inversibilité de la matrice carrée d’ordre n :

1 + x2
û þ
2x 0 ··· 0
.. ..
.
ü ÿ
ü 2x
ü 1 + x2 2x . ÿ
ÿ
ü
Mn (x) = ü .. .. .. ÿ
ü 0 . . . 0 ÿ.
ÿ
ü .
ü . ..
ÿ
ý . . 2x 1 + x2 2x ø
ÿ

0 ··· 0 2x 1 + x2

On considérera également ∆n (x) = det Mn (x) .




1. a) Démontrer que M1 (x) et M2 (x) sont inversibles pour tout x * R.


b) À l’aide de l’outil informatique, comparer la fonction ∆4 et la fonction x 7³ 1 + x2 + x4 + x6 + x8 .
c) Émettre une conjecture sur la forme de ∆n (x).
2. Établir une relation de récurrence liant ∆n+2 (x), ∆n+1 (x) et ∆n (x).
3. Démontrer le résultat conjecturé dans la question 1.
4. Pour quelle(s) valeur(s) de x la matrice Mn (x) est-elle inversible ?
5. Pour cette question on considère que x * C.
a) Pour quelle(s) valeur(s) de x la matrice M1 (x) n’est pas inversible ?
b) Pour quelle(s) valeur(s) de x la matrice M2 (x) n’est pas inversible ?
c) Généraliser les résultats précédents pour déterminer pour quelle(s) valeur(s) de x * C la matrice
Mn (x) est inversible.

Indications :
1. a) Le sujet suggère fortement de passer par le déterminant.
b) Tracer les deux fonctions sur un intervalle de votre choix.
c) Trouver le motif commun aux trois résultats précédents.
2. Comme il s’agit de déterminants de tailles différentes, il faut effectuer des développements selon une
ligne ou une colonne.
3. Étant donné la relation précédente, utiliser une récurrence double.
4. Conséquence du résultat précédent.
5. a) Reprendre les calculs de 1a mais résoudre sur C.
b) Poser Y = x2 puis mettre les solutions trouvées sous forme exponentielle pour revenir à x.
c) Reprendre le résultat de 3 et trouver une autre écriture de la somme pour se ramener à des racines
de l’unité.

TSI2 - Les Lombards 11/11 2024–2025

Vous aimerez peut-être aussi