Questions tagged «krylov-method»

参考Krylov子空间以及利用这些空间的方程式线性系统的解法。

2
为什么我的迭代线性求解器不收敛?
使用KSP(PETSc)的预先设定的Krylov方法时会出什么问题的线性求解器程序包)中的求解稀疏线性系统(例如通过离散化和线性化偏微分方程获得的线性系统)时,会出现什么问题? 我可以采取什么步骤来确定问题出了什么问题? 为了成功有效地求解线性系统,我可以进行哪些更改?

3
求解方程组线性系统的Krylov子空间方法收敛的原理是什么?
据我了解,解决线性方程组的方法有两大类: 固定方法(Jacobi,Gauss-Seidel,SOR,Multigrid) Krylov子空间方法(共轭梯度,GMRES等) 我了解到,大多数固定方法都是通过迭代地放松(平滑)错误的傅立叶模式而起作用的。据我了解,共轭梯度法(Krylov子空间法)通过“逐步”遍历来自应用于第ñnn个残差的矩阵的幂的最佳搜索方向集而工作。这个原理对所有Krylov子空间方法都通用吗?如果不是,那么,一般来说,我们如何表征Krylov子空间方法收敛的原理?

3
求解
我有矩阵AAA和GGG。AAA是稀疏的,并且是n×nn×nn\times n其中nnn非常大(可以达到几百万个数量级。)GGG是一个n×mn×mn\times m高的矩阵,其中mmm很小(1<m<10001<m<10001 \lt m \lt 1000),每列只能有一个111条目其余为的,以使得。很大,所以反转起来真的很困难,我可以求解一个线性系统,例如000GTG=IGTG=IG^TG = IAAAAx=bAx=bAx = b迭代地使用Krylov子空间方法,例如,但我没有明确地拥有。BiCGStab(l)BiCGStab(l)\mathrm{BiCGStab}(l)A−1A−1A^{-1} 我想解决以下形式的系统:,其中和是长度向量。一种实现方法是在迭代算法中使用迭代算法来为外部迭代算法的每次迭代求解。但是,这将在计算上极其昂贵。我想知道是否有一种计算上更简单的方法来解决这个问题。x b m A − 1(GTA−1G)x=b(GTA−1G)x=b(G^TA^{-1}G)x = bxxxbbbmmmA−1A−1A^{-1}

2
有什么办法可以做“双重预处理”
题: 假设您对对称正定矩阵有两个不同的(分解的)前置条件: 和 其中的逆是容易申请。一种一种A一≈ 乙Ť乙一种≈乙Ť乙A \approx B^TB一≈ ÇŤC,一种≈CŤC,A \approx C^TC,乙,乙Ť,C,CŤ乙,乙Ť,C,CŤB, B^T, C, C^T 什么时候可以使用的信息来自两个 和建设比任何一个更好的预处理器或一个人吗?乙乙BCCC乙乙BCCC

1
多项式前置条件的当前状态是什么?
我不知道多项式前置条件发生了什么。我对它们感兴趣,因为从数学角度看它们看上去比较优雅,但是据我在有关克雷洛夫方法的调查中所读到的那样,它们作为预处理器的性能通常很差。用Saad和van der Host的话说,“对这些技术的当前兴趣几乎消失了” (此处)。但是,最近在多核和GPU计算中已得到使用。 谁能告诉我或者更确切地说是我在哪些情况下这些方法仍然有效,以及在哪里可以找到有关当前最新技术水平的良好调查?

1
Krylov子空间方法可以用作多网格的平滑器吗?
据我所知,多网格求解器使用迭代平滑器(例如Jacobi,Gauss-Seidel和SOR)来衰减各种频率下的误差。可以使用Krylov子空间方法(例如共轭梯度,GMRES等)代替吗?我不认为它们被归类为“平滑剂”,但是它们可以用于近似粗网格解决方案。我们可以期望看到与标准多网格方法类似的解决方案收敛吗?还是取决于问题?

1
低秩修改如何影响Krylov方法的收敛性?
假设我有一个线性系统,对于所有使用合适的Krylov方法(例如CG或GMRES)可以快速收敛。如果是具有低秩的矩阵,系统上的相同Krylov方法也会快速收敛吗?(理想情况下,迭代的额外数目大约仅取决于)?Ax=bAx=bA x = bbbbBBBrrr(A+B)x=b(A+B)x=b(A + B) x = brrr 这样的系统的一个例子是良好的预调节膜弹性和弯曲度加上未预调节的具有密集外部产品结构的气压项。 注意,问题是有或没有预处理的相同,由于是秩的修改。P(A+B)Q=PAQ+PBQP(A+B)Q=PAQ+PBQP(A + B)Q = PAQ + PBQrrrPAQPAQPAQ

1
如何激发Krylov加速的Multigrid(使用MG作为前提条件)?
通过构造初始猜测值并对重复以下步骤,直到收敛为止,可以使用Multigrid(MG)求解线性系统:X 0我= 0 ,1 ..甲X = bAx=bAx=bX0x0x_0我= 0 ,1 ..i=0,1..i=0,1.. 计算残差[R一世= b - A x一世ri=b−Axir_i = b-Ax_i 应用多重网格周期以获得近似值,其中。甲é 我 = - [R 我Δ X一世≈ è一世Δxi≈ei\Delta x_i \approx e_iAei=riAei=riAe_i = r_i 更新xi+1←xi+Δxixi+1←xi+Δxix_{i+1} \gets x_i + \Delta x_i 多重网格周期是应用于以产生的平滑,内插,约束和精确的粗网格求解操作的序列。这通常是一个V周期或W周期。这是一个线性运算,因此我们写成。 Δ X 我 Δ X 我 = 乙ř 我ririr_iΔxiΔxi\Delta x_iΔxi=BriΔxi=Bri\Delta x_i = B …

2
用另一种krylov方法预处理krylov方法
在类似gmres或bicgstab的方法中,使用另一种krylov方法作为前置条件可能会很有吸引力。毕竟,它们很容易以无矩阵的方式并在并行环境中实现。例如,一个库尔使用未经预处理的bigcstab的几次迭代(约5次)作为gmres的预处理器,或krylov方法的任何其他组合。在文学界,我没有太多参考这种方法,所以我希望这是因为它不是很有效。我想了解为什么效率不高。在某些情况下,这是一个不错的选择吗? 在我的研究中,我对在并行(MPI)环境中解决3D椭圆问题感兴趣。

1
为什么固定点以删除空空间不好?
具有所有Neumann边界条件的Poisson方程具有单个恒定维的零空间。通过Krylov方法求解时,可以通过在每次迭代中减去解的平均值或固定单个顶点的值来删除零空间。 固定单个顶点具有简化的好处,并且还避免了每个投影的额外全局缩减。但是,由于其对调节的影响,通常将其视为不良。因此,我总是减去均值。 但是,这两种方法之间的差异最多为2级校正,因此根据(1),它们应该以几乎相同的迭代次数收敛(至少在精确的算术中)。这个推理是正确的,还是还有其他原因导致点固定不好(也许算术不精确)? (1):低秩修改如何影响Krylov方法的收敛性?

2
对于不确定的对称系统,我应该使用PETSc中的哪些预处理器(和求解器)?
我的系统是带有拉格朗日乘子的对称有限元问题(例如不可压缩的斯托克斯流): (ABBTC)(ABTBC)\begin{pmatrix}A & B^T \\ B & C\end{pmatrix} 其中是典型情况(我什至已确保方程式已编号,以便拉格朗日乘数出现在最后)。该系统非常大(+ 100k行)。C=0C=0C = 0 阅读了这个问题的答案后,给我的印象是,有合适的预处理器可用于混合有限元问题。 -ksp_type minres -pc_type none -mat_type sbaij尽管精度不高(使用线性问题会导致多次牛顿迭代),但我使用PETSc设法用MINRES()解决了系统。预调节器和ksp-solver的其他组合似乎没有用。 是否有PETSc标志的组合可以比仅使用MINRES更快地解决此系统?


1
在实践中,如何确定大型线性系统的迭代方法是收敛的?
在计算科学中,我们经常遇到大型线性系统,我们需要通过某些(有效的)手段(例如,直接方法或迭代方法)对其进行求解。如果我们专注于后者,那么在实践中如何确定求解大型线性系统的迭代方法是收敛的? 显然,我们可以进行反复试验分析(请参阅为什么我的迭代线性求解器不收敛?),并依靠可以通过证明保证收敛或具有良好经验基础的迭代方法(例如CG和GMRES等Krylov子空间方法)分别用于对称和非对称系统)。 但是,在实践中如何建立融合?怎么办?

1
嵌套预处理器准则
考虑您要使用预处理Krylov方法求解线性系统的情况,但是应用预处理器本身涉及求解辅助系统,这是通过另一种预处理Krylov方法完成的。 在一种极端情况下,您可以运行内部求解以在外部求解的每个步骤中收敛。 在另一种极端情况下,您根本无法进行内部求解,而只能用内部前置条件替换它。 在中间的某个位置,您可以在固定的迭代次数后或达到一定的公差之后截断内部的Krylov循环。 根据经验,我遇到了第一个极端更好的情况,以及第二个极端更好的情况(就总成本而言)。但是,我找不到明确的理由说明某些情况为什么偏爱一种策略而不是另一种策略。 是否有关于何时使用这些不同策略的指导或理论?

1
Hessenberg矩阵的指数计算算法
我对使用krylov方法计算ODE标记系统的解决方案感兴趣,如[1]所示。这种方法涉及与指数有关的函数(所谓的 -functions)。它实质上包括通过使用Arnoldi迭代构造一个Krylov子空间并将该函数投影到该子空间上来计算矩阵函数的作用。这减少了计算较小的Hessenberg矩阵的指数的问题。φφ\varphi 我知道有几种算法可以计算指数(请参见[2] [3]及其参考)。我想知道是否有一种特殊的算法可以利用矩阵是Hessenberg的事实来计算指数? [1] Sidje,RB(1998)。Expokit:用于计算矩阵指数的软件包。ACM Transactions on Mathematical Software(TOMS),24(1),130-156。 [2] Moler,C.和Van Loan,C.(1978)。十九种计算矩阵指数的可疑方法。SIAM评论,20(4),801-836。 [3] Moler,C.和Van Loan,C.(2003)。25年后的十九种方法来计算矩阵的指数。SIAM评论,45(1),3-49。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.