c*******d 发帖数: 255 | 1 【 以下文字转载自 Mathematics 讨论区 】
发信人: connected (disconnected), 信区: Mathematics
标 题: 有没有这种SVD的程序
发信站: BBS 未名空间站 (Mon Oct 5 17:42:03 2009, 美东)
假设B是一个mxn的矩阵,而S是mxm的对称正定阵,T是nxn的对称正定阵。
令K=S^{-1/2}*B*T^{-1/2}
有没有软件包可以根据B, S, T来得到矩阵K的SVD?
只需要singular values就好。 | x*****u 发帖数: 3419 | 2 try lapack function dgesvd
【在 c*******d 的大作中提到】 : 【 以下文字转载自 Mathematics 讨论区 】 : 发信人: connected (disconnected), 信区: Mathematics : 标 题: 有没有这种SVD的程序 : 发信站: BBS 未名空间站 (Mon Oct 5 17:42:03 2009, 美东) : 假设B是一个mxn的矩阵,而S是mxm的对称正定阵,T是nxn的对称正定阵。 : 令K=S^{-1/2}*B*T^{-1/2} : 有没有软件包可以根据B, S, T来得到矩阵K的SVD? : 只需要singular values就好。
| c*******d 发帖数: 255 | 3 多谢!
【在 x*****u 的大作中提到】 : try lapack function dgesvd
| k******n 发帖数: 35 | 4 I do not think LAPACK is a good choice in your case unless your problem is
really small.
I assume your matrices are dense. Since S and T are positive definite, S^{1/
2} and T^{1/2} can be obtained by Cholesky decomposition. To use LAPACK, K
has to be calculated explicitly. If you only a few singular values, this is
totally not necessary. Consider K as an operator and use ARPACK.
If the problem is small or you need all singular values, LAPACK will be your
choice. However, I would say Matlab will |
|