Aller au contenu
Télécharger l'application

Accueil › ECG › Maths approfondies

ECG2 · Maths approfondies · semaine 30

Travaux pratiques, fonctions de plusieurs variables

Graphe d'une fonction de deux variables, lignes de niveau, plan affine tangent, dérivées partielles et directionnelles, représentation du gradient. Position du graphe par rapport au plan tangent, lien avec les valeurs propres de la matrice hessienne et points selles. Étude d'extrema locaux et globaux et extrema sous contrainte linéaire, durée indicative de 3 heures.

Sommaire

Le cours

Résumé en cinq points

  1. Tout tracé à deux variables suit le même schéma :

    • np.linspace pour chaque variable ;
    • np.meshgrid pour la grille ;
    • une expression vectorisée pour les valeurs.
  2. Les commandes de tracé sont :

    • ax.plot_surface pour la surface ;
    • plt.contour pour les lignes de niveau ;
    • plt.quiver pour le champ de gradients.

    Superposer les deux derniers montre l’orthogonalité du gradient aux lignes de niveau.

  3. Les dérivées partielles et directionnelles s’approchent par un taux d’accroissement centré, à comparer toujours au calcul exact.

  4. Le plan tangent se trace comme une seconde surface. Sous les hypothèses du cours, la position du graphe par rapport à lui est gouvernée par le signe des valeurs propres de la hessienne, obtenues avec al.eig.

  5. Pour rechercher un extremum :

    • on peut effectuer un balayage sur une grille avec np.min et np.max, méthode approchée dont il faut savoir énoncer les limites ;
    • un problème sous contrainte linéaire se ramène à une fonction d’une variable par paramétrage.
Pourquoi ce chapitre

Le cours sur les fonctions de deux variables manipule des objets qu’on ne voit pas :

  • une surface dans l’espace ;
  • un plan tangent ;
  • un point selle ;
  • un gradient orthogonal à une ligne de niveau.

Ce thème rend ces objets visibles.

Il donne un contenu concret à trois énoncés du cours :

  • Le développement limité d’ordre 11 dit que la surface est proche de son plan tangent : on le voit en traçant les deux.
  • Le signe des valeurs propres de la hessienne décide de la position de la surface par rapport à ce plan : on le voit en changeant de point.
  • Une ligne de niveau et un gradient sont orthogonaux : on le voit en superposant les deux tracés.

Le programme demande enfin de programmer des fonctions variées pour faire apparaître les extrema :

  • locaux ;
  • globaux ;
  • avec ou sans contrainte ;
  • sur des exemples issus de l’économie ou de la finance.

Fin de l'aperçu gratuit

Encore 13 parties de cours et 9 corrigés.

Essayer 7 jours gratuitement Sans engagement · cours, exercices et fiches complets

Méthodes et exercices

Exercices classiques corrigés

Rangés par thème, du plus simple au plus exigeant. Difficulté et durée indicatives.

Lignes de niveau et gradient 2

Exercice 4. Gradient et hyperboles ★

Application du cours · 15 min · Niveau khôlle

Superposer les lignes de niveau de f(x, y) = xy et son champ de gradients. Justifier l'orthogonalité observée.

Voir l'indice

Technique paramétrer une ligne de niveau.

Voir le corrigé offert
  1. plt.contour(X, Y, X*Y), puis plt.quiver(Xg, Yg, Yg, Xg) sur une grille grossière, car ∇f(x,y)=(y,x)\nabla f(x, y) = (y, x). On ajoute plt.axis('equal'), syntaxe rappelée, sinon les angles droits paraissent déformés.
  2. Pour k≠0k \neq 0, la ligne xy=kxy = k est paramétrée par t↦(t,k/t)t \mapsto (t, k/t), de vecteur tangent (1,−k/t2)(1, -k/t^2).
  3. Au point (t,k/t)(t, k/t), ⟨(k/t,t),(1,−k/t2)⟩=k/t−k/t=0.\langle(k/t, t), (1, -k/t^2)\rangle = k/t - k/t = 0.
  4. Les flèches pointent vers les niveaux croissants. En l'origine, le gradient est nul et la ligne de niveau 00, formée des deux axes, se croise en X : c'est le point selle.

piège : Conclure sur des angles lus dans un repère non orthonormé.

Exercice 1. Une forme quadratique ★★

Classiques de khôlle et concours · 20 min · Niveau khôlle

Tracer les lignes de niveau de f(x,y)=x2+xy+y2f(x, y) = x^2 + xy + y^2 sur [−2,2]2[-2, 2]^2.

Prévoir leur forme grâce à la hessienne, puis conclure sur les extrema.

Voir le début du corrigé
  1. On écrit le programme suivant.

La suite du corrigé dans Sup et Spé+ : essai gratuit 7 jours.

Dérivées numériques et directionnelles 2

Exercice 3. La direction de plus forte pente ★

Application du cours · 15 min · Niveau khôlle

Soit f(x,y)=x2+3y2.f(x, y) = x^2 + 3y^2. Tracer la dérivée directionnelle de ff en (1,1)(1, 1) dans la direction (cos⁡θ,sin⁡θ)(\cos\theta, \sin\theta), pour θ\theta dans [0,2π][0, 2\pi].

Identifier son maximum et ses zéros.

Voir le début du corrigé
  1. theta = np.linspace(0, 2*np.pi, 400), puis D = directionnelle(f, 1, 1, np.cos(theta), np.sin(theta)), qui fonctionne sur des tableaux car f est vectorisée. …

La suite du corrigé dans Sup et Spé+ : essai gratuit 7 jours.

Exercice 2. Le choix du pas ★★

Classiques de khôlle et concours · 25 min · Niveau khôlle

Soit f(x,y)=exy.f(x, y) = e^x y. Pour h=10−1,…,10−12,h = 10^{-1}, \ldots, 10^{-12}, calculer l'erreur de la différence centrée sur ∂1f(0,1)\partial_1 f(0, 1), la tracer en échelle logarithmique et expliquer la courbe.

Corrigé détaillé dans Sup et Spé+ : essai gratuit 7 jours.

Extrema et points critiques 2

Exercice 5. Position par rapport au plan tangent ★★

Classiques de khôlle et concours · 35 min · Niveau écrit EDHEC ou emlyon

Soit f(x,y)=x3+y3−3xy.f(x, y) = x^3 + y^3 - 3xy. Déterminer les points critiques et leur nature.

Étudier la position du graphe par rapport au plan tangent en (0,0)(0, 0) puis en (2,0)(2, 0).

Voir le début du corrigé
  1. ∇f=(3x2−3y,3y2−3x)\nabla f = (3x^2 - 3y, 3y^2 - 3x) s'annule si y=x2y = x^2 et x=x4x = x^4, d'où (0,0)(0, 0) et (1,1)(1, 1).

La suite du corrigé dans Sup et Spé+ : essai gratuit 7 jours.

Exercice 10. Le piège des coupes ★★★

Approfondissement · 40 min · Niveau écrit HEC ou ESSEC, question ouverte

Soit f(x,y)=(y−x2)(y−2x2).f(x, y) = (y - x^2)(y - 2x^2). Montrer que l'origine est critique et calculer la hessienne.

Montrer que la restriction de ff à toute droite passant par l'origine y admet un minimum strict, mais que l'origine n'est pas un minimum local.

Illustrer en Python.

Voir le début du corrigé
  1. f=y2−3x2y+2x4f = y^2 - 3x^2y + 2x^4 et ∇f=(−6xy+8x3,2y−3x2)\nabla f = (-6xy + 8x^3, 2y - 3x^2) est nul en (0,0)(0, 0).

La suite du corrigé dans Sup et Spé+ : essai gratuit 7 jours.

Extrema globaux 2

Exercice 6. Balayage et effets de bord ★★

Classiques de khôlle et concours · 25 min · Niveau écrit EDHEC ou emlyon

Balayer f(x,y)=x3+y3−3xyf(x, y) = x^3 + y^3 - 3xy sur [0,2]2[0, 2]^2 puis sur [−3,3]2[-3, 3]^2.

Interpréter, puis démontrer le minimum global sur [0,2]2[0, 2]^2.

Voir le début du corrigé
  1. Sur [0,2]2[0, 2]^2, avec 201201 points par axe, on obtient environ −1-1, près de (1,1)(1, 1).

La suite du corrigé dans Sup et Spé+ : essai gratuit 7 jours.

Exercice 8. Maximum sur un triangle ★★

Classiques de khôlle et concours · 25 min · Niveau écrit ESSEC

Soit f(x,y)=xy(1−x−y)f(x, y) = xy(1 - x - y) sur T={x≥0,  y≥0,  x+y≤1}.T = \{x \geq 0, \; y \geq 0, \; x + y \leq 1\}. Trouver le maximum de ff sur TT, par le calcul et par un balayage de [0,1]2[0, 1]^2.

Voir le début du corrigé
  1. TT est fermé borné et ff continue, donc le maximum est atteint.

La suite du corrigé dans Sup et Spé+ : essai gratuit 7 jours.

Optimisation sous contrainte 2

Exercice 9. Portefeuille de variance minimale ★

Application du cours · 20 min · Type écrit HEC

Deux actifs ont pour variances σ12=0,04\sigma_1^2 = 0{,}04 et σ22=0,09,\sigma_2^2 = 0{,}09, et pour covariance c=0,012.c = 0{,}012. On investit des parts réelles w1,w2w_1, w_2 avec w1+w2=1.w_1 + w_2 = 1. Minimiser V=w12σ12+w22σ22+2w1w2c.V = w_1^2 \sigma_1^2 + w_2^2 \sigma_2^2 + 2 w_1 w_2 c.

Voir le début du corrigé
  1. VV est la variance de w1R1+w2R2w_1R_1 + w_2R_2, par bilinéarité de la covariance.

La suite du corrigé dans Sup et Spé+ : essai gratuit 7 jours.

Exercice 7. Utilité Cobb-Douglas ★★

Classiques de khôlle et concours · 25 min · D'après un écrit ESSEC

Soit aa dans ]0,1[]0, 1[ et p,q,R>0p, q, R > 0.

Maximiser U(x,y)=xay1−aU(x, y) = x^a y^{1-a} sur les x,y>0x, y > 0 vérifiant px+qy=R.px + qy = R. Vérifier en Python pour a=13,p=2,q=3,R=12.a = \frac{1}{3}, \qquad p = 2, \qquad q = 3, \qquad R = 12.

Voir le début du corrigé
  1. On pose y = (R − px)/q, avec x dans ]0, R/p[, et φ(x) = ln U = a ln x + (1 − a) ln((R − px)/q). …

La suite du corrigé dans Sup et Spé+ : essai gratuit 7 jours.

Fiche de cours rédigée à partir du programme officiel de la voie EC, mathématiques approfondies de seconde année, partie « Travaux pratiques de mathématiques avec Python », thème « Fonctions de plusieurs variables ».