问题描述
我有矩阵 Q
Q.shape
是 (2,2,n,n)
。其中 n
是 k**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.hstack
和 scipy.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 (将#修改为@)