truncated SVD decomposition problem

Hi everyone,
I am coding an algorithm that has the truncated SVD inside and I am wondering if there is any way to fast perform the truncated SVD.
For example: I have a matrix and I need to perform the SVD decomposition that will result in three matrices U, S, V. In the matrix S, I only want to keep k eigenvalues (k columns) with the condition that these eigenvalues > THRESHOLD*Largest_eigenvalue.
Currently, I perform the truncated SVD by first computing the SVD 'econ' and then keeping the k columns. I wonder if there is any other faster way to do this.
P/S: I do not know the k number before having the S matrix. What I have before doing the decomposition is the THRESHOLD value.
Thank you very much in advance.
Vinh

回答 (1 件)

Abhijeet Go-kar
Abhijeet Go-kar 2018 年 3 月 31 日

0 投票

The faster way to do truncated SVD is to find its analogue with PCA and perform the matrix operations accordingly. Rather than worry about the threshold of eigenvalues, just give a comparison statement of the dimensions of the matrix in the code, and perform the SVD on the matrices.

カテゴリ

ヘルプ センター および File ExchangeLinear Algebra についてさらに検索

タグ

質問済み:

2013 年 11 月 15 日

回答済み:

2018 年 3 月 31 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by