目錄### 代碼包含4個文件, main.cpp, 提供了一個調用svds的樣例 fun.h, 提供了一些公共函數,比如排序等等 svds.cpp, 奇異值分解的實現 svds.h,奇異值分解的頭文件 main.cpp### fun.h### svds.h ...
. 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 ,每一列為一個特征向量, S 是對角陣,對角線上每個元素為特征值。 r 為分解的秩 lanczos算法分三步求解: 對 X 進行正交變換得到一個三 ...
2016-09-21 02:21 4 5318 推薦指數:
目錄### 代碼包含4個文件, main.cpp, 提供了一個調用svds的樣例 fun.h, 提供了一些公共函數,比如排序等等 svds.cpp, 奇異值分解的實現 svds.h,奇異值分解的頭文件 main.cpp### fun.h### svds.h ...
1. 基本的QR算法 我們先討論一般對陣矩陣的QR算法,再討論對稱三對角陣的QR算法 給定一個實對稱陣X,假設其特征值分解為X=PSP',其中P對正交陣,S是對角陣。求P,S的QR算法如下,其中 $Q_k$為正交陣,$R_k$為上三角陣: $X_1=X$ for k=1,2 ...
1. 基本思想 在第一篇中,我們討論了lanczos算法的基本框架。當我們用lanczos算法將一個實對稱陣轉化成三對角陣之后,我們可以用第二篇中的QR算法計算三對角陣的特征值特征向量。 本篇我們將討論計算該三對角陣更加快速的算法——分治法(Divide and Conquer),該算法最早 ...
圖的最短路徑問題主要包括三種算法: (1)Dijkstra (沒有負權邊的單源最短路徑) (2)Floyed (多源最短路徑) (3)Bellman (含有負權邊的單源最短路徑) 本文主要講使用C++實現簡單的Dijkstra算法 Dijkstra算法簡單實現(C++ ...
圖的最短路徑問題主要包括三種算法: (1)Dijkstra (沒有負權邊的單源最短路徑) (2)Floyed (多源最短路徑) (3)Bellman (含有負權邊的單源最短路徑) 本文主要講使用C++實現簡單的Floyd算法,Floyd算法原理參見 Floyd–Warshall ...
RSA算法原理轉自:https://www.cnblogs.com/idreamo/p/9411265.html C++代碼實現部分為本文新加 RSA算法簡介 RSA是最流行的非對稱加密算法之一。也被稱為公鑰加密。它是由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾 ...
簡單選擇排序采用最簡單的選擇方法,即在剩余序列中選出最小(或最大)的關鍵字,和剩余序列的第一個關鍵字交換位置,依次選擇下去,直至使整個序列有序。 算法中兩層循環的執行次數和初始序列沒有關系,第二層循環每一次都需要遍歷剩余帶排序序列,故時間復雜度為O(n2) 直接 ...
RSA是一種非對稱加密算法,在公開密鑰和電子商業中RSA被廣泛使用。它是基於一個很簡單的數論事實,兩個素數相乘很容易,對兩素數乘積因式分解很困難。原理就不再闡述了,我談談算法的編程實現過程。 一、RSA加密和解密過程是基於以下形式,其中明文為M,密文為C,公匙PU={e, n},密匙PR ...