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

Kit Survie Python

Le document présente un kit de survie pour l'utilisation de Python lors de l'oral de mathématiques à Centrale, incluant des sections sur les graphiques, le calcul matriciel, l'analyse numérique, les équations différentielles, et les probabilités. Il décrit également le format de l'épreuve, les outils informatiques à utiliser, et met en garde contre un temps excessif consacré à la programmation. Des exemples de code Python et des exercices sont fournis pour illustrer les concepts abordés.

Transféré par

Z0diack
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 vues22 pages

Kit Survie Python

Le document présente un kit de survie pour l'utilisation de Python lors de l'oral de mathématiques à Centrale, incluant des sections sur les graphiques, le calcul matriciel, l'analyse numérique, les équations différentielles, et les probabilités. Il décrit également le format de l'épreuve, les outils informatiques à utiliser, et met en garde contre un temps excessif consacré à la programmation. Des exemples de code Python et des exercices sont fournis pour illustrer les concepts abordés.

Transféré par

Z0diack
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

Kit de survie

Utilisation de Python à l’oral de Centrale

Table des matières

I. Graphiques 3

I.1. Tracés de suites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

I.2. Tracés de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

I.3. Tracés d’arcs paramétrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

II. Calcul matriciel 5

II.1. Construction de matrices. Opérations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

II.2. Réduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

III. Analyse numérique 7

III.1. Résolution approchée d’équations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

III.2. Calcul approché d’intégrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

IV. Équations différentielles 8

IV.1. ED Scalaires du 1er ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

IV.2. Systèmes différentiels du 1er ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

IV.3. ED scalaires du 2e ordre. Vectorialisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

V. Probabilités 10

VI. Polynômes 11

VII. Quelques exercices posés à l’oral de Centrale 12

[Link] et éléments de réponse 14

PC*2 2022-2023 –1– Lycée du Parc


Extrait du rapport du jury de Centrale :

L’épreuve de mathématique 2 est un oral de 30 minutes qui succède à une préparation d’environ 30 minutes également.

Le sujet est constitué d’un seul exercice comportant plusieurs questions de difficultés progressives et faisant appel, pour

certaines, à l’usage de l’outil informatique. Le logiciel informatique est utilisé afin de faire des simulations du thème

abordé par l’exercice à travers quelques exemples. Il permet de faire des représentations graphiques et des calculs dans

le but de conjecturer ou de vérifier quantitativement les résultats attendus. Lors de la préparation, le candidat dispose

d’un ordinateur sur lequel sont installés les logiciels Pyzo et Scilab, ainsi que des documents d’aide fournis à tous les

candidats présentant les fonctions des bibliothèques qui pourront être utiles sans pour autant être exigibles.

À l’issue de la préparation le candidat doit présenter à l’examinateur les résultats qu’il a obtenus. Cette présentation

pouvant se faire au tableau et/ou devant l’ordinateur, le candidat pouvant faire des allers-retours entre l’ordinateur

et le tableau. L’examinateur évalue durant cette présentation la qualité de la pratique mathématique en regard des

prestations des autres candidats. Il tient compte aussi, même si ce n’est pas le but principal de l’épreuve, de l’usage de

l’outil informatique, tant du point de vue de son efficacité que de sa pertinence.

Le jury tient absolument à mettre en garde contre un temps excessif consacré au code Python pendant

le temps de préparation de l’épreuve. Il s’agit avant tout d’un oral de maths, et il n’est pas raisonnable

de consacrer plus de la moitié du temps de préparation à la partie informatique. Le code Python

nécessaire pour démarrer l’exercice en effectuant des conjectures est normalement extrêmement simple

et ne devrait pas être bloquant. Au pire, l’examinateur aidera le candidat pour corriger de petites

erreurs de syntaxe. Il peut y avoir du code plus élaboré, mais il sera toujours demandé à la fin. Le jury

tient également à souligner que ce n’est pas le code qui est évalué, mais l’interprétation mathématique

qui en est faite.

PC*2 2022-2023 –2– Lycée du Parc


I. Graphiques

La première chose à faire (après avoir créé et sauvegardé le fichier bien sûr !) est d’importer les modules numpy et

[Link] :

import m a t p l o t l i b . p y p l o t a s p l t

import numpy a s np

Le principe est de donner la liste des abscisses et la liste des ordonnées des points à relier.

Quelques commandes utiles :

• [Link]() : fait apparaître un quadrillage qui facilite la lecture.

• [Link](’equal’) : dessin dans un repère orthonormé

• [Link]() : crée une fenêtre affichant le graphe contenant toutes les données enregistrées précédemment.

• [Link]() : clear figure : efface la fenêtre graphique en cours

I.1. Tracés de suites


(−1)n
Par exemple, pour tracer les 100 premiers termes de la suite ( √ ) :
n

X=[n f o r n in r a n g e ( 1 , 1 0 1 ) ]
Y=[( −1)∗∗ n/np . s q r t ( n ) f o r n in X]
plt . grid ()
p l t . p l o t (X,Y)
p l t . show ( )

un−1
Exercice 1. Soit (un ) la suite définie par u0 = u1 = 1 et pour tout n ∈ N∗ , un+1 = un + .
n
Écrire une fonction permettant de calculer un de manière efficace.
un+1
Vérifier graphiquement, puis démontrer que → 1. Que vaut le rayon deconvergence de la série entière ∑ un xn ?
un n→+∞

I.2. Tracés de fonctions

Pour définir la liste X des abscisses, il y a plusieurs possibilités, notamment :

• [Link](a,b,h) : renvoie la liste des a + i ∗ h contenus dans [a, b[

• [Link](a,b,nb) : renvoie une subdivision régulière de [a, b] avec nb points sous forme de liste

On définit ensuite la liste Y des ordonnées en appliquant la fonction aux éléments de X.

PC*2 2022-2023 –3– Lycée du Parc


Par exemple, pour tracer le graphe de x ↦ x(1 − x)

def f ( x ) : return x ∗(1 − x )

X=np . l i n s p a c e ( 0 , 1 , 1 0 0 )
Y=[ f ( x ) f o r x in X]
p l t . p l o t (X,Y)
plt . grid ()
p l t . show ( )

Par exemple, pour tracer les graphes des fonctions fn ∶ x ↦ nxn (1 − x2 ) sur [0, 1] pour n ∈ J1, 10K :

def f ( n , x ) :
return n∗x ∗∗n∗(1 − x ∗ ∗ 2 )
X=np . l i n s p a c e ( 0 , 1 , 1 0 0 )
f o r n in r a n g e ( 1 1 ) :
Y=[ f ( n , x ) f o r x in X]
p l t . p l o t (X,Y)
plt . grid ()
p l t . show ( )

I.3. Tracés d’arcs paramétrés






⎪ x(t) = sin(2t)
Exemple : allure de l’arc paramétré : ⎨



⎪ y(t) = cos(3t)

T=np . l i n s p a c e ( 0 , 2 ∗ np . pi , 1 0 0 )
X=[np . s i n ( 2 ∗ t ) f o r t in T ]
Y=[np . c o s ( 3 ∗ t ) f o r t in T ]
p l t . p l o t (X,Y)
plt . axis ( ’ equal ’ )
plt . grid ()
p l t . show ( )

PC*2 2022-2023 –4– Lycée du Parc


II. Calcul matriciel

La première chose à faire (après avoir créé et sauvegardé le fichier bien sûr !) est d’importer les modules numpy et

[Link] :

import numpy a s np

import numpy . l i n a l g a s a l g

II.1. Construction de matrices. Opérations.

On définit A à l’aide de la fonction [Link] : A est le vecteur de ses vecteurs lignes.

On récupère
• ses coefficients par A[i,j]

• sa ie ligne par A[i,:] ( attention les indices commencent à zéro !)


• sa j e colonne par A[:,j]

Matrices particulières :
• matrice nulle : [Link](n) ou [Link]((n,p)) (attention aux parenthèses)

• matrice diagonale : [Link]([a,b,c])

• Identité : [Link]([1]*n) ou bien [Link](n)


⎛0 1 0 ⋯ 0⎞
⎜ ⎟
⎜ ⎟
⎜n 0 2 ⋱ ⋮⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
Exercice 2. Écrire une fonction prenant comme entrée n et retournant Mn = ⎜ 0 ⋱ ⋱ ⋱ 0⎟ ,
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜⋮ ⋱ ⋱ n⎟
⎜ ⎟
⎜ ⎟
⎝0 ⋯ 0 1 0⎠

Opérations :
• somme et multiplication par un scalaire : A+3*B

• produit matriciel : [Link](A,B) renvoie AB quand ce produit est défini.

On peut aussi utiliser [Link](B) qui est plus pratique si on veut multiplier plusieurs matrices.

• puissance d’une matrice carrée : alg.matrix_power(A,5) renvoie A5 .

• [Link](A) renvoie la transposée de A

• [Link](A) renvoie l’inverse de A (si elle est inversible)

• alg.matrix_rank(A) calcule le rang de A


⎛A⎞
• concatenate((A,B),axis=0) renvoie la matrice blocs ⎜ ⎟ et concatenate((A,B),axis=1) renvoie (A B )
⎝B ⎠

Exercice 3.
⎛a a1,2 B ⎞
1,1 B
Écrire une fonction tensoriel prenant comme entrée A et B ∈ M2 (R) et retournant ⎜

⎟ ∈ M4 (R).

⎝a2,1 B a2,2 B ⎠

Résolution d’un système linéaire :

[Link](A,b) permet de résoudre un système linéaire Ax = b où A ∈ GLn (R) et b est un tableau de taille n.

PC*2 2022-2023 –5– Lycée du Parc


II.2. Réduction

• [Link](A) et [Link](A) renvoient respectivement la trace et le déterminant de A.

• Polynôme caractéristique : [Link](A) renvoie la liste des coefficients de χA par degré croissant.
indique que le polynôme caractéristique de
>>> A=np . a r r a y ( [ [ 1 , 2 ] , [ − 3 , − 4 ] ] )
⎛ ⎞
>>> np . p o l y (A) ⎜1 2⎟
A=⎜ ⎟ est χA (X) = X 2 + 3X + 2
⎜ ⎟
array ( [ 1 . , 3. , 2 . ] ) ⎝−3 −4⎠

• Spectre : [Link](A) renvoie le tableau des valeurs propres de A

• B Pour déterminer les éléments propres d’une matrice carrée :

[Link](A) renvoie un couple (D, P ) où

⊳ D est le tableau des valeurs propres

⊳ P est une matrice dont les colonnes sont des vecteurs propres associés aux valeurs propres précédentes.

Déterminons par exemple les éléments propres de la matrice précédente :


A=np . a r r a y ( [ [ 1 , 2 ] , [ − 3 , − 4 ] ] )
D, P=a l g . e i g (A)
print (D) #r é p o n s e : [ −1. −2.]
V1=P [ : , 0 ] #1 e r v e c t e u r c o l o n n e de P
V2=P [ : , 1 ] # 2eme v e c t e u r c o l o n n e de P

print (V1 ,A. dot (V1 ) ) #On v é r i f i e que V1 e s t v e c t e u r p r o p r e a s s o c i é à l a v a l e u r p r o p r e −1


#[ 0 . 7 0 7 1 0 6 7 8 − 0 . 7 0 7 1 0 6 7 8 ] [ − 0 . 7 0 7 1 0 6 7 8 0 . 7 0 7 1 0 6 7 8 ]

#on v é r i f i e pour l e p l a i s i r que A = P D P^{−1} :


print (P . dot ( np . d i a g (D ) ) . dot ( a l g . i n v (P ) ) )
#[ [ 1 . 2.]
# [ −3. −4.]]

Exercice 4. Centrale 18

Soit An = (ai,j ) ∈ Mn (R) telle que, pour tout i, ai,i = 0 et, pour tout i ≠ j, ai,j = j.

a) Écrire une fonction M(n) renvoyant An .

b) Écrire une fonction renvoyant les valeurs propres de An . Afficher An et ses valeurs propres pour n variant de 2 à 10. En déduire une
conjecture sur An .
n k
c) Montrer que les valeurs propres de An vérifient l’équation ∑ = 1.
k=1 x+k
d) En déduire que An est diagonalisable.

PC*2 2022-2023 –6– Lycée du Parc


III. Analyse numérique

III.1. Résolution approchée d’équations

Pour résoudre une équation du type f (x) = 0, où f est une fonction d’une variable réelle, on utilise la fonction fsolve

du module [Link]. La première chose à faire (après avoir créé et sauvegardé le fichier bien sûr !) est donc

import numpy a s np

import s c i p y . o p t i m i z e a s r e s o l

La fonction fsolve prend deux arguments : la fonction f et une valeur initiale x0 (point de départ de l’algorithme de

résolution approchée, on choisira x0 de manière raisonnable.) Elle renvoie la( les) solution(s) trouvée(s) sous forme de

liste. Attention le résultat peut dépendre du choix de x0 !

>>> r e s o l . f s o l v e ( f , 1 )
def f ( x ) : array ( [ 1 . 4 1 4 2 1 3 5 6 ] )
return x∗∗2 −2 >>> r e s o l . f s o l v e ( f , − 3 )
array ([ −1.41421356])

Exercice 5. Oral Centrale

a) Montrer que pour tout n ∈ N∗ , l’équation n(x + x3 ) = 1 admet une unique solution, que l’on notera (xn ).

b) Représenter les 30 premiers termes de la suite (xn ). Conjecture ? Prouver ce résultat.


a b c 1
c) Trouver numériquement trois constantes a,b et c telles que xn = + + + o ( 3 ).
n n2 n3 n
d) Montrer que a, b et c existent et sont égales aux valeurs conjecturées précédemment.

III.2. Calcul approché d’intégrales


b
Pour calculer une valeur approchée de ∫ f (t) dt, on utilise la fonction quad du module [Link].
a
La première chose à faire (après avoir créé et sauvegardé le fichier bien sûr !) est donc :

import s c i p y . i n t e g r a t e a s i n t e g r

La fonction quad prend trois arguments : la fonction f , et les deux bornes d’intégration (éventuellement infinies). Le

résultat un couple (v, ε), où v est une valeur approchée de l’intégrale et ε un majorant de l’erreur. Seul v nous intéresse

et on appellera donc cette fonction sous la forme : [Link](f,a,b)[0]



+∞
−t2 π
Exemple : vérifions numériquement que ∫ e dt =
0 2
>>> i n t e g r . quad ( f , 0 , np . i n f ) [ 0 ]
def f ( t ) : 0.8862269254527579
return np . exp ( − t ∗ ∗ 2 ) >>> np . s q r t ( np . p i ) / 2
0.8862269254527579

Exercice 6. Oral Centrale


+∞ tx−1
Soit g ∶ x ↦ ∫ dt.
0 1+t
a) Montrer que le domaine de définition de g est ]0, 1[. Étudier sa continuité.

b) Dessiner le graphe de g. Quelle propriété de symétrie semble-t-il posséder ? Le prouver.

PC*2 2022-2023 –7– Lycée du Parc


IV. Équations différentielles

La première chose à faire (après avoir créé et sauvegardé le fichier bien sûr !) est d’importer les modules numpy,

[Link] et pour les dessins [Link] :

import numpy a s np

import m a t p l o t l i b . p y p l o t a s p l t

import s c i p y . i n t e g r a t e a s i n t e g r

La fonction odeint du module [Link] permet de résoudre numériquement des problèmes de Cauchy de la

forme :

X ′ (t) = F (X(t), t) et X(t0 ) = X0

On commence par définir la fonction F (c’est le plus difficile), la valeur initiale X0 et une liste d’instants T =

[t0 , t1 , . . . , tn ]. (attention : l’instant initial t0 est le premier élément de la liste).

L’instruction [Link](F,X0 ,T) renvoie le tableau des valeurs approchées des X(tk ) où X est la solution du

problème de Cauchy.

IV.1. ED Scalaires du 1er ordre

Exemple : allure du graphe sur [0, 5] de la solution de y ′ = −ty + 1 telle que y(0) = 1

def f ( y , t ) :
return − t ∗y+1
T=np . l i n s p a c e ( 0 , 5 , 1 0 0 )
Y=i n t e g r . o d e i n t ( f , 1 ,T)
plt . grid ()
p l t . p l o t (T,Y)

IV.2. Systèmes différentiels du 1er ordre






⎪ x = −x − 2y

Exemple : allure de la trajectoire de la solution de ⎨ telle que x(0) = 1 et y(0) = 0 pour t ∈ [0, 10]



⎪ y ′
= 2x − y

def f (X, t ) :
return np . a r r a y ( [ −X[ 0 ] − 2 ∗X[ 1 ] , 2 ∗X[ 0 ] −X [ 1 ] ] )
T=np . l i n s p a c e ( 0 , 1 0 , 2 0 0 )
X=i n t e g r . o d e i n t ( f , np . a r r a y ( [ 1 , 0 ] ) , T)
X=X [ : , 0 ]
Y=X [ : , 1 ]
p l t . p l o t (X,Y)
p l t . show ( )

PC*2 2022-2023 –8– Lycée du Parc


IV.3. ED scalaires du 2e ordre. Vectorialisation.

Exemple : représenter sur [0, 10] la solution f de l’équation différentielle xy ′′ +y ′ +xy = 0 vérifiant f (0) = 1 et f ′ (0) = 0.

(NB : on admet qu’il n’y en a qu’une, ce qui n’était pas garanti par le théorème de Cauchy)

Le plus délicat est de vectorialiser l’équation différentielle.


⎛y⎞ ⎛ y′ ⎞ ⎛ y′ ⎞ ⎛⎛x0 ⎞ ⎞ ⎛ x1 ⎞
On pose X = ⎜ ⎟. y solution de (E) ssi X ′ = ⎜ ⎟ = ⎜ ⎟ = F (X, x) où F ⎜⎜ ⎟ , t⎟ = ⎜ ⎟
⎝y ′ ⎠ ⎝y ′′ ⎠ ⎝−y ′ /x − y ⎠ ⎝⎝x1 ⎠ ⎠ ⎝−x1 /t − x0 ⎠

def f (X, t ) :
return np . a r r a y ( [ X[ 1 ] , −X[ 1 ] ∗ 1 / t −X [ 0 ] ] )
T=np . l i n s p a c e ( 0 . 0 1 , 2 0 , 1 0 0 )
#j ’ a i p r i s 0 . 0 1 e t non pas 0 c a r p r o b l è m e vu
#qu ’ on d i v i s e par t
Y=i n t e g r . o d e i n t ( f , np . a r r a y ( [ 1 , 0 ] ) , T)
# Y e s t un t a b l e a u b i d i m e n s i o n n e l r e p r é s e n t a n t
#l a l i s t e d e s [ y ( t_k ) , y ’ ( t_k ) ]
print (Y)
Y=Y [ : , 0 ]
#on r é c u p è r e s e u l e m e n t l a l i s t e d e s y ( t_k )
plt . grid ()
p l t . p l o t (T,Y)
plt . savefig ( ’ bessel ’ )
p l t . show ( )

Exercice 7. Soient B et J les fonctions définies respectivement par les formules :

+∞ x2n 1 π
B(x) = ∑ (−1)n et J(x) = ∫ cos(x sin(t)) dt.
n=0 4n (n!)2 π 0

Tracer les graphes de B et J. Les comparer avec le graphe de f . Conjecture ? Démontrer le résultat conjecturé.

PC*2 2022-2023 –9– Lycée du Parc


V. Probabilités

La première chose à faire (après avoir créé et sauvegardé le fichier bien sûr !) est d’importer la bibliothèque [Link]

import numpy . random a s rd

Quelques commandes utiles pour simuler les lois classiques :

• [Link](a,b) : renvoie un entier appartenant à l’intervalle entier [a, b[ selon la loi uniforme.

Pour définir une v.a. qui suit la loi uniforme sur {−1, 1} : 2*[Link](0,2)-1

• [Link](n,p) : renvoie un entier compris entre 0 et n selon la loi binomiale B(n, p).

En particulier [Link](1,p) renvoie 0 ou 1 selon la loi de Bernoulli B(p).

• [Link](p) : renvoie un entier naturel selon la loi de Poisson P(p).

• [Link](p) : renvoie un entier de N∗ selon la loi géométrique G(p).

Un troisième argument optionnel m permet de retourner directement un tableau de m valeurs.

Par exemple, [Link](1,0.5,100) permet de simuler 100 tirages à pile ou face avec une pièce équilibrée.

Exercice 8. Marche aléatoire

Soit (Xi ) une suite de va indépendantes suivant toutes la loi uniforme sur {−1, 1}.
On définit la suite (Sn ) par S0 = 0 et , pour n ∈ N∗ , Sn = X1 + X2 + ⋯ + Xn .
Représenter (Sn (ω)) pour une dizaine de valeurs de ω.

Exercice 9. Longueur des première et deuxième séries , Centrale 2018, 2019

On joue indéfiniment à pile ou face avec une pièce qui fait pile avec une probabilité p. Soit donc (Xn ) une suite de va indépendantes suivant
toutes B(p). On note Y la longueur de la première série de 0 ou de 1 consécutifs, et z la longueur de la deuxième série.
Par exemple, si (Xn )n∈N = (1, 1, 1, 1, 0, 0, 0, 1, 1, 0, ...) on a Y = 4 et Z = 3.
Vu que p ∈]0, 1[, Y est presque sûrement finie et Z est donc bien définie, elle-même à valeurs dans N∗ (presque sûrement).

a) Écrire un programme permettant d’évaluer E(Y ) et E(Z).

b) Déterminer la loi de (X, Y ). En déduire la loi de Y . Calculer E(Y ) et vérifier que E(Y ) ⩾ 2.

c) Montrer que E(Z) = 2 (et ne dépend donc pas de p... )

PC*2 2022-2023 – 10 – Lycée du Parc


VI. Polynômes
La première chose à faire (après avoir créé et sauvegardé le fichier bien sûr !) est

from numpy . p o l y n o m i a l import P o l y n o m i a l

• P=Polynomial([-3,2,0,1]) : P est le polynôme X 3 + 2X − 3


Il pourra être utile de définir une fois pour toutes le polynôme constant égal à 1 et le polynôme X par :

Un=P o l y n o m i a l ( [ 1 ] )
X=P o l y n o m i a l ( [ 0 , 1 ] )

• [Link] renvoie les coefficients de P , ici array([-3,2,0,1])


• Pour avoir le degré et les racines complexes : [Link]() et [Link]()
• pour dériver, primitiver,et toute autre question, voir la notice de Centrale.
• Pour visualiser les racines complexes d’un polynôme :

P=P o l y n o m i a l ( [ − 1 , 0 , 0 , 0 , 0 , 1 ] )
L = P. roots ()
X = [ z . r e a l f o r z in L ]
Y = [ z . imag f o r z in L ]
plt . axis ([ −1.5 ,1.5 , −1.5 ,1.5])
p l t . p l o t (X, Y, " o " )
p l t . show ( )

Exercice 10. Centrale 2017


2
Soit E = R4 [X]. Pour tout P et Q ∈ E, notons Φ(P, Q) = ∫ P (t) Q(t)dt.
−2

a) Montrer que Φ est un produit scalaire et l’implémenter.

b) Montrer que les sous-espaces des polynômes pairs et impairs sont supplémentaires orthogonaux dans E.

c) Déterminer une base orthonormale de E.

d) Pour P ∈ E, on pose f (P ) = 2XP ′ + (X 2 − 4)P ′′ . Montrer que f est un endomorphisme symétrique de E. Déterminer la matrice de
f dans la base canonique de E et en déduire les valeurs propres de f . Donner une base de vecteurs propres de f .

PC*2 2022-2023 – 11 – Lycée du Parc


VII. Quelques exercices posés à l’oral de Centrale

Exercice 11. Centrale 21


⎛0 1 0 ⋯ 0⎞ ⎛0 1 0 ⋯ 0⎞ ⎛0 ⋯ ⋯ ⋯ 0⎞
⎜n 0 2 ⋱ ⋮⎟ ⎜⋮ ⋱ 2 ⋱ ⋮⎟ ⎜n 0 ⋮⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
Soient les matrices de Mn+1 (R) : Mn = ⎜
⎜0 ⋱ ⋱ ⋱ 0 ⎟ , An = ⎜

⎜⋮ ⋱ ⋱ 0 ⎟ , Bn = ⎜

⎜0 ⋱ ⋱ ⋮⎟

⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜⋮ ⋱ ⋱ n⎟ ⎜⋮ ⋱ n⎟ ⎜⋮ ⋱ ⋱ ⋮⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝0 ⋯ 0 1 0 ⎠ ⎝0 ⋯ ⋯ ⋯ 0 ⎠ ⎝0 ⋯ 0 1 0⎠
a) Créer une fonction Python M (n) qui renvoie Mn .
b) Utiliser Python pour trouver les valeurs propres de Mi avec 2 ≤ i ≤ 4. Conjecturer celles de Mn .
On note g et f les endomorphismes de Rn [X] canoniquement associés respectivement à Bn et Mn .
c) Calculer g(P ) pour P ∈ Rn [X].
β
d) Trouver des réels α et β tels que : ∀t ∈ R ∖ {−1, 1}, nt−λ
t2 −1
= α
.
1−t
1+t
+
e) Résoudre, sur ] − 1, 1[, l’équation différentielle : (nt − λ)y(t) + (1 − t2 )y ′ (t) = 0.
f) Donner une base de vecteurs propres de f .
g) Trouver une matrice Un , à coefficients entiers, inversible, telle que Un−1 Mn Un soit diagonale.
h) Programmer la matrice Un et vérifier le résultat de la question précédente avec Python.

Exercice 12. Centrale 18


n n n 1/(n+1) √
On pose, pour n ∈ N, un = [( ) × ( ) × ⋯ × ( )] . On pose, pour n ∈ N∗ , vn = n un .
0 1 n
a) Écrire un programme renvoyant un .
b) Vérifier numériquement que (vn ) converge.
n n n n n
c) Montrer que ∏ p! = ∏ pn+1−p . En déduire ∏ ( ) = ∏ p2p−n−1 .
p=0 p=1 p=0 p p=1
d) Déterminer la limite de (vn ).

Exercice 13. Centrale 2018


On définit les fonctions f et g, sous condition de convergence, par :
1 tx−1 +∞ tx−1
f ∶x↦∫ dt , g∶x↦∫ dt
0 1+t 0 1+t
a) Déterminer les ensembles de définition de ces deux fonctions et tracer leurs courbes représentatives.
+∞ (−1)k
b) i) Montrer que pour tout x > 0, on a : f (x) = ∑
k=0 x+k
ii) En déduire une procédure de calcul d’une valeur de f (x) à ε près.
La fonction aura comme paramètres x et ε. On pourra utiliser l’instruction int(np.f loor(y)) qui donne la partie entière de y.
Tester cette fonction pour quelques valeurs de votre choix. Que donne cette fonction pour x = 1/2 et ε = 10−4 ? Quelle est la
valeur exacte ? Justifier la réponse.
c) Trouver une relation simple entre f (x), f (x) et f (1 − x) pour x ∈]0, 1[. Vérifier cette relation graphiquement.
d) Montrer que f et g sont de classe C 1 sur leurs ensembles de définition. En déduire les variations de ces fonctions.

Exercice 14. Centrale 18,21


Pour n ∈ N, on pose Cn = (2n
n
) et Hn = (Ci+j−2 )1 ⩽ i,j ⩽ n+1 ∈ Mn+1 (R).

a) Montrer que, pour tout n ∈ N, la matrice Hn est diagonalisable.


b) Pour n ∈ {1, 2, 3}, calculer le déterminant de Hn et vérifier que les valeurs propres de Hn sont strictement positives.
c) Écrire un programme permettant d’étudier Hn .
d) Soit A ∈ Mn+1 (R). Montrer que A est symétrique à valeurs propres strictement positives si et seulement s’il existe P ∈ GLn+1 (R)
telle que A = P ⊺ P .
e) Pour q ∈ N, on pose Pq = (X + 1)2q . Exprimer le coefficient de X i+j dans Pi Pj en fonction de Ci+j .
f) Démontrer le résultat général attendu.

Exercice 15. Centrale 21


Soit n ∈ N∗ . On pose En = Rn [X].

PC*2 2022-2023 – 12 – Lycée du Parc


a) On pose ϕn (P ) = 4XP ′ − P ′′ pour tout P ∈ En . Montrer que ϕn est un endomorphisme de En et déterminer sa matrice An dans la
base canonique.
b) Montrer que ϕn est diagonalisable. Montrer que ϕn possède un unique vecteur propre Sn qui est unitaire de degré n et indiquer la
valeur propre associée.
c) Écrire des fonctions A(n) et S(n) donnant An et Sn .
On définit la suite (Hn ) de R[X] par : H0 = 1, H1 = X et, pour n ≥ 2, Hn = XHn−1 − n−1
4
Hn−2 .
Un code H(n) donnant Hn est fourni.
d) Tracer Hn et Sn sur [−2, 2] pour 1 ≤ n ≤ 6. Que peut-on conjecturer ?
e) Conjecturer le nombre de racines réelles de Sn .
′ ). Prouver les conjectures des questions d) et e)
f) Calculer ϕn−1 (Sn

Exercice 16. Centrale 18


1 dt 1/2 dt
On pose, pour n ∈ N, In = ∫ √ , Jn = ∫ √ .
0 (1 + t)n 1 − t 0 (1 + t)n 1 − t
a) Montrer que (In ) et (Jn ) sont bien définies.
b) Représenter (In )0 ⩽ n ⩽ 50 .
c) Montrer que (In ) est monotone et convergente. Déterminer sa limite.
d) Conjecturer α tel que (nα In ) converge vers une limite non nulle.
e) Montrer que, pour ce α, nα (In − Jn ) → 0.
x
f) Pour x ⩾ 0, montrer que ln(1 + x) ⩾ .
1+x
g) En déduire un équivalent de In .

Exercice 17. Centrale 18


tα e−tx
+∞
2

Soient α ∈ R et fα ∶ x ↦ ∫ dt.
0 1 + t2
a) Déterminer l’ensemble A des valeurs de α pour lesquelles fα est définie sur R.
b) Tracer sur l’intervalle J les graphes de fα pour une dizaine de valeurs de α dans les cas suivants :
(i) J = [−10, 10] et α ∈ A ; (ii) J = [−1, 1] et α ∈ A ∩ R+ ; (iii) J = [−1, 1] et α ∈ A ∩ R− .
Conjecturer la limite en +∞ de fα , la continuité, la dérivabilité de fα en 0.
c) Comparer fα (0) et f−α (0). En utilisant fα + f−α , montrer que fα (0) ⩾ π/2.
d) Soit α ∈ A. Montrer que fα est continue sur R et de classe C 1 sur R∗ . Déterminer la limite de fα en +∞.
e) Simplifier f1/2 (x) − f1/2 (0) en posant u = tx2 . L’application f1/2 est-elle dérivable en 0 ?

Exercice 18. Problème du collectionneur, Centrale 18


Soit r ∈ N∗ . Soient (Ω, T , P) un espace probabilisé, (Xk )k ⩾ 1 une suite de variables aléatoires mutuellement indépendantes suivant une loi
r−i+1
uniforme sur {1, . . . r}, Z1 , . . . , Zr des variables aléatoires indépendantes telles que Zi suive la loi géométrique de paramètre .
r
On pose Sr = Z1 + ⋯ + Zr et Tr = inf {n ∈ N∗ , Card{X1 , . . . , Xn } = r}.
r 1
a) Exprimer E(Sr ) et V (Sr ) en fonction de Hr = ∑ .
k=1 k
b) Représenter graphiquement (Hr / ln r) pour r ∈ {2, . . . , 50}. Conjecture ? La démontrer.
c) Comparer sur des simulations les lois de Sr et Tr . Conjecture ? La démontrer.

Exercice 19. Somme d’un nombre aléatoire de variables aléatoires, Centrale 18


Soient (Xk )k une suite de variables aléatoires réelles discrètes suivant la même loi et mutuellement indépendantes et N une variable
N
aléatoire à valeurs dans N indépendante des précédentes. On pose Y = ∑ Xk .
k=1

a) i) Définir une fonction permettant de calculer Y pour X1 ↪ B(50, 1


50
) et N ↪ P( 12
1
).
ii) Réaliser dix fois de suite une série de 1000 expériences et donner la moyenne et l’écart-type de Y .
b) On se replace dans le cas général. Exprimer GY en fonction de GX1 et GN . En déduire E(Y ).
Déterminer E(Y ) pour N ↪ P(m) et X1 ↪ B(n, p).
c) Dans une entreprise de 50 employés, soit Y la variable aléatoire indiquant le nombre de blessés dans une période τ , N indiquant le
nombre d’accidents dans cette période et X1 le nombre de blessés par accident. On suppose que X1 ↪ B(50, 50 1
) et N ↪ P( 12
1
).

i) Quel est le nombre moyens de blessés durant la période τ ?


ii) Quelle est la probabilité qu’il ait au moins un blessé ?
iii) Déterminer la variance de Y .

PC*2 2022-2023 – 13 – Lycée du Parc


VIII. Indications et éléments de réponse
Exercice 1 :
def u ( n ) :
x , y=1 ,1
f o r k in r a n g e ( 1 , n +1):
x , y=y , y+x/k
return x
X=[n f o r n in r a n g e ( 1 , 1 0 0 ) ]
Y=[ u ( n+1)/u ( n ) f o r n in X]
plt . grid ()
p l t . p l o t (X,Y)
p l t . show ( ) # u ( n+1)/u ( n ) s e m b l e t e n d r e v e r s 1
un+1 1 1
Posons δn = − 1. On a facilement 0 ⩽ δn = ⩽ et on conclut par th de convergence par encadrement.
un n(δn−1 + 1) n
un+1 1
On peut aussi poser xn = , de sorte que pour tout n ∈ N∗ , xn = 1 + .
un nxn−1
1
Il vient xn ⩾ 1, puis 1 ⩽ xn ⩽ 1 + pour tout n ∈ N∗ et on conclut par encadrement.
n

Exercice 2 :

def M( n ) :
A=np . z e r o s ( ( n+1 ,n+1))
f o r i in r a n g e ( n +1):
f o r j in r a n g e ( n +1):
i f j==i +1: A[ i , j ]= j
e l i f i==j +1: A[ i , j ]=n+1− i
return A

Exercice 3 :

def t e n s o r i e l (A, B ) :
L0=np . c o n c a t e n a t e ( (A[ 0 , 0 ] ∗ B,A[ 0 , 1 ] ∗ B) , a x i s =1)
L1=np . c o n c a t e n a t e ( (A[ 1 , 0 ] ∗ B,A[ 1 , 1 ] ∗ B) , a x i s =1)
return np . c o n c a t e n a t e ( ( L0 , L1 ) , a x i s =0)

Exercice 4 :

def M( n ) :
A=np . z e r o s ( ( n , n ) )
f o r i in r a n g e ( n ) :
f o r j in r a n g e ( n ) :
i f i != j : A[ i , j ]= j +1
return A
f o r k in r a n g e ( 2 , 1 0 ) :
print ( a l g . e i g v a l s (A( k ) ) )

d) On montre que An a n valeurs propres distinctes.

Exercice 5 :
a) fn ∶ x ↦ n(x + x3 ) est continue et strictement croissante sur R, vaut 0 en 0 et 2n > 1 en x = 1, donc elle s’annule une et une seule fois
sur R et ce zéro est dans [0, 1].

PC*2 2022-2023 – 14 – Lycée du Parc


b) On définit une fonction x qui prend n en entrée et retourne xn .

def x ( n ) :
def f ( t ) :
return n ∗ ( t+t ∗∗3) −1
return r e s o l . f s o l v e ( f , 0 )
N=[n f o r n in r a n g e ( 1 , 3 1 ) ]
X=[x ( n ) f o r n in r a n g e ( 1 , 3 1 ) ]
p l t . p l o t (N,X)
p l t . show ( )

La suite (xn ) semble tendre vers 0, ce que l’on prouve en utilisant la méthode habituelle ou bien en remarquant que fn (1/n) ⩾ 1
donc 0 ⩽ xn ⩽ 1/n.

c) On calcule nxn pour quelques valeurs de n :

>>>[n∗x ( n ) [ 0 ] f o r n in r a n g e ( 2 0 , 3 0 ) ]
[0.9975185646221213 , 0.9977477134978423 , 0.9979465859530401 , 0.9981202808394914 , 0.998272868836279

Il semble que nxn → 1, donc que a = 1.

On déterminer b en calculant n2 (xn − a/n) pour de grandes valeurs de n

>>> [ n ∗ ∗ 2 ∗ ( x ( n ) [ 0 ] − 1 / n ) f o r n in r a n g e ( 4 0 , 5 0 ) ]
[ −0.02495324185284309 , −0.024346819100153898 , −0.02376912300366442 , −0.02321816285295746 , −0.02269

Donc b est vraisemblablement nul. On détermine ensuite c en calculant n3 (xn − a/n − b/n2 ) pour de grandes valeurs de n

>>> [ n ∗ ∗ 3 ∗ ( x ( n ) [ 0 ] − 1 / n ) f o r n in r a n g e ( 4 0 , 5 0 ) ]
# [ − 0 . 9 9 8 1 2 9 6 7 4 1 1 3 7 2 3 6 , −0.9982195831063098 , −0.9983031661539056 , −0.9983810026771707 , −0.99845360

1 1 1
d) xn = − + o( 3 )
n n3 n

Exercice 6 :
On commence par définir la fonction g :

def g ( x ) :
def h ( t ) :
return t ∗ ∗ ( x −1)/(1+ t )
return i n t e g r . quad ( h , 0 , np . i n f ) [ 0 ]

Autre manière possible de définir g :

def g ( x ) :
return i n t e g r . quad (lambda t : t ∗ ∗ ( x −1)/(1+ t ) , 0 , np . i n f ) [ 0 ]

X=np . l i n s p a c e ( 0 . 0 1 , 0 . 9 9 , 1 0 0 )
Y=[ g ( x ) f o r x in X]
p l t . p l o t (X,Y)
plt . grid ()
p l t . show ( )

On prouve que g(x) = g(1 − x) avec le changement de variable u = 1/t

Exercice 7 :

def B( n , x ) :
s=1

PC*2 2022-2023 – 15 – Lycée du Parc


u=1
f o r k in r a n g e ( 1 , n +1):
u=−x ∗∗2∗ u / ( 4 ∗ k ∗ ∗ 2 )
s=s+u
return s
T=np . l i n s p a c e ( 0 . 0 1 , 2 0 , 1 0 0 )
Y=[B( 1 0 0 , t ) f o r t in T ]
p l t . p l o t (T,Y)
def J ( x ) :
return 1/ np . p i ∗ i n t e g r . quad (lambda t : np . c o s ( x∗np . s i n ( t ) ) , 0 , np . p i ) [ 0 ]
l e s _ z =[J ( x ) f o r x in T ]
p l t . p l o t (T, l e s _ z )
p l t . show ( )

Exercice 8 :
def marche ( n ) :
s =[0]∗n
f o r i in r a n g e ( 1 , n ) :
s [ i ]= s [ i −1]+2∗ rd . r a n d i n t ( 0 , 2 ) − 1
return ( s )
f o r i in r a n g e ( 1 0 ) :
S=marche ( 3 0 0 0 )
N=[n f o r n in r a n g e ( 3 0 0 0 ) ]
p l t . p l o t (N, S , l i n e w i d t h =0.5)
plt . grid ()
p l t . show ( )

Exercice 9 :

def bern ( p ) :#on d é f i n i t l a l o i de B e r n o u l l i


return rd . b i n o m i a l ( 1 , p )
def YZ( p ) : #c a l c u l e Y e t Z
x=bern ( p ) ; y=1
while x==bern ( p ) :
y=y+1
z=1
while x==1−bern ( p ) :
z=z+1
return [ y , z ]
def e s p e r a n c e s ( p ,N ) :
SommeY=0 ; SommeZ=0
f o r i in r a n g e (N ) :
SommeY=SommeY+YZ( p ) [ 0 ]
SommeZ=SommeZ+YZ( p ) [ 1 ]
return [ SommeY/N, SommeZ/N]
# >>> e s p e r a n c e s ( 0 . 5 , 1 0 0 0 ) # >>> e s p e r a n c e s ( 0 . 1 , 1 0 0 0 )
# [2.079 , 2.005] # [8.793 , 1.968]

PC*2 2022-2023 – 16 – Lycée du Parc


Exercice 10 :
a)
from numpy import ∗
from numpy . p o l y n o m i a l import P o l y n o m i a l
import s c i p y . i n t e g r a t e a s i n t e g r
def Phi (P ,Q) :
def f ( t ) :
return P( t ) ∗Q( t )
return i n t e g r . quad ( f , − 2 , 2 ) [ 0 ]
def Norme (P ) :
return s q r t ( Phi (P , P ) )
Un=P o l y n o m i a l ( [ 1 ] ) #on d é f i n i t l e s polynômes 1 e t X
X=P o l y n o m i a l ( [ 0 , 1 ] )

b) observer qu’une fonction impaire a une intégrale nulle sur [−2, 2].

c) On code l’algorithme de Gram-Schmidt (L est une liste de polynômes, BON stocke son orthonormalisée pour le produit scalaire Φ.)

def o r t h o n o r m a l i s e (L ) :
BON=[L [ 0 ] / Norme (L [ 0 ] ) ]
f o r i in r a n g e ( 1 , l e n (L ) ) :
s=L [ i ]
f o r j in r a n g e ( i ) :
s=s −Phi (L [ i ] ,BON[ j ] ) ∗BON[ j ] / Norme (BON[ j ] ) ∗ ∗ 2
BON. append ( s /Norme ( s ) )
return BON
BON=o r t h o n o r m a l i s e ( [ Un , X,X∗ ∗ 2 ,X∗ ∗ 3 ,X∗ ∗ 4 ] )
f o r k in r a n g e ( 5 ) :
print (BON[ k ] . c o e f )
#on v é r i f i e que l a b a s e o b t e n u e e s t b i e n orthonormée :
ps=a r r a y ( [ [ Phi (BON[ i ] ,BON[ j ] ) f o r j in r a n g e ( 4 ) ] f o r i in r a n g e ( 4 ) ] )

d) La matrice de f dans la base (X k )0 ⩽ k ⩽ 4 est triangulaire supérieure, donc son spectre se lit sur sa diagonale. Pour montrer que f
est symétrique, le plus simple est d’observer que la matrice de f dans BON est symétrique (elle est diagonale !)

def f (P ) :
return 2∗X∗P . d e r i v ()+(X∗∗2 −4)∗P . d e r i v ( 2 )
f o r k in r a n g e ( 5 ) :
print ( f (BON[ k ] ) . c o e f , " e t " , ( f (BON[ k ] ) / /BON[ k ] ) . c o e f )

Exercice 11 :
a) b)
import numpy a s np
import numpy . l i n a l g a s a l g
def M( n ) :
A=np . z e r o s ( ( n+1 ,n+1))
f o r i in r a n g e ( n +1):
f o r j in r a n g e ( n +1):
i f j==i +1: A[ i , j ]= j
e l i f i==j +1: A[ i , j ]=n+1− i
return A

PC*2 2022-2023 – 17 – Lycée du Parc


f o r n in r a n g e ( 2 , 5 ) :
print (M( n ) , a l g . e i g v a l s (M( n ) ) )

On conjecture que Mn a n + 1 valeurs propres distinctes, les n − 2k, avec k dans J0, nK. ; en particulier Mn est DZ

c) g(P ) = nXP − X 2 P ′ et f (P ) = g(P ) + P ′ .

f) Pour k ∈ J0, nK, (X − 1)k (X + 1)n−k est un vecteur propre de f , associé à la valeur propre n − 2k

g) Prendre pour Un la matrice de passage de la base canonique de Rn [X] à la base ((X − 1)k (X + 1)n−k )0 ⩽ k ⩽ n

h)
from numpy . p o l y n o m i a l import P o l y n o m i a l
P=P o l y n o m i a l ( [ − 1 , 1 ] )
Q=P o l y n o m i a l ( [ 1 , 1 ] )
def U( n ) :
return np . t r a n s p o s e ( np . a r r a y ( [ ( P∗∗ k∗Q∗ ∗ ( n−k ) ) . c o e f f o r k in r a n g e ( n + 1 ) ] ) )
f o r n in r a n g e ( 2 , 5 ) :
print ( a l g . i n v (U( n ) ) . dot (M( n ) ) . dot (U( n ) ) )

Exercice 12 :
n n n(n − 1)⋯(n − k + 1) k−1 n − i
On commence par définir une fonction qui calcule ( ) via la formule ( ) = =∏
k k k! i=0 k − i

def b i n o m i a l ( n , k ) :
x=1
for i in r a n g e ( k ) :
x=x ∗ ( n− i ) / ( k − i )
return x

Cette fonction retourne un flottant ; si on veut un résultat entier, écrire return int(x) à la dernière ligne ou x=(x*(n-i))//(k-i) (division
dans N) dans l’avant- dernière.

def V( n ) :
p=1
for k in r a n g e ( n ) :
p=p ∗ b i n o m i a l ( n , k )
return p ∗ ∗ ( 1 / ( n ∗ ( n + 1 ) ) )

Attention : quand on essaie de calculer V (n) pour n > 30, on obtient un message d’erreur car les calculs intermédiaires portent sur des
flottants trop grands. On peut réparer cela :

def V2 ( n ) :
p=1
for k in r a n g e ( n ) :
p=p ∗ b i n o m i a l ( n , k ) ∗ ∗ ( 1 / ( n ∗ ( n + 1 ) ) )
return p

n n−k n
On aurait pu se montrer plus astucieux en remarquant que ( )= ( ).
k+1 k+1 k

def VV( n ) :
p = 1 ; c = 1
for k in r a n g e ( n ) :
c =(n−k ) / ( k + 1 ) ∗ ∗ ( 1 / ( n ∗ ( n +1))∗ c
p = p ∗ c
return p

PC*2 2022-2023 – 18 – Lycée du Parc



On montre que vn ÐÐÐ→ e
n→∞

Exercice 13 : .
import m a t p l o t l i b . p y p l o t a s p l t
import numpy a s np def F( x , e p s ) :
import s c i p y . i n t e g r a t e a s i n t e g r N=i n t ( np . f l o o r ( 1 / e p s ))+1
def f ( x ) : s=0
def h ( t ) : f o r k in r a n g e (N ) :
return t ∗ ∗ ( x −1)/(1+ t ) s +=(−1)∗∗k / ( x+k )
return i n t e g r . quad ( h , 0 , 1 ) [ 0 ] return ( s )
def g ( x ) :
def h ( t ) : # In [ 1 ] : F( 1 / 2 , 1 0 ∗ ∗ ( − 4 ) )
return t ∗ ∗ ( x −1)/(1+ t ) # Out [ 1 ] : 1.5708463217952673
return i n t e g r . quad ( h , 0 , np . i n f ) [ 0 ] #
X=np . l i n s p a c e ( 0 . 0 1 , 2 , 1 0 0 ) # In [ 2 ] : f ( 1 / 2 )
Y=[ f ( x ) f o r x in X] # Out [ 2 ] : 1.5707963267949292
p l t . p l o t (X,Y)
p l t . show ( ) X=np . l i n s p a c e ( 0 . 0 1 , 0 . 9 9 , 1 0 0 )
X=np . l i n s p a c e ( 0 . 0 1 , 0 . 9 , 1 0 0 ) Y=[ f ( x)+ f (1 − x ) f o r x in X]
Y=[ g ( x ) f o r x in X] p l t . p l o t (X,Y)
p l t . p l o t (X,Y) p l t . show ( )
p l t . show ( )

On montre que f (x) + f (1 − x) = g(x) avec le changement de variable u = 1/t.

Exercice 14 :
n n n(n − 1)⋯(n − k + 1) k−1 n − i
On commence par définir une fonction qui calcule ( ) via la formule ( ) = =∏
k k k! i=0 k − i

def b i n o m i a l ( n , k ) :
x=1
f o r i in r a n g e ( k ) :
x=x ∗ ( n− i ) / ( k− i )
return x

Cette fonction retourne un flottant ; si on veut un résultat entier, écrire return int(x) à la dernière ligne.
On peut aussi faire : from [Link] import binom

def H( n ) :
A=np . z e r o s ( ( n+1 ,n+1))
f o r i in r a n g e ( n +1):
f o r j in r a n g e ( n +1):
A[ i , j ]= b i n o m i a l ( 2 ∗ ( i+j ) , i+j )
return A
f o r k in r a n g e ( 2 , 1 0 ) :
print ( a l g . d e t (H( k ) ) , a l g . e i g v a l s (H( k ) ) )

Exercice 15 :
An est triangulaire supérieure et ses coeffcients diagonaux sont tous distincts. Ainsi An possède n + 1 valeurs proprees distinctes (les
4k, 0 ⩽ k ⩽ n) donc est diagonalisable et ses espaces propres sont des droites.

PC*2 2022-2023 – 19 – Lycée du Parc


def Phi (P ) :
return 4∗ P o l y n o m i a l ( [ 0 , 1 ] ) ∗ P . d e r i v () −P . d e r i v ( 2 )

X=P o l y n o m i a l ( [ 0 , 1 ] )

def A( n ) :
A=np . z e r o s ( ( n+1 ,n+1))
f o r j in r a n g e ( n +1):
r=l e n ( ( Phi (X∗∗ j ) ) . c o e f )
f o r i in r a n g e ( r ) :
A[ i , j ]=( Phi (X∗∗ j ) ) . c o e f [ i ]
return A

def S ( n ) :
D, P=a l g . e i g (A( n ) )
return P o l y n o m i a l (P [ : , n ] ) / P [ n , n ]

f o r n in r a n g e ( 2 , 5 ) :
print ( S ( n ) , Phi ( S ( n ) ) / ( 4 ∗ n ) )

Un code donnant Hn est par exemple :

def H( n ) :
i f n==0: return P o l y n o m i a l ( [ 1 ] )
e l i f n==1: return P o l y n o m i a l ( [ 0 , 1 ] )
e l s e : return X∗H( n −1) −(n −1)/4∗H( n −2)

On dessine les graphes de Sn et Hn pour de petites valeurs de n :

l e s x=np . l i n s p a c e ( − 2 , 2 , 1 0 0 )
l e s y =[S ( 5 ) ( x ) f o r x in l e s x ]
l e s z =[H( 5 ) ( x ) f o r x in l e s x ]
plt . axis ([ −2 ,2 , −3 ,3])
plt . grid ()
plt . plot ( lesx , lesy )
plt . plot ( lesx , l e s z )
p l t . show ( )

Tout porte à croire que Hn = Sn pour tout n et que Sn admet n racines réelles distinctes.
′ ) = 4(n − 1)S ′ et que donc S ′ n = nS
Pour prouver cela, commencer par observer que ϕn−1 (Sn n n−1 .

Exercice 16 :

def I ( n ) :
def g ( t ) :
return 1/(1+ t ) ∗ ∗ n/np . s q r t (1 − t )
L=i n t e g r . quad ( g , 0 , 1 )
return L [ 0 ]
print ( [ np . l o g ( I ( n ) ) / np . l o g ( n ) f o r n in r a n g e ( 2 5 , 5 0 ) ] )

Exercice 17 :
Le code ci-dessous permet de tracer les graphes des fα sur [−1, 1] pour α ∈ {−0.8, −0.6, −0.4, −0.2, 0, 0.2, 0.4, 0.6, 0.8}.

PC*2 2022-2023 – 20 – Lycée du Parc


import numpy a s np
import s c i p y . i n t e g r a t e a s i n t e g r
import m a t p l o t l i b . p y p l o t a s p l t
def f ( x , a ) :
def h ( t ) :
return t ∗∗ a /(1+ t ∗ ∗ 2 ) ∗ np . exp ( − t ∗x ∗ ∗ 2 )
return i n t e g r . quad ( h , 0 , np . i n f ) [ 0 ]
f o r a in r a n g e ( 1 , 1 0 ) :
X=np . l i n s p a c e ( − 1 , 1 , 1 0 0 )
Y=[ f ( x,−1+a / 5 ) f o r x in X]
p l t . p l o t (X,Y)
plt . grid ()
p l t . show ( )

Exercice 18 :

import numpy . random a s rd


def H( n ) :
somme=0
f o r k in r a n g e ( 1 , n +1):
somme=somme+1/k
return somme

def simulT ( r ) :
v a l e u r s _ d i f f = [ ] #s t o c k e l a l i s t e des v a l e u r s d i f f é r e n t e s déjà obtenues
n b _ d i f f=0 # nombre de v a l e u r s d i f f é r e n t e s d é j à o b t e n u e s
n b _ e s s a i s=0 # nombre d ’ e s s a i s

while n b _ d i f f <r :
n b _ e s s a i s=n b _ e s s a i s+1
v=rd . r a n d i n t ( 1 , r +1) #on t e n t e une n o u v e l l e v a l e u r
i f v not in v a l e u r s _ d i f f : # v e s t une n o u v e l l e v a l e u r
v a l e u r s _ d i f f . append ( v )
n b _ d i f f=n b _ d i f f+1
return n b _ e s s a i s
def S ( r ) :
s=0
f o r i in r a n g e ( 1 , r +1):
s=s+rd . g e o m e t r i c ( ( r − i +1)/ r )
return s

f o r k in r a n g e ( 2 0 ) :
print ( simulT ( 1 0 ) , S ( 1 0 ) ) #on e s s a i e de comparer l e s l o i s de S e t T

def EspT ( r ,N ) :#moyenne de T s u r N e s s a i s


s=0
f o r i in r a n g e (N ) :
s=s+simulT ( r )

PC*2 2022-2023 – 21 – Lycée du Parc


return s /N

def EspS ( r ,N ) :#moyenne de S s u r N e s s a i s


s=0
f o r i in r a n g e (N ) :
s=s+S ( r )
return s /N

>>> EspT ( 1 0 0 , 1 0 ∗ ∗ 4 ) , EspS ( 1 0 0 , 1 0 ∗ ∗ 4 ) , 1 0 0 ∗H( 1 0 0 )


(517.2425 , 518.3053 , 518.737751763962)

On cherche à compléter un album Panini qui contient r images. Lorsqu’on achète une boite de céréales, on obtient une image (les images

sont réparties aléatoirement et uniformément dans les boites de céréales). Tr donne le nombre de boites de céréales qu’il faut acheter pour

obtenir la collection complète. Pour compléter un album Panini qui contient 100 images, il faut acheter en moyenne 518 images.

Exercice 19 :

def Y ( ) :
n = rd . p o i s s o n ( 1 / 1 2 )
i f n == 0 :
return ( 0 )
else :
s = 0
f o r i in r a n g e ( n ) :
s=s+rd . b i n o m i a l ( 5 0 , 1 / 5 0 )
return ( s )

On approche l’espérance par la moyenne et l’écart-type par la racine carrée de la moyenne des carres moins le carre de la moyenne.

f o r i in r a n g e ( 1 0 ) :
m1 = 0
m2 = 0
f o r k in r a n g e ( 1 0 0 0 ) :
y = Y( )
m1 += y
m2 += y ∗∗2
Esp=m1/1000
E c a r t=np . s q r t (m2/1000 − (m1/ 1 0 0 0 ) ∗ ∗ 2 )
print ( [ Esp , E c a r t ] )

b) On obtient (question classique) GY = GN ○ GX . D’où E(Y ) = E(N )E(X) = mnp.

c) ii) On calcule la probabilité de l’évènement contraire : P (Y = 0) = GY (0) = GN (GX (0)) ≈ 0.95.

c) iii) Expliciter GY et utiliser V (Y ) = G′′Y (1) + G′Y (1) − G′Y (1)2

PC*2 2022-2023 – 22 – Lycée du Parc

Vous aimerez peut-être aussi