σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Parcours Linear Algebra›Module 1 · Vecteurs et matrices›Sujet 1.3·~40 minDébutant

Le produit matriciel et son coût

Position dans le parcoursModule 1 sur 4 · Sujet 3 sur 3
1.3 Le produit matriciel et son coût
—Score du lab— / 100XP total—Série—

Composer des applications

Le produit ABABAB est l'application obtenue en appliquant d'abord BBB puis AAA : (AB)x=A(Bx)(AB)\mathbf{x}=A(B\mathbf{x})(AB)x=A(Bx). L'entrée (i,j)(i,j)(i,j) du produit est la ligne iii de AAA multipliée scalairement par la colonne jjj de BBB, donc les tailles doivent s'accorder : une matrice m×nm\times nm×n fois une matrice n×pn\times pn×p donne une matrice m×pm\times pm×p. Le produit est associatif, (AB)C=A(BC)(AB)C=A(BC)(AB)C=A(BC), et distributif sur la somme, mais en général il n'est pas commutatif : AB≠BAAB\neq BAAB=BA, car l'ordre de deux actions compte.

(AB)ij=∑k=1nAikBkj,(AB)T=BTAT(AB)_{ij}=\sum_{k=1}^{n}A_{ik}B_{kj},\qquad (AB)^{T}=B^{T}A^{T}(AB)ij​=k=1∑n​Aik​Bkj​,(AB)T=BTAT(1)

Calculer ABABAB pour une matrice m×nm\times nm×n et une matrice n×pn\times pn×p demande mnpmnpmnp multiplications-additions (environ 2mnp2mnp2mnp opérations flottantes). Pour deux matrices n×nn\times nn×n, cela fait n3n^3n3 : doubler nnn multiplie le travail par huit. Une matrice fois un vecteur ne coûte que n2n^2n2. Comme le produit est associatif, la place des parenthèses ne change pas le résultat mais peut changer énormément le coût.

L'ordre compte, deux foisAvec A=(1201)A=\begin{pmatrix}1&2\\0&1\end{pmatrix}A=(10​21​) et B=(0110)B=\begin{pmatrix}0&1\\1&0\end{pmatrix}B=(01​10​) : AB=(2110)AB=\begin{pmatrix}2&1\\1&0\end{pmatrix}AB=(21​10​) mais BA=(0112)BA=\begin{pmatrix}0&1\\1&2\end{pmatrix}BA=(01​12​), donc l'ordre change le résultat. Les parenthèses changent le coût : pour des matrices A,BA,BA,B de taille n×nn\times nn×n et un vecteur v\mathbf{v}v, (AB)v(AB)\mathbf{v}(AB)v coûte n3+n2n^3+n^2n3+n2 multiplications-additions, alors que A(Bv)A(B\mathbf{v})A(Bv) en coûte 2n22n^22n2. Pour n=1000n=1000n=1000, c'est un milliard contre deux millions.
  • Règle des tailles : (m×n)(n×p)=(m×p)(m\times n)(n\times p)=(m\times p)(m×n)(n×p)=(m×p) ; les tailles intérieures doivent coïncider.
  • Non commutatif : AB≠BAAB\neq BAAB=BA en général, donc n'échangez jamais les facteurs.
  • Coût : mnpmnpmnp multiplications-additions ; matrice fois vecteur n2n^2n2, matrice fois matrice n3n^3n3.
Placez les parenthèses côté vecteurQuand une chaîne de matrices se termine par un vecteur, multipliez du côté du vecteur : A(B(Cv))A(B(C\mathbf{v}))A(B(Cv)) n'utilise que des produits matrice-vecteur. Le risque d'un portefeuille wTΣw\mathbf{w}^{T}\Sigma\mathbf{w}wTΣw se calcule comme w⋅(Σw)\mathbf{w}\cdot(\Sigma\mathbf{w})w⋅(Σw), sans jamais construire d'abord une matrice à partir de w\mathbf{w}w.

Lab : ce qui est noté

  • Le produit AB20 pts
  • Le produit BA15 pts
  • La taille d'un produit10 pts
  • Compter les multiplications-additions15 pts
  • Deux façons de parenthéser20 pts
  • Pourquoi le parenthésage compte20 pts
0/ 6 traités
Exercices
1Matrice · vecteur20 ptsSans réponse

Soit A=(1201)A=\begin{pmatrix}1&2\\0&1\end{pmatrix}A=(10​21​) et B=(0110)B=\begin{pmatrix}0&1\\1&0\end{pmatrix}B=(01​10​). Remplissez ABABAB.

AB=AB =AB=
2Matrice · vecteur15 ptsSans réponse

Soit A=(1201)A=\begin{pmatrix}1&2\\0&1\end{pmatrix}A=(10​21​) et B=(0110)B=\begin{pmatrix}0&1\\1&0\end{pmatrix}B=(01​10​). Remplissez BABABA et constatez qu'elle diffère de ABABAB.

BA=BA =BA=
3Choix10 ptsSans réponse

PPP est 3×43\times43×4 et QQQ est 4×24\times24×2. Quelle est la taille de PQPQPQ ?

4Réponse numérique15 ptsSans réponse

Combien de multiplications-additions faut-il pour multiplier une matrice 200×300200\times300200×300 par une matrice 300×100300\times100300×100 ?

[objectObject]=[object Object] =[objectObject]=accepté : ± 0.1%
5Réponse numérique20 ptsSans réponse

AAA et BBB sont 1000×10001000\times10001000×1000 et v\mathbf{v}v a 1000 composantes. Combien de fois plus de multiplications-additions (AB)v(AB)\mathbf{v}(AB)v demande-t-il que A(Bv)A(B\mathbf{v})A(Bv) ? Comparez n3+n2n^3+n^2n3+n2 à 2n22n^22n2.

[objectObject]=[object Object] =[objectObject]=accepté : ± 1
6Expliquer avec des mots20 ptsSans réponse

En deux phrases, dites pourquoi il vaut mieux calculer A(Bv)A(B\mathbf{v})A(Bv) plutôt que (AB)v(AB)\mathbf{v}(AB)v, et si les résultats diffèrent.

Mode mathsSaisie au clavier ou en LaTeXExercice 1 sur 6 · Ctrl ⏎ pour vérifier

Connectez-vous pour exécuter votre code.

Tous les cours sont gratuits à lire. Créez un compte ou connectez-vous pour exécuter du code, lancer les tests et soumettre ce lab.

  • IDE dans le navigateur avec terminal bash — rien à installer
  • Correction instantanée, XP et votre place dans le parcours
Créer un compteSe connecter
OU
Continuer avec GitHub