特征值问题和 HPC 的矩阵变换

问题描述

我有矩阵 Q

Q.shape(2,2,n,n)。其中 nk**2 ,k > 1

所以 Q 是块矩阵:

Q[0,0].shape(n,n)

Q[0,1].shape(n,n)

Q[1,n)

嵌套在 Q 矩阵内是稀疏的。

我有特征值问题 Q * v = lambda * v。 其中 v.shape 是向量的向量 (2,1,1)

矩阵是稀疏的,因为它们非常庞大。 (k 假设大于 1000)。 目前我看到的唯一解决方案是使用 scipy.sparse.linalg.eigs,但 Q 应该是方形的。

如果我使用 scipy.sparse.hstackscipy.sparse.vstack 将 Q 形状 (2,n) 转换为 Qs (2n,2n) 并且 v 矢量形状将为 vs { {1}}?

1.特征值问题是否合法:Qs * vs = lambda * vs?

如果是,在这种情况下我可以使用这个: (2n,1)

2.同样,我正在寻找可能比 w,v = scipy.sparse.linalg.eigs(Qs,k=1,sigma=1.4,which='SM') 更快的特征值求解器来自 eigs,用于极大的矩阵 scipy.sparse.linalg 您对基于 gpu 的 hpc slurm 有何建议?

有 Intel python,这是我发现的唯一一种加速方法

有 CUDA 稀疏库 cuSOLVER 似乎不错。但我没有找到 slurm 的例子。

希望我的描述可以理解。 Here 也是我关于渲染矩阵的第一个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)