天天看點

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

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

Math.NET初衷是開源建立一個穩定并持續維護的先進的基礎數學工具箱,以滿足.NET開發者的日常需求。目前該元件主要分為以下幾個子項目,該元件同時也支援Mono,而且支援的平台也非常廣泛(PCL Portable Profile 47: Windows 8, Silverlight 5,Xamarin: Android, iOS)。幾年前接觸這個元件的時候,隻需要在.NET平台進行一些正常的微積分計算,功能還比較少,隻限于正常的數值計算,現在已經功能越來越多了,應該是目前最好的替代Matlab進行數值計算的.NET元件。本文及接下來的幾篇文章将詳細的對該元件進行介紹。還有在.NET平台使用相關Matlab混編進行數值計算的朋友該好好了解了解并學習下了。當然這個基礎元件的功能很廣泛,應該很多都比較喜歡吧。

               本部落格所有文章分類的總目錄:【總目錄】本部落格博文總目錄-實時更新 

開源Math.NET基礎數學類庫使用總目錄:【目錄】開源Math.NET基礎數學類庫使用總目錄

前言

  幾年前接觸這個元件的時候,隻需要在.NET平台進行一些正常的微積分計算,功能還比較少,隻限于正常的數值計算,現在已經功能越來越多了,應該是目前最好的替代Matlab進行數值計算的.NET元件。本文及接下來的幾篇文章将詳細的對該元件進行介紹。還有在.NET平台使用相關Matlab混編進行數值計算的朋友該好好了解了解并學習下了。當然這個基礎元件的功能很廣泛,應該很多都比較喜歡吧。

如果本文章資源下載下傳不了,或者文章顯示有問題,請參考 本文原文位址:http://www.cnblogs.com/asxinyu/p/4264638.html 

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

.NET資料挖掘與機器學習,作者部落格:

http://www.cnblogs.com/asxinyu

E-mail:[email protected]

繼續閱讀