開源Math.NET基礎數學類庫使用綜合介紹

jopen 9年前發布 | 28K 次閱讀 Math.NET .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 IridiumdnAnalytics 的基礎上合并而來。該組件里面包括了一個讀取Matlab數據格式的功能,我們將在后幾篇博客中加以介紹。其主要特征有:http://en.wikipedia.org/wiki/Math.NET_Numerics

   支持概率分布:離散型、連續型和多元

偽隨機數生成器 

支持稀疏矩陣和向量的復雜的線性代數解決方法 

LU, QR, SVD, EVD,Cholesky分解 

矩陣讀寫功能,支持Matlab和一些分開的文件 

復數計算 

特殊函數: Gamma, Beta, Erf,Bessel,Struve 等等 

插值,線性回歸,曲線擬合 

數值積分,方程求解 

描述性統計、統計直方圖,皮爾森相關系數 

馬爾可夫鏈蒙特卡羅抽樣 

基本的財務統計數據 

傅里葉變換(FFT) 

重載的數學操作符來簡化復雜的表達式 

Mono平臺支持,可選支持英特爾數學內核庫(Microsoft WindowsLinux) 

可選更多的的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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!