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 ortogonalización. El trabajo debe considerar los siguientes aspectos y requisitos: a. Algoritmo del FOM. b. Algoritmo del GMRES(w). c. Algoritmo del variable GMRES. 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 FOM Aproximación inicial x0 . r0 = b − Ax0 , β =k r0 k, y v1 = r0 /β Definir la k × k matriz Hk = {H}i,j=1,...,k ; poner Hk = 0 Desde j = 1, ..., k hacer wj = Avj ; Desde i = 1, ..., j hacer {H}ij = hwj , vi i; wj = wj − {H}ij vi ; Fin {H}j+1,j =k wj k; Si {H}j+1,j = 0 poner k = j y parar 1 wj ; vj+1 = {H}j+1,j Fin Resolver Hk yk = βe1 Calcular xk = x0 + Vk yk Algoritmo GMRES Aproximación inicial x0 . r0 = b − Ax0 ; Definir la (k + 1) × k matriz Hk = {H}1≤i≤k+1,1≤j≤k . Poner Hk = 0. Desde j = 1, ..., k hacer wj = Avj Desde i = 1, ..., j hacer {H}ij = hwj , vi i; wj = wj − {H}ij vi ; Fin {H}j+1,j =k wj k; Si {H}j+1,j = 0 poner k = j y parar 1 wj ; vj+1 = {H}j+1,j Fin Hallar yk que minimiza βe1 − Hk y ; Determinar xk = x0 + Vk yk siendo Vk = [v1 , v2 , ..., vk ]; Calcular rk = b − Axk Algoritmo VFGMRES Aproximación inicial x0 . r0 = b − Ax0 ; Elegir kinit , ktop , δ ∈ [0, 1], k = kinit Mientras k b ri−1 k / k r0 k≥ ε (i = 1, 2, 3, ...), βi−1 = k ri−1 k, vi = ri−1 /βi−1 ; Si k ri−1 k / k r0 k≥ δ y k < ktop hacer k = k + 1; Para j = 1, ..., k hacer Resolver Mzj = vj ; w = Azj ; Para n = 1, ..., j hacer {H}nj = wt vn ; w = w − {H}nj vn ; Fin {H}j+1,j =k w k; vj+1 = w/ {H}j+1,j : Fin Resolver Utk p̄ = dk y Uk p = p̄; {dk }m = {H}1m l, m = 1, ..., k; con {Uk }lm = {H}l+1,m βi−1 ; λi = 1 + dtk p uk = λi p; xi = xi−1 + Zk uk ; siendo Zk = [z1 , z2 , ..., zk ]; {r̂ } = λi ri = Zk+1 r̂i ; con i 1 l = 1, ..., k; {r̂i }l+1 = −λi {p̄}l Fin