资源简介
matlab开发-GMRESArnoldi。求解非对称线性方程组的阿诺迪相互作用。
代码片段和文件信息
function [QH] = Arnoldi0(Ak_totq1)
% La funci髇 aplcia k=k_tot iteraciones de Arnoldi con una matriz cuadrada A
% de dimensiones n por n comenzando por un vector q1 de dimensi髇 n
% Para k < n devuelve una matriz Q de dimensiones n por (k+1) con columnas
% orthonormales y una matriz H de dimensiones (k+1) por k llamada
% matriz de Hessenberg que es una matriz triangular superior tal que
% A*Q(:1:k) = Q(:1:k)*H(1:k1:k) + H(k+1k)*Q(:k+1)*E_k‘
% donde E_k es la columna k-閟ima de la matriz identidad de tama駉 k po k.
%
% A: matriz cuadrada del sistema lineal (n por n)
% q1: vector inicial supuesto no nulo
% k =k_tot: n鷐ero natural total de iteraciones
% Q: base ortonormal del espacio de Krylov (n por k+1)
% H: matriz triangular superior de Hessenberg (k+1 por k)
% tal que A*Q(:1:k)=Q*H
% z: es un vector estimaci髇 del error
% tal que AQ = QH + z*E_k
n = length(A);
Q = zeros(nk_tot);
q1 = q1/norm(q1);
Q(:1) = q1;
H = zeros(min(k_tot+1k_tot)n);
for k=1:k_tot
z = A*Q(:k);
for i=1:k
H(ik) = Q(:i)‘*z;
z = z - H(ik)*Q(:i);
end
if k < n
H(k+1k) = norm(z);
if H(k+1k) == 0 return end
Q(:k+1) = z/H(k+1k);
end
end
% END of Arnoldi0.m
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1291 2016-08-04 02:52 Arnoldi0.m
文件 550 2016-08-04 02:52 Desc
文件 21987 2016-08-04 02:52 Explanation in Spanish.docx
文件 597 2016-08-04 02:52 Gmres0.m
文件 604488 2016-08-04 02:52 Numerical linear algebra Lecture+35.pdf
文件 1320 2016-08-04 02:52 license.txt
评论
共有 条评论