C#數學計算包 Math.NET

1.Math.NET基本介紹

Math.NET官方網站:http://www.mathdotnet.com/

Math.NET的目標是爲提供一款自身包含清晰框架的符號運算和數學運算/科學運算,它是C#開發的開源類庫。Math.NET含了一個支持線性代數的解析器,分析複雜微分,解方程等等功能。這個項目大部分採用的是MIT/X11開源軟件協議。目前該組件主要分爲以下幾個子項目,該組件同時也支持Mono,最新版本通過.NET標準庫支持的平臺也非常廣泛。 

 

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等都是歷史(有一些是實驗性的),現在都已經合併到上述幾個子項目中。
 

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

  2.開源Math.NET基礎數學類庫使用(02)矩陣向量計算

  3.開源Math.NET基礎數學類庫使用(03)C#解析Matlab的mat格式

  4.開源Math.NET基礎數學類庫使用(04)C#解析Matrix Marke數據格式

  5.開源Math.NET基礎數學類庫使用(05)C#解析Delimited Formats數據格式

  6.開源Math.NET基礎數學類庫使用(06)直接求解線性方程組

  7.開源Math.NET基礎數學類庫使用(07)常用的數學物理常數

  8.開源Math.NET基礎數學類庫使用(08)C#進行數值積分

  9.開源Math.NET基礎數學類庫使用(09)相關數論函數使用

10.開源Math.NET基礎數學類庫使用(10)C#進行基本數據統計

11.開源Math.NET基礎數學類庫使用(11)C#計算相關係數

12.開源Math.NET基礎數學類庫使用(12)C#隨機數擴展方法

13.開源Math.NET基礎數學類庫使用(13)C#實現其他隨機數生成器

14.開源Math.NET基礎數學類庫使用(14)C#生成安全的隨機數

15.開源Math.NET基礎數學類庫使用(15)C#計算矩陣行列式

16.開源Math.NET基礎數學類庫使用(16)C#計算矩陣秩

17.開源Math.NET基礎數學類庫使用(17)C#計算矩陣條件數

18. Linear Regression with Math.NET Numerics  

轉載來源:http://www.csharpkit.com/2017-12-18_52977.html

Math.net官網:https://www.mathdotnet.com/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章