Nombres y apellidos de los miembros del grupo: MÉTODOS NUMÉRICOS - E.T.S.I.I. TRABAJO DE LA ASIGNATURA - CURSO 2004-2005 Realizar un programa en MATLAB que resuelva un sistema de ecuaciones no simétrico mediante algoritmos iterativos basados en métodos de biortogonalización usando cuasi-mı́nimo residuo. El trabajo debe considerar los siguientes aspectos y requisitos: a. Algoritmo del QMR. b. Algoritmo del TFQMR. c. Algoritmo del QMRCGSTAB. d. Representación gráfica de la curva de convergencia. e. Presentación de manual de usuario del programa. f. Presentación de ejemplos. Algoritmo QMR Aproximación inicial x0 . r0 = b − Ax0 ; ρ1 =k r0 k y ; v1 = r0 /ρ1 ; Elegir w1 tal que k w1 k= 1; p0 = q0 = d0 = 0; c0 = 0 = √ ξ1 = 1; ν0 = 0; η0 = −1; Mientras j + 1 |ηj−1 | / kr0 k ≥ ε(j = 1, 2, ...), hacer: δj = hvj , wj i, pj = vj − (ξj δj /j−1 ) pj−1 ; qj = wj − (ρjδj /j−1 ) qj−1 , j = Apj , qj ; βj = j /δj ; bj+1 = Apj − βj vj , ρj+1 = kb v vj+1 k; b j+1 = AT qj − βj wj , ξj+1 = kw b j+1 k; w ρj c2j 1 ρj+1 , ηj = −ηj−1 , cj = q ; νj = cj−1 |βj | βj c2j−1 1 + ν2 j 2 Fin dj = ηj pj + (νj−1 cj ) dj−1 ; xj = xj−1 + dj ; bj+1 /ρj+1 ; vj+1 = v b j+1 /ξj+1 ; wj+1 = w Algoritmo TFQMR Aproximación inicial x0 . ; w1 = y1 = r0 = b − Ax0 , v0 = Ay1 , d0 = 0; τ0 = kr0 k, ϑ0 = 0, η0 = 0; Elegir e r0 tal r0 i = 6 0 √ que ρ0 = hr0 , e Mientras k + 1τk−1 / kr0 k ≥ ε(k = 1, 2, ...), hacer: (a) σk−1 = hvk−1 , e r0 i, αk−1 = ρk−1 /σk−1 ; y2k = y2k−1 − αk−1 vk−1 ; (b) Para m = 2k − 1,2k hacer: wm+1 = wm − αk−1 Aym ; kwm+1 k 1 ϑm = , cm = p ; τm−1 1 + ϑ2m τm = τm−1 ϑm cm , ηm = c2m αk−1 ; ϑ2 ηm−1 dm = ym + m−1 dm−1 ; αk−1 xm = xm−1 + ηm dm ; Si xm converge: Fin ρk (c) ρk = hw2k+1 , e r0 i, βk = ; ρk−1 y2k+1 = w2k+1 + βk y2k ; vk = Ay2k+1 + βk (Ay2k + βk vk−1 ) Fin Algoritmo QMRCGSTAB Aproximación inicial x0 . ; r0 = b − Ax0 ; Elegir e r0 tal que hr0 , e r0 i = 6 0 p0 = v0 = d0 = 0; ρ0 = α0 =√ω0 = 1; τ = kr0 k, θ0 = 0, η0 = 0; τ | / kr0 k ≥ ε(j = 1, 2, ...), hacer: Mientras j + 1 |e ρj = hrj−1 , e r0 i; βj = (ρj αj−1 ) /ρj−1 ωj−1 ; pj = rj−1 + βj (pj−1 − ωj vj−1 ); vj = Apj ; ρj ; αj = hvj , e r0 i sj = rj−1 − αj vj ; Primera cuasi-minimización 1 θej = ksj k /τ ; c = q ; τe = τ θej c; 1 + θe2 j ηej = c2 αj ; 2 θj−1 ηj−1 dj−1 ; αj ej ; ej = xj−1 + ηej d x tj = Asj ; hsj , tj i ; ωj = htj , tj i rj = sj − ωj tj ; Segunda cuasi-minimización 1 θj = krj k /τ ; c = q ; τ = τe θj c; 1 + θj2 e j = pj + d ηj = c2 ωj ; θej2 ηej ej ; d ωj ej + ηj dj ; xj = x dj = sj + Fin