y****d 发帖数: 52 | 1 需要求一个矩阵的本征值和本征向量(eigenvalue/eigenvector),矩阵比较大,1000000*
1000000 (1百万*1百万),但有一定周期结构,并且绝大多数是0. 而且我只需要本征值最
低的10到100个结果。
各位有没有推荐的子程序? 最好是Fortran or C写的。
PS,SVD我已经试过了,奇慢。而且没有必要把所有的eigenvalue都接出来。
多谢各位! |
r****y 发帖数: 1437 | 2 For both eigen value and SVD, you can iterativelly solve it, get the
first n largest eigen values/singular values and corresponding vectors.
If you use matlab, matlab has available routine for sparse matrices,
you can easily calculate the first-n components you want.
1000000*
最
【在 y****d 的大作中提到】 : 需要求一个矩阵的本征值和本征向量(eigenvalue/eigenvector),矩阵比较大,1000000* : 1000000 (1百万*1百万),但有一定周期结构,并且绝大多数是0. 而且我只需要本征值最 : 低的10到100个结果。 : 各位有没有推荐的子程序? 最好是Fortran or C写的。 : PS,SVD我已经试过了,奇慢。而且没有必要把所有的eigenvalue都接出来。 : 多谢各位!
|
m********e 发帖数: 5088 | 3 100万*100万的算大型矩阵了,比较推荐Arpack(in Fortran77),但估计这么大的矩阵得
用64bit机器。
一般的32bit机器,4Gdual processor, 4G ram,最多可以解到30万*30万。
再小一点的10万,20万左右的,就可以用matlab*P解了
一般的Matlab如果用sparse+eigs,最多解10000*10000,再多没戏。
所以还是用fortran比较好。
如果我没猜错,应该是要解simultaneous eigenvalue equations吧。
好运
1000000*
最
【在 y****d 的大作中提到】 : 需要求一个矩阵的本征值和本征向量(eigenvalue/eigenvector),矩阵比较大,1000000* : 1000000 (1百万*1百万),但有一定周期结构,并且绝大多数是0. 而且我只需要本征值最 : 低的10到100个结果。 : 各位有没有推荐的子程序? 最好是Fortran or C写的。 : PS,SVD我已经试过了,奇慢。而且没有必要把所有的eigenvalue都接出来。 : 多谢各位!
|
y****d 发帖数: 52 | 4 谢谢!
我去试试看。
是Normal Mode Analysis问题
得
【在 m********e 的大作中提到】 : 100万*100万的算大型矩阵了,比较推荐Arpack(in Fortran77),但估计这么大的矩阵得 : 用64bit机器。 : 一般的32bit机器,4Gdual processor, 4G ram,最多可以解到30万*30万。 : 再小一点的10万,20万左右的,就可以用matlab*P解了 : 一般的Matlab如果用sparse+eigs,最多解10000*10000,再多没戏。 : 所以还是用fortran比较好。 : 如果我没猜错,应该是要解simultaneous eigenvalue equations吧。 : 好运 : : 1000000*
|