【问题标题】:Confused with pdpotrf arguments对 pdpotrf 参数感到困惑
【发布时间】:2015-09-05 09:38:02
【问题描述】:

我想在分布式环境中进行 Cholesky 分解。为此,我使用pdpotrf()。但是,我很难理解函数所需的参数,并且它们没有提供关于如何使用它的 C 示例(如果有一个示例真的很棒)。

假设我有一个想要分解的 NxX 矩阵。那么,参数应该有什么值呢? uploainfo 在我的脑海中定义明确。剩下的呢?

n 应该等于 N 我会说。但是,descaiaja 是让我感到困惑的。此外,desca 是全局和本地的,我无法理解。有人可以解释吗?也许有一个方法示例(不一定是代码,因为我想理解,而不仅仅是复制粘贴)。

我确实了解任何 Fortran。

【问题讨论】:

  • 你首先需要研究这个包是如何分布矩阵的,然后你就会知道参数的含义。您不需要 Fortran。您确实需要阅读 ScaLAPACK 手册。
  • 如果我能找到,那就太好了!我们不能从参数@VladimirF 中说明分布是如何发生的吗?
  • @VladimirF 信不信由你,昨天晚上(当我出去的时候),我想我应该谷歌“在 ScaLAPACK 中分布矩阵”。是的,应该是 RTFM!将调查您提供的链接。您可能还希望对此做出回答。
  • @VladimirF 我确实读过它,但我仍然无法弄清楚。如有必要,我将继续搜索并报告。

标签: c++ mpi linear-algebra intel-mkl scalapack


【解决方案1】:

从这个answer,我们有:

IAJA:这些参数用于在更大的矩阵中提供全局矩阵的起始行和列。仅当您有一个大矩阵并且只想要子矩阵的 Cholesky 分解时,它们才相关。在您的情况下,IAJA 都必须是 1

同样,从这个答案中,存在一个link,它描述了desca

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2021-11-28
    • 2021-06-24
    相关资源
    最近更新 更多