\( \alpha_k \) son los coeficientes de la combinación lineal en \( \mathcal{K}_{residuos} \).
\( \beta_k \) son los coeficientes de la combinación lineal en \( \mathcal{K}_r \).
El método del gradiente conjugado solamente funciona si la matriz \( A \) es simétrica y definida positiva.
Si no lo es, otro método debe emplearse.
En el 2012, Ando et al. propusieron emplear métodos de subespacios de Krylov.
Se dieron cuenta que el problema es calcular \( \mathbf{D^{1/2}} ,\) esto porque \(\mathbf{D}=\mathbf{D^{1/2}} \mathbf{(D^{1/2})}^{\mathsf{T}} \)
Además, se dieron cuenta que no necesitan saber \( \mathbf{D^{1/2}} \) sino \( \mathbf{D^{1/2} z} .\)
Después de todo, solamente son desplazamientos estocásticos, no deben ser precisos, sino aproximados.
Se hizo una aproximación de la matriz \( D^{1/2} \); esta aproximación es la matriz \( H^{1/2} .\)
Se va ortognalizando el espacio según se necesiten vectores.
Pasamos de un espacio de \( 3n \times 3n \) a un espacio \( m \times m \) donde \( m \ll 3n \), en este caso, \( m \equiv 30 .\)
znorm = dnrm2( s,xr,1 )
vm(:,1) = xr / znorm
do i = 1,m
call dgemv( 'n',s,s,1.0_dp,sigma,s,vm(:,i),1,0.0_dp,w,1 )
if ( i > 1 ) then
w = w - ( h(i-1,i) * vm(:,i-1) )
end if
k = size(w, 1)
h(i,i) = ddot( k,w,1,vm(:,i),1 )
if ( i < m ) then
w = w - ( h(i,i) * vm(:,i) )
k = size(w, 1)
h(i+1,i) = dnrm2( k,w,1 )
h(i,i+1) = h(i+1,i)
vm(:,i+1) = w / h(i+1,i)
end if
end do
call sqrt_matrix( h,temp )
call dgemv( 'N',m,m,1.0_dp,temp,m,eid,1,0.0_dp,v,1 )
call dgemv( 'N',s,m,1.0_dp,vm,s,v,1,0.0_dp,res,1 )
r = znorm * res
Los métodos de subespacios de Krylov son métodos iterativos para encontrar resultados aproximados.
Dependiendo de las propiedades de las matrices (u operadores lineales), se deben emplear variaciones de estos métodos.
Se estudió un caso particular aplicado a la dinámica Browniana.