lanczos算法及C++實現(一)框架及簡單實現
1. lanczos方法的大致思路 為了求$m$階方陣$X$最大的$r$個特征值和特征向量: $X_{m\times m}\approx U_{m\times r} S_{r\times r} U^T_{m\times r}$, 其中$U$是列正交矩陣,即 $U^TU=I$,每一列為一個 ...
1. lanczos方法的大致思路 為了求$m$階方陣$X$最大的$r$個特征值和特征向量: $X_{m\times m}\approx U_{m\times r} S_{r\times r} U^T_{m\times r}$, 其中$U$是列正交矩陣,即 $U^TU=I$,每一列為一個 ...
1. 基本思想 在第一篇中,我們討論了lanczos算法的基本框架。當我們用lanczos算法將一個實對稱陣轉化成三對角陣之后,我們可以用第二篇中的QR算法計算三對角陣的特征值特征向量。 本篇我們將討論計算該三對角陣更加快速的算法——分治法(Divide and Conquer),該算法最早 ...
目錄### 代碼包含4個文件, main.cpp, 提供了一個調用svds的樣例 fun.h, 提供了一些公共函數,比如排序等等 svds.cpp, 奇異值分解的實現 svds.h,奇異值分解的頭文 ...