Loading [MathJax]/jax/element/mml/optable/GeneralPunctuation.js

5 votos

Gram-Schmidt clásico para la matriz A

Deje que A=[111ϵ000 ϵ000ϵ]. En esto página esta matriz A se utiliza para mostrar la inestabilidad del clásico algoritmo de Gram-Schmidt, utilizando el criterio de que 1+ϵ=1 . Además, se puede demostrar que los vectores de salida de la GS clásica para A no son ortogonales entre sí.

Parece que muchos sitios web brevemente parecen hablar sólo de los defectos del algoritmo al ejecutarlo en un ordenador. ¿Hay algún razonamiento más "general" de por qué el clásico algoritmo GS no siempre produce vectores ortonormales, incluso "en papel"?

¿Es porque la GS clásica (en este caso) no explica bien la aproximación ϵ+1=1 ? ¿Alguien podría explicar esto un poco más a fondo?

Gracias

0 votos

Haga el mismo cálculo sin la aproximación ϵ<<1 . Deberías ver que sí obtienes vectores ortogonales. El problema es que usas esa aproximación repetidamente. Por ejemplo o3 utiliza los resultados aproximados b1 y b2 lo que hace que el fallo de aproximación se acumule demasiado.

5voto

Omegatron Puntos 101

Tanto la Gram Schmidt clásica como la modificada son inestables. Si lees el texto de Trefethen describe la diferencia entre Householder y los dos primeros como lo siguiente.

Se trata de la Gram-Schmidt clásica y modificada, descrita Ortogonalización triangular AR1,R2RnˆR1=ˆQ

Abajo vemos a Householder, Triangularización ortogonal

Q1,Q2QnˆQA=R

¿Por qué son diferentes?

El número de condición de una matriz triangular puede ser cualquier cosa así que si tienes una serie de ellas entonces puede crecer muy grande sin embargo las matrices ortogonales tienen número de condición 1 .

Al cambiar el ϵ se cambia el número de condición. Si se da cuenta de que ϵ está relacionado con los valores singulares. El primero es casi 1 .

import numpy as np
import math

eps = math.exp(1e-3)-1
A = np.matrix([[1 ,1,1],[eps, 0 ,0 ], [0 ,eps, 0], [0 , 0 ,eps ]])
u, s, vt = np.linalg.svd(A)

s

Out[12]: array([1.73205110e+00, 1.00050017e-03, 1.00050017e-03])

eps
Out[13]: 0.0010005001667083846

Debido a la ortogonalización parece ser 3

Tenga en cuenta que

κ(A)=σmax(A)σmin(A)=3ϵ

Entonces notarías que como ϵ0 κ

Clásica Gram Schmidt

El proceso de Gram Schmidt es el siguiente para los clásicos

vj=aj(q1aj)q1(q2aj)q2(qj1aj)qj1

podemos escribirlo así

q1=a1r11

q2=a2r12q1r22

q3=a3r13q1r23q2r33 qn=ann1i=1rinqirnn

Ahora aquí está la Gram Schmidt modificada. Para empezar introducimos las proyecciones ortogonales

Gram Schmidt modificado

q1=P1a1

Más concretamente P_{j} es el proyector ortogonal. P_{j} es el m \times m matriz de rango m -(j-1) que proyecta \mathbb{C}^{m} en el espacio para \langle q_{1}, \cdots , q_{j-1} \rangle

El proyector P_{j} puede representarse explícitamente. Aquí representamos \hat{Q}_{j-1} como el m \times (j-1) matriz que contiene las columnas de la proyección orhtogonal. Es decir

P_{j} = I - \hat{Q}_{j-1}\hat{Q}_{j-1}^{*} \tag{9}

entonces obtenemos

v_{j} = P_{j}a_{j} \tag{10}

¿Cómo es esto más estable?

Una nota más

Su matriz es famosa. Es llamado el Matriz de Lauchli

Tanto en CGS como en MGS

donde 1 + \epsilon^{2} =1

v_{1} \to (1 , \epsilon, 0, 0) \tag{11}

r_{11} = \sqrt{1 + \epsilon^{2} } \approx 1 \tag{12}

q_{1} = \frac{v_{1}}{r_{11}} = (1 , \epsilon, 0, 0)\tag{13} v_{2} = (1,0,\epsilon,0) \tag{14} r_{12} = q_{1}^{T}a_{2} = q_{1}^{T}v_{2} = 1 \tag{15} v_{2} = v_{2} - r_{12}q_{1} = (0,-\epsilon, \epsilon,0) \tag{16} r_{22} = \sqrt{2}\epsilon \tag{17} q_{2} = (0,\frac{-1}{\sqrt{2}},\frac{1}{\sqrt{2}},0) \tag{18}

v_{3} = (1,0,0,\epsilon) \tag{19} r_{13} = q_{1}^{t}v_{3} = 1 \tag{20} v_{3} = v_{3} - r_{13}q_{1} = (0,-\epsilon,0,\epsilon) \tag{21}

Para CGS

r_{23} = q_{2}^{T}a_{3} =0 \tag{22} v_{3} = v_{3} - r_{23}q_{2} = (0,-\epsilon,0,\epsilon) \tag{23}

r_{33} = \sqrt{2} \epsilon \tag{24} q_{3} = \frac{v_{3}}{r_{33}} = (0,\frac{-1}{\sqrt{2}} ,0\frac{1}{\sqrt{2}} ) \tag{25}

Para MGS

r_{23} = q_{2}^{T}v_{3} =\frac{\epsilon}{\sqrt{2}} \tag{26} v_{3} = v_{3} - r_{23}q_{2} = (0,\frac{-\epsilon}{2},\frac{-\epsilon}{2}, \epsilon ) \tag{27}

r_{33} = \frac{\sqrt{6}}{\epsilon 2} \tag{28} q_{3} = \frac{v_{3}}{r_{33}} = (0,\frac{-1}{\sqrt{6}} ,\frac{1}{\sqrt{6}},\frac{2}{\sqrt{6}} ) \tag{29}

0 votos

¿Cómo es esto más estable? ¿Es una pregunta (retórica)? Sí, el SGM es más estable que el SGC. También saber por qué .

0 votos

No sólo me pregunto cómo responde este post a la pregunta, sino que no tengo ni idea de cómo se relaciona tu reacción con mi comentario.

0 votos

No tengo ni idea de por qué eres tan ofensivo. Probablemente no has leído/entendido a qué se refería mi primer comentario. En segundo lugar, no entiendo qué has intentado conseguir con la última edición.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X