σμ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 AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • 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 AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Ruta de Matrix Decompositions›Módulo 1 · Valores propios y espectros›Tema 1.2·~50 minIntermedio

La iteración de la potencia

Posición en la rutaMódulo 1 de 5 · Tema 2 de 3
1.2 La iteración de la potencia
—Puntuación del lab— / 100XP total—Racha—

Hallar la dirección dominante multiplicando una y otra vez

Resolver un polinomio característico es inviable para una matriz de 1000×10001000\times10001000×1000, y a menudo solo se quiere el par propio mayor, por ejemplo la primera componente principal. La iteración de la potencia lo encuentra con solo productos matriz-vector. Parta de cualquier vector x0\mathbf x_0x0​ y repita xk+1=Axk/∥Axk∥\mathbf x_{k+1}=A\mathbf x_k/\lVert A\mathbf x_k\rVertxk+1​=Axk​/∥Axk​∥. Cada multiplicación estira la componente a lo largo del vector propio dominante más que todas las demás, de modo que tras suficientes pasos el vector apunta en esa dirección.

xk+1=Axk∥Axk∥,λ≈xkTAxkxkTxk,ek∝∣λ2λ1∣k\mathbf x_{k+1}=\frac{A\mathbf x_k}{\lVert A\mathbf x_k\rVert},\qquad \lambda\approx\frac{\mathbf x_k^{T}A\mathbf x_k}{\mathbf x_k^{T}\mathbf x_k},\qquad e_k\propto\Big|\frac{\lambda_2}{\lambda_1}\Big|^{k}xk+1​=∥Axk​∥Axk​​,λ≈xkT​xk​xkT​Axk​​,ek​∝​λ1​λ2​​​k(1)

Escribamos x0=c1v1+c2v2+⋯\mathbf x_0=c_1\mathbf v_1+c_2\mathbf v_2+\cdotsx0​=c1​v1​+c2​v2​+⋯ en vectores propios. Tras kkk pasos los coeficientes se multiplican por λik\lambda_i^kλik​, así que el cociente del segundo al primero es (λ2/λ1)k(\lambda_2/\lambda_1)^k(λ2​/λ1​)k. El método converge cuando ∣λ1∣>∣λ2∣|\lambda_1|>|\lambda_2|∣λ1​∣>∣λ2​∣ y el vector inicial tiene alguna componente según v1\mathbf v_1v1​, y la velocidad depende de ∣λ2/λ1∣|\lambda_2/\lambda_1|∣λ2​/λ1​∣: valores propios próximos significan convergencia lenta. La normalización solo evita el desbordamiento; lo que importa es la dirección. La estimación del valor propio es el cociente de Rayleigh. Para el siguiente par se resta λ1v1v1T\lambda_1\mathbf v_1\mathbf v_1^{T}λ1​v1​v1T​ de una matriz simétrica AAA y se repite: es la deflación.

Unos pasos a manoTomemos A=(2112)A=\begin{pmatrix}2&1\\1&2\end{pmatrix}A=(21​12​), con valores propios 3 y 1 y vector propio dominante (1,1)(1,1)(1,1). Partamos de x0=(1,0)\mathbf x_0=(1,0)x0​=(1,0). Entonces Ax0=(2,1)A\mathbf x_0=(2,1)Ax0​=(2,1) y el cociente de Rayleigh de (2,1)(2,1)(2,1) es (2,1)⋅(5,4)5=145=2,8\frac{(2,1)\cdot(5,4)}{5}=\frac{14}{5}=2{,}85(2,1)⋅(5,4)​=514​=2,8, ya cercano a 3. El siguiente producto es A(2,1)=(5,4)A(2,1)=(5,4)A(2,1)=(5,4), casi en la dirección de (1,1)(1,1)(1,1). El error se reduce por ∣λ2/λ1∣=1/3|\lambda_2/\lambda_1|=1/3∣λ2​/λ1​∣=1/3 en cada paso, así que para ganar un factor 10−610^{-6}10−6 hace falta kkk con 3k≥1063^k\ge10^63k≥106, es decir k=13k=13k=13.
  • Actualización: multiplicar por AAA, dividir por la norma y repetir; cada paso cuesta un producto matriz-vector.
  • Velocidad: el error cae como ∣λ2/λ1∣k|\lambda_2/\lambda_1|^k∣λ2​/λ1​∣k, así que valores propios mayores cercanos convergen despacio.
  • Requisitos: una brecha ∣λ1∣>∣λ2∣|\lambda_1|>|\lambda_2|∣λ1​∣>∣λ2​∣ y un vector inicial no ortogonal a v1\mathbf v_1v1​.
La misma idea ordena páginas webLa iteración de la potencia es el método detrás de PageRank y así se calcula barato la primera componente principal de miles de activos cuando la matriz de covarianza es enorme o nunca se forma explícitamente (solo hay productos AxA\mathbf xAx). Las rutinas de biblioteca para la descomposición completa cuestan unas n3n^3n3 operaciones, mientras que cada paso de potencia cuesta n2n^2n2 en una matriz densa.

Lab: qué se califica

  • A qué converge15 pts
  • Un cociente de Rayleigh20 pts
  • La razón de convergencia10 pts
  • Cuántas iteraciones15 pts
  • El algoritmo en orden15 pts
  • Cuándo es lenta o falla15 pts
  • Por qué normalizar10 pts
0/ 7 respondidos
Ejercicios
1Elección15 ptsSin responder

Cuando ∣λ1∣>∣λ2∣|\lambda_1|>|\lambda_2|∣λ1​∣>∣λ2​∣, ¿hacia qué vector converge (en dirección) la iteración de la potencia?

2Respuesta numérica20 ptsSin responder

Para A=(2112)A=\begin{pmatrix}2&1\\1&2\end{pmatrix}A=(21​12​) y x=(2,1)\mathbf x=(2,1)x=(2,1) calcule xTAx / xTx\mathbf x^{T}A\mathbf x\,/\,\mathbf x^{T}\mathbf xxTAx/xTx.

Rayleighquotient=Rayleigh quotient =Rayleighquotient=aceptado: ± 0.01
3Respuesta numérica10 ptsSin responder

Una matriz tiene valores propios 3 y 1. ¿Por qué factor se reduce el error en cada paso de potencia?

ratio=ratio =ratio=aceptado: ± 0.005
4Respuesta numérica15 ptsSin responder

Con una razón de 1/3 por paso, ¿cuál es el menor número entero de pasos kkk que reduce el error en un factor de al menos 10610^{6}106 (es decir, 3k≥1063^k\ge10^63k≥106)?

k=k =k=aceptado: ± 0.01
5Ordenar los pasos15 ptsSin responder

Ponga en orden los pasos de la iteración de la potencia.

Arrastra para reordenar, o enfoca un elemento, pulsa Espacio para levantarlo, las flechas para moverlo y Espacio para soltarlo.

  1. 1Dividir por la norma para obtener un vector unitario
  2. 2Dar el cociente de Rayleigh como valor propio
  3. 3Partir de un vector no nulo
  4. 4Repetir hasta que la dirección deje de cambiar
  5. 5Multiplicar el vector por la matriz
6Elección15 ptsSin responder

Seleccione todas las situaciones en que la iteración de la potencia simple converge despacio o no converge.

7Explicar con palabras10 ptsSin responder

En una o dos frases, diga por qué se divide por la norma tras cada multiplicación.

Modo matemáticasEntrada por teclado o LaTeXEjercicio 1 de 7 · Ctrl ⏎ para comprobar

Inicia sesión para ejecutar tu código.

Todas las clases se pueden leer gratis. Crea una cuenta o inicia sesión para ejecutar código, lanzar las pruebas y enviar este lab.

  • IDE en el navegador con terminal bash — sin instalar nada
  • Corrección instantánea, XP y tu lugar en la ruta
Crear una cuentaIniciar sesión
O
Continuar con GitHub