avatar
关于超大型矩阵的算法# Computation - 科学计算
m*e
1
本人用有限差分法算8个耦合的eigenvalue functions.
最后的矩阵实在打得惊人,大约100万*100万。要算其eigenvalues and eigenfunctions
Matlab肯定是不行了(感觉大于8000*8000就不行了)
请问大牛们这种情况怎么处理,我想到用Fortran做并行计算,不过package很难确定,网
上很多算大型稀疏矩阵的package不知道如何选择。大家有没有好的建议?
先谢谢了
avatar
a*a
2
看数据量吧,total=10^6*10^6=10^12.
就算每个数据占一个字节,这个数据量也大得惊人。先找到足够的存储器再说。
另外就是用稀疏矩阵。如果稀疏度能达到10^-6级别,那还是可以计算的。

eigenfunctions


【在 m********e 的大作中提到】
: 本人用有限差分法算8个耦合的eigenvalue functions.
: 最后的矩阵实在打得惊人,大约100万*100万。要算其eigenvalues and eigenfunctions
: Matlab肯定是不行了(感觉大于8000*8000就不行了)
: 请问大牛们这种情况怎么处理,我想到用Fortran做并行计算,不过package很难确定,网
: 上很多算大型稀疏矩阵的package不知道如何选择。大家有没有好的建议?
: 先谢谢了

avatar
m*e
3
稀疏度应该还是挺大的,关键就算是稀疏矩阵也很麻烦。毕竟维数这么大。。。
有点绝望了,但这东西还是我论文的一部分。

【在 a**a 的大作中提到】
: 看数据量吧,total=10^6*10^6=10^12.
: 就算每个数据占一个字节,这个数据量也大得惊人。先找到足够的存储器再说。
: 另外就是用稀疏矩阵。如果稀疏度能达到10^-6级别,那还是可以计算的。
:
: eigenfunctions
: 网

avatar
f*r
4
指望靠好的硬件不太现实
如果不能找到一个理想的算法,这个问题是解决不了的
我做的不是有限差分,而是强相关量子系统,
所以如果要求系统的eigenvalue,矩阵的大小也是2^N *2^N
最少,N是系统的大小。精确求解根本不可能。
但是可以利用renormalization的思想,去掉那些不重要的本证态
事实证明,仅保留10个态,如果方法得当,可以得到1e-4的精度的eigenvalue.
关于稀疏矩阵的算法,有很多种,我想很常用的一种就是jacobi-davidson,
你应该可以在网上找到matlab和fortran的程序。

eigenfunctions


【在 m********e 的大作中提到】
: 本人用有限差分法算8个耦合的eigenvalue functions.
: 最后的矩阵实在打得惊人,大约100万*100万。要算其eigenvalues and eigenfunctions
: Matlab肯定是不行了(感觉大于8000*8000就不行了)
: 请问大牛们这种情况怎么处理,我想到用Fortran做并行计算,不过package很难确定,网
: 上很多算大型稀疏矩阵的package不知道如何选择。大家有没有好的建议?
: 先谢谢了

avatar
y*i
5
用fortran,
用arpack包,不用存矩阵,
中间费时的是矩阵和矢量相乘,并行处理,
低精度和计算少量本征值的话用时很少。

eigenfunctions


【在 m********e 的大作中提到】
: 本人用有限差分法算8个耦合的eigenvalue functions.
: 最后的矩阵实在打得惊人,大约100万*100万。要算其eigenvalues and eigenfunctions
: Matlab肯定是不行了(感觉大于8000*8000就不行了)
: 请问大牛们这种情况怎么处理,我想到用Fortran做并行计算,不过package很难确定,网
: 上很多算大型稀疏矩阵的package不知道如何选择。大家有没有好的建议?
: 先谢谢了

avatar
g*c
6
holy cow

eigenfunctions


【在 m********e 的大作中提到】
: 本人用有限差分法算8个耦合的eigenvalue functions.
: 最后的矩阵实在打得惊人,大约100万*100万。要算其eigenvalues and eigenfunctions
: Matlab肯定是不行了(感觉大于8000*8000就不行了)
: 请问大牛们这种情况怎么处理,我想到用Fortran做并行计算,不过package很难确定,网
: 上很多算大型稀疏矩阵的package不知道如何选择。大家有没有好的建议?
: 先谢谢了

avatar
c*e
7
You may try multi-grid. You shouldn't have tried to solve
a linear system like this.

eigenfunctions


【在 m********e 的大作中提到】
: 本人用有限差分法算8个耦合的eigenvalue functions.
: 最后的矩阵实在打得惊人,大约100万*100万。要算其eigenvalues and eigenfunctions
: Matlab肯定是不行了(感觉大于8000*8000就不行了)
: 请问大牛们这种情况怎么处理,我想到用Fortran做并行计算,不过package很难确定,网
: 上很多算大型稀疏矩阵的package不知道如何选择。大家有没有好的建议?
: 先谢谢了

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。