原创 Git提交branch到remote

有3種情況: 遠程已有branch1分支, 並且已經關聯本地分支branch1,已經切換到branch1了。 git push 遠程已有branch1分支但未關聯本地分支branch1,本地已經在bra

原创 Eigen入門之密集矩陣 9 - 別名混亂Aliasing

簡介 別名混亂Aliasing是指在賦值表達式中,一個Eigen對象(矩陣、數組、向量)同時出現在左值和右值表達式中,比如v = v*2; m = m.transpose();; 別名混亂會引起錯誤,從而產生問題,比如m = m.

原创 NLog配置文件介紹

Introduction NLog will only produce output if having configured one (or more) NLog targets. NLog can be configured

原创 Eigen 入門 1 - Eigen簡介

簡介 Eigen是一個開源的矩陣和向量的計算庫。其主要提供了 密集矩陣定義和計算 稀疏矩陣定義及計算 幾何意義 安裝 Eigen其實並不用安裝,應爲其直接提供了C++的源碼,而且是最有.h頭文件,所有的聲明和定義都在頭文件內

原创 安裝cygwin時的一個長時間處理

安裝cygwin 32位版本時,在執行到/etc/postinstall/0p_texlive_prep.dash時,會花費非常長的時間。 而cygwin 64位版本時,感覺沒有花費這麼長的時間。 在網絡上查了一下,這個問題還很普

原创 Eigen入門之密集矩陣 2-- Matrix及Vector的計算方法

簡介 Eigen內的Matrix和Vector提供了類似C++的運算符,如+,-,*;也提供了編程的函數方法,如點乘和叉乘的dot(), cross(),如此等等。 在Eigen的Matrix類,代表矩陣matrics和向量vec

原创 Eigen入門之密集矩陣 10 - 矩陣的行優先及列優先存儲

簡介 本篇介紹Eigen中矩陣及二維數組的係數存儲順序–行優先及列優先,已經如何指定優先順序。 行優先(row-majoe)、 列優先(column-majoe) 矩陣的係數條目組成了一個二維的結構,在內存內存儲矩陣時,必須以某種

原创 NLog日誌寫文件的一個性能問題

在項目中,使用NLog記錄日誌,這是一個很正常的操作。 目前處理的一個項目中,有8個程序執行,每個都有日誌文件;然後由一個日誌記錄會比較頻繁,每秒有接近1M的日誌記錄,而且都20次,在開發的機器上,使用SSD固態硬盤,程序執行很正

原创 Eigen密集矩陣求解 2 - 求解最小二乘系統

簡介 本篇介紹如何使用Eigen求解線性最小二乘系統。 一個系統可能無精確的解,比如Ax=b的線性方程式,不存在解。這時,找到一個最接近的解x,使得偏差Ax-b儘可能地小,能夠滿足誤差要求error-margin。那這個x就稱爲最

原创 Eigen密集矩陣求解 1 - 線性代數及矩陣分解

簡介 這裏介紹線性系統的解析,如何進行各種分解計算,如LU,QR,SVD,特徵值分解等。 簡單線性求解 在一個線性系統,常如下表示,其中A,b分別是一個矩陣,需要求x: Ax = b Ax \: = \: b Ax=b 在Eige

原创 Eigen入門之密集矩陣 8 - resharp & slicing切片

簡介 Eigen還沒有提供resharp或者slicing的處理函數,但是,可以使用Map 類來實現這些功能。 實現resharp 操作Resharp及修改Matrix的維度大小,而其係數保持不變。Resharp時,應該返回一個對

原创 Eigen入門之密集矩陣 6 - Reductions, visitors and broadcasting

簡介 本文介紹一下Dense Matrix的3中操作: reduction, visitor, broadcasting. 歸約計算reduction. Eigen的歸約計算是這樣的一類計算,它是對矩陣或者數組進行的計算,並返回一

原创 Eigen入門之密集矩陣 7 - Map class:連接Eigen與C++的數據

簡介 本文介紹一下Dense Matrix如何與c/C++的數組進行交互操作,這在引入其他的庫中的vector向量和矩陣到Eigen中時要使用到的技術。 有時,你有一些定義好的數據,可能是數組,你需要在Eigen內使用它。一個可選

原创 Eigen入門之密集矩陣 5 - 再談Matrix初始化

簡介 這裏將討論一下高級些的矩陣初始化方法。 comma-initializer 逗號初始化器 comma-initializer方法很簡單,可以一下把矩陣/向量的係數全部設置完。語法很簡單,使用逗號分隔每個係數。前面的介紹文檔中

原创 Eigen入門之密集矩陣 4 - 塊操作

簡介 Eigen 中Matrix/Array提供了.block()來進行block區塊操作,這是面向係數提供的操作功能。 語法 Eigen中提供了2種語法,針對產生的結果是一致的。但存在性能上的不同,任何時候,使用fixed-si