σμ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 Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • 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 Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Linear Algebra スキル›モジュール 1 · ベクトルと行列›トピック 1.3·~40 分初級

行列の積とそのコスト

スキル上の位置モジュール 1/4 · トピック 3/3
1.3 行列の積とそのコスト
—ラボスコア— / 100合計XP—連続日数—

写像を合成する

積 ABABAB は、先に BBB、次に AAA を適用して得られる写像です。(AB)x=A(Bx)(AB)\mathbf{x}=A(B\mathbf{x})(AB)x=A(Bx)。積の (i,j)(i,j)(i,j) 成分は AAA の第 iii 行と BBB の第 jjj 列の内積なので、サイズが合う必要があります。m×nm\times nm×n 行列と n×pn\times pn×p 行列の積は m×pm\times pm×p 行列です。積は結合的で (AB)C=A(BC)(AB)C=A(BC)(AB)C=A(BC)、和に対して分配的ですが、一般には交換できず AB≠BAAB\neq BAAB=BA です。2つの操作は順序で結果が変わるからです。

(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)

m×nm\times nm×n 行列と n×pn\times pn×p 行列の積 ABABAB には mnpmnpmnp 回の積和(浮動小数点演算で約 2mnp2mnp2mnp 回)がかかります。n×nn\times nn×n 同士なら n3n^3n3 で、nnn を2倍にすると計算量は8倍です。行列とベクトルの積は n2n^2n2 で済みます。積は結合的なので括弧の付け方で結果は変わりませんが、コストは大きく変わりえます。

順序は2つの意味で重要A=(1201)A=\begin{pmatrix}1&2\\0&1\end{pmatrix}A=(10​21​)、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​) ですが BA=(0112)BA=\begin{pmatrix}0&1\\1&2\end{pmatrix}BA=(01​12​) で、順序が結果を変えます。括弧はコストを変えます。n×nn\times nn×n 行列 A,BA,BA,B とベクトル v\mathbf{v}v について、(AB)v(AB)\mathbf{v}(AB)v は n3+n2n^3+n^2n3+n2 回の積和、A(Bv)A(B\mathbf{v})A(Bv) は 2n22n^22n2 回です。n=1000n=1000n=1000 なら10億回対200万回です。
  • サイズの規則:(m×n)(n×p)=(m×p)(m\times n)(n\times p)=(m\times p)(m×n)(n×p)=(m×p)。内側のサイズが一致する必要があります。
  • 非可換:一般に AB≠BAAB\neq BAAB=BA なので、因子を入れ替えてはいけません。
  • コスト:mnpmnpmnp 回の積和。行列×ベクトルは n2n^2n2、行列×行列は n3n^3n3。
括弧はベクトル側からつける行列の連なりがベクトルで終わるときは、ベクトル側から掛けます。A(B(Cv))A(B(C\mathbf{v}))A(B(Cv)) なら行列とベクトルの積だけで済みます。ポートフォリオのリスク wTΣw\mathbf{w}^{T}\Sigma\mathbf{w}wTΣw は w⋅(Σw)\mathbf{w}\cdot(\Sigma\mathbf{w})w⋅(Σw) として計算し、w\mathbf{w}w から先に行列を作ることはしません。

ラボ:採点される内容

  • 積 AB20点
  • 積 BA15点
  • 積のサイズ10点
  • 積和の回数を数える15点
  • 2通りの括弧付け20点
  • 括弧付けが重要な理由20点
0/ 6問回答済み
問題
1行列・ベクトル20点未回答

A=(1201)A=\begin{pmatrix}1&2\\0&1\end{pmatrix}A=(10​21​)、B=(0110)B=\begin{pmatrix}0&1\\1&0\end{pmatrix}B=(01​10​) とします。ABABAB を埋めてください。

AB=AB =AB=
2行列・ベクトル15点未回答

A=(1201)A=\begin{pmatrix}1&2\\0&1\end{pmatrix}A=(10​21​)、B=(0110)B=\begin{pmatrix}0&1\\1&0\end{pmatrix}B=(01​10​) とします。BABABA を埋めて、ABABAB と異なることを確かめてください。

BA=BA =BA=
3選択10点未回答

PPP は 3×43\times43×4、QQQ は 4×24\times24×2 です。PQPQPQ のサイズはどれですか。

4数値で答える15点未回答

200×300200\times300200×300 行列と 300×100300\times100300×100 行列の積には何回の積和が必要ですか。

[objectObject]=[object Object] =[objectObject]=許容:± 0.1%
5数値で答える20点未回答

AAA と BBB は 1000×10001000\times10001000×1000、v\mathbf{v}v は1000成分です。(AB)v(AB)\mathbf{v}(AB)v は A(Bv)A(B\mathbf{v})A(Bv) の何倍の積和を必要としますか。n3+n2n^3+n^2n3+n2 と 2n22n^22n2 を比べてください。

[objectObject]=[object Object] =[objectObject]=許容:± 1
6言葉で説明する20点未回答

(AB)v(AB)\mathbf{v}(AB)v よりも A(Bv)A(B\mathbf{v})A(Bv) を計算すべき理由と、結果が異なるかどうかを2文で述べてください。

数学モードキーボードまたは LaTeX で入力問題1/6 · Ctrl ⏎ で確認

コードを実行するにはログインしてください。

レクチャーはすべて無料で読めます。コードの実行、テスト、ラボの提出にはアカウントの作成かログインが必要です。

  • ブラウザ内IDEとbashターミナル。インストール不要
  • 即時採点、XP、スキルでの現在地
アカウントを作成ログイン
または
GitHubで続ける