为什么scalapack中没有GEEV的等价物?

问题描述 投票:0回答:1

我希望使用 ScaLAPACK 找到大型复杂非埃尔米特矩阵的特征值。我似乎找不到这种通用特征求解器的任何文档(大概名称类似于 PZGEEV)。有谁知道为什么这种方法似乎不可用?我是否应该使用某种数学技巧,以便可以通过现有的 ScaLAPACK 算法(如 PZGESVD、PZHEEV)来解决我的对角化问题?

我单独使用 PZGESVD 进行了一些尝试,但这还不够。该问题的前提是采用厄密矩阵并通过相互作用对其进行扰动,从而产生非厄密系统,其中特征值的虚部具有相关的物理意义。简而言之,我需要特征值的那些虚部。

matrix lapack eigenvalue scalapack
1个回答
0
投票

我仍然不确定为什么除了开发人员没有抽出时间之外不存在这样的方法。也就是说,我找到了解决方法。流程如下:

  1. 使用 PZGEHRD 计算 Hessenberg 分解
  2. 使用 PZLAHQR 计算 Schur 分解,该方法假设矩阵为 Hessenberg 形式(因此步骤 1 作为先决条件)。

Schur 分解的对角线是矩阵的特征值。我相信获取特征值也可以完成,但可能需要额外应用基本的 ScaLAPACK 方法来手动求解给定的特征值。

© www.soinside.com 2019 - 2024. All rights reserved.