開源Math.NET基礎數學類庫使用綜合介紹
1.Math.NET基本介紹
Math.NET官方網站:http://www.mathdotnet.com/
Math.NET初衷是開源建立一個穩定并持續維護的先進的基礎數學工具箱,以滿足.NET開發者的日常需求。目前該組件主要分為以下幾個子項目,該組件同時也支持Mono,而且支持的平臺也非常廣泛(PCL Portable Profile 47: Windows 8, Silverlight 5,Xamarin: Android, iOS)。
2.Math.NET Numerics
Math.NET Numerics是核心功能是數值計算。主要是提供日常科學工程計算相關的算法,包括一些特殊函數,線性代數,概率論,隨機函數,微積分,插值,最優化等相關計算功能。它是在 Math.NET Iridium和dnAnalytics 的基礎上合并而來。該組件里面包括了一個讀取Matlab數據格式的功能,我們將在后幾篇博客中加以介紹。其主要特征有:http://en.wikipedia.org/wiki/Math.NET_Numerics
支持概率分布:離散型、連續型和多元
偽隨機數生成器
支持稀疏矩陣和向量的復雜的線性代數解決方法
LU, QR, SVD, EVD,Cholesky分解
矩陣讀寫功能,支持Matlab和一些分開的文件
復數計算
特殊函數: Gamma, Beta, Erf,Bessel,Struve 等等
插值,線性回歸,曲線擬合
數值積分,方程求解
描述性統計、統計直方圖,皮爾森相關系數
馬爾可夫鏈蒙特卡羅抽樣
基本的財務統計數據
傅里葉變換(FFT)
重載的數學操作符來簡化復雜的表達式
Mono平臺支持,可選支持英特爾數學內核庫(Microsoft Windows和Linux)
可選更多的的F#擴展用法
該子項目的主頁:https://github.com/mathnet/mathnet-numerics
3.Math.NET Symbolics
Math.NET Symbolics是一個Math.NET下一個基礎的代數計算項目,該項目的最終目的并不是要成為如Maple,Mathematica那樣一個完善的計算機代數計算系統。以前在做Matlab.NET混合編程的時候,經常就有人問為什么混合編程的符號計算用不了,其實就是用不了,官方不支持,那怎么辦,其實簡單的功能,就可以使用這個項目來完成。詳細的使用可以參考項目主頁的幫助文檔,接下來的文章也會加以介紹。
項目主頁:https://github.com/mathnet/mathnet-symbolics
4.Math.NET Filtering
Math.NET Filtering是一個數字信號處理工具箱,提供了數字濾波器的基礎功能,以及濾波器應用到數字信號處理和數據流轉換的相關功能。
項目主頁:https://github.com/mathnet/mathnet-filtering
5.Math.NET Spatial
是Math.NET下的一個幾何處理工具箱。
項目主頁:https://github.com/mathnet/mathnet-spatial
6.其他
Math.NET在發展過程中的一些其他項目如Math.NET Iridium ,Math.NET Classic, Math.NET Linq Algebra, Math.NET Yttrium等都是歷史(有一些是實驗性的),現在都已經合并到上述幾個子項目中。
來自:http://www.cnblogs.com/asxinyu/p/4264638.html