原文:lanczos算法及C++實現(一)框架及簡單實現

. 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 推薦指數:

查看詳情

lanczos算法C++實現(〇)C++代碼

目錄### 代碼包含4個文件, main.cpp, 提供了一個調用svds的樣例 fun.h, 提供了一些公共函數,比如排序等等 svds.cpp, 奇異值分解的實現 svds.h,奇異值分解的頭文件 main.cpp### fun.h### svds.h ...

Wed Sep 21 10:51:00 CST 2016 0 2654
lanczos算法C++實現(二)實對稱陣奇異值分解的QR算法

1. 基本的QR算法 我們先討論一般對陣矩陣的QR算法,再討論對稱三對角陣的QR算法 給定一個實對稱陣X,假設其特征值分解為X=PSP',其中P對正交陣,S是對角陣。求P,S的QR算法如下,其中 $Q_k$為正交陣,$R_k$為上三角陣: $X_1=X$ for k=1,2 ...

Wed Sep 21 11:05:00 CST 2016 0 3610
lanczos算法C++實現(三)實對稱三對角陣特征值分解的分治算法

1. 基本思想 在第一篇中,我們討論了lanczos算法的基本框架。當我們用lanczos算法將一個實對稱陣轉化成三對角陣之后,我們可以用第二篇中的QR算法計算三對角陣的特征值特征向量。 本篇我們將討論計算該三對角陣更加快速的算法——分治法(Divide and Conquer),該算法最早 ...

Wed Sep 21 14:11:00 CST 2016 4 2824
Dijkstra算法簡單實現C++

圖的最短路徑問題主要包括三種算法: (1)Dijkstra (沒有負權邊的單源最短路徑) (2)Floyed (多源最短路徑) (3)Bellman (含有負權邊的單源最短路徑) 本文主要講使用C++實現簡單的Dijkstra算法 Dijkstra算法簡單實現C++ ...

Tue Jan 15 04:57:00 CST 2019 0 1198
Floyd算法簡單實現C++

圖的最短路徑問題主要包括三種算法: (1)Dijkstra (沒有負權邊的單源最短路徑) (2)Floyed (多源最短路徑) (3)Bellman (含有負權邊的單源最短路徑) 本文主要講使用C++實現簡單的Floyd算法,Floyd算法原理參見 Floyd–Warshall ...

Tue Jan 15 01:26:00 CST 2019 0 1379
加密算法——RSA算法(c++簡單實現)

RSA算法原理轉自:https://www.cnblogs.com/idreamo/p/9411265.html C++代碼實現部分為本文新加 RSA算法簡介 RSA是最流行的非對稱加密算法之一。也被稱為公鑰加密。它是由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾 ...

Wed Dec 04 01:32:00 CST 2019 1 1903
簡單選擇排序算法C++實現

簡單選擇排序采用最簡單的選擇方法,即在剩余序列中選出最小(或最大)的關鍵字,和剩余序列的第一個關鍵字交換位置,依次選擇下去,直至使整個序列有序。 算法中兩層循環的執行次數和初始序列沒有關系,第二層循環每一次都需要遍歷剩余帶排序序列,故時間復雜度為O(n2) 直接 ...

Tue Mar 06 19:04:00 CST 2018 0 3763
RSA加密算法c++簡單實現

RSA是一種非對稱加密算法,在公開密鑰和電子商業中RSA被廣泛使用。它是基於一個很簡單的數論事實,兩個素數相乘很容易,對兩素數乘積因式分解很困難。原理就不再闡述了,我談談算法的編程實現過程。 一、RSA加密和解密過程是基於以下形式,其中明文為M,密文為C,公匙PU={e, n},密匙PR ...

Sat Nov 02 04:34:00 CST 2013 1 17322
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM