Geometry 拉帕克:求解大型周期带状方程组
对于一般的平均曲率流问题,我必须在每个时间步求解大量的联立方程组(~1000)。该问题定义在闭流形上,因此边界条件是周期性的 我现在正在使用逐次过松弛算法来解决这个问题,但速度非常慢。我尝试了Geometry 拉帕克:求解大型周期带状方程组,geometry,linear-algebra,lapack,scalapack,lapacke,Geometry,Linear Algebra,Lapack,Scalapack,Lapacke,对于一般的平均曲率流问题,我必须在每个时间步求解大量的联立方程组(~1000)。该问题定义在闭流形上,因此边界条件是周期性的 我现在正在使用逐次过松弛算法来解决这个问题,但速度非常慢。我尝试了dgbtrf->dgbtrs(没有周期性条件),速度非常快 系数矩阵如下所示 ⎛c₁ d₁ e₁ a₁ b₁⎞ ^ ⎢b₂ c₂ d₂ e₂ 0 a₂⎥ | ⎢a₃ b₃ c₃ d₃ . 0 ⎥
dgbtrf->dgbtrs
(没有周期性条件),速度非常快
系数矩阵如下所示
⎛c₁ d₁ e₁ a₁ b₁⎞ ^
⎢b₂ c₂ d₂ e₂ 0 a₂⎥ |
⎢a₃ b₃ c₃ d₃ . 0 ⎥ |
A ← ⎢ a₄ b₄ c₄ . . ⎥ ~1000
⎢ 0 . . . . en₋₂⎥ |
⎢en₋₁ 0 . . . dn₋₁⎥ |
⎝dn en an bn cn ⎠ v
我需要解五对角系统,它们不是对称的,也不知道是正定的
有没有办法解决LAPACK中的循环/周期带状系统
或者我必须使用通用的解算器,比如
dgetrs
?1000个变量实际上并没有那么大。应使用LU分解(即dgetrs方法)在0.002秒的量级上解决该问题?我至少要试一试。谢谢。我试着把它作为一个通用矩阵来求解。对于1000个变量,1000次小时间步长的解决方案是每个问题超过5秒。带状方法以交互速度解决了这一问题。在我的例子中,这是交互式的(至少>10fps),这一点很重要。我正在尝试谢尔曼·莫里森公式。嘿@hkrish,你能解决这个问题吗?你是否使用过谢尔曼-莫里森公式或找到其他方法?我也有类似的问题,我希望能有任何见解。@alexis我想,我最终使用了SOR。