我正在尝试将一些代码从Matlab移植到Python,我遇到了一个问题.我似乎无法找到相当于svds.
我尝试使用numpy.corrcoef然后numpy.linalg.eig,但numpy.corrcoef不适用于大型数组(比如500 x 20000).
这是matlab中的代码,如果它有任何区别:
s = size(data, 2)
mean = sum(data, 2)/s
m_data = ( data - repmat(mean, 1, s) ) / sqrt(s - 1)
[res_u,res_s] = svds(m_data, s)
eigenvals = diag(res_s).^2
eigenvecs = res_u
Run Code Online (Sandbox Code Playgroud)