伊卢
不完整的LU分解
句法
ilu(a,设置)
[l,u] = ilu(a,设置)
[l,u,p] = ilu(a,设置)
描述
伊卢
产生一个单元下三角矩阵,上三角基质和置换矩阵。
ilu(a,设置)
计算不完整的LU分解一种
。设置
是最多五个设置选项的输入结构。必须如下表所示的命名。您可以在结构中包含任何这些字段,并按任何顺序定义它们。任何其他字段都被忽略。
字段名称 |
描述 |
---|---|
|
分解类型。值
如果 |
|
不完全分解的降低耐受性。 非零条目 abs(u(i,j))> = droptol*norm(a(a(:,j)), 除了对角条目外,无论满足标准如何,它们都保留。条目 abs(l(i,j))> = droptol*norm(a(a(:,j))/u(j,j)。 |
|
修改了不完全的LU分解。值
|
|
如果 |
|
枢轴之间的阈值 |
ilu(a,设置)
返回l+u-speye(尺寸(a))
, 在哪里l
是一个单元下三角矩阵和你
是上三角矩阵。
[l,u] = ilu(a,设置)
返回一个单元下三角矩阵l
和上三角矩阵你
。
[l,u,p] = ilu(a,设置)
返回一个单元下三角矩阵l
,一个上三角矩阵你
,以及置换矩阵p
。
限制
伊卢
仅在稀疏方形矩阵上工作。
例子
从稀疏矩阵开始,然后计算LU分解。
a =画廊('Neumann',1600) + Speye(1600);setup.type ='Crout';setup.milu ='row';setup.droptol = 0.1;[l,u] = ilu(a,setup);E =一个(大小(a,2),1);norm(A*E-L*U*E)ANS = 1.4251E-014
这表明一种
和鲁
, 在哪里l
和你
由修改后的Crout给出伊卢
,具有相同的行和。
从稀疏矩阵开始,然后计算LU分解。
a =画廊('Neumann',1600) + Speye(1600);setup.type ='nofill';nnz(a)ans = 7840 nnz(lu(a))ans = 126478 nnz(iLu(a,setup))ans = 7840
这表明一种
拥有7840
nonzeros,完整的lu分解具有126478
nonzeros,以及不完整的LU分解,0
填充水平,有7840
nonzeros,数量与一种
。
尖端
这些不完整的因素化可能是通过迭代方法(例如BICG(Biconjugate梯度),GMRE(广义最小残留方法)求解的线性方程系统的预处理。
参考
[1] saad,yousef,稀疏线性系统的迭代方法,PWS出版公司,1996年,第10章 - 预处理技术。