12 2010 檔案
摘要: 我們講到數(shù)學(xué)的計算,難免會遇到分數(shù)形式,因為實數(shù)的定義就是可以表示為一個分數(shù)的形式的數(shù),而加入虛數(shù)的復(fù)數(shù)也是偶爾會遇到的。Commons Math包中的fraction和complex包就分別提供了方法來表示這兩種數(shù)。
閱讀全文
摘要: 概率分布是概率論的一個基礎(chǔ)。
在Commons Math包中也專門有一個子包對概率分布進行了封裝實現(xiàn)。在distribution包中,定義了一個基本接口Distribution。該接口只有兩個方法,一個是double cumulativeProbability(double x),一個是double cumulativeProbability(double x0, double x1)。前者對于服從某種分布的隨機變量X,返回P(X<=x);后者則返回P(x0<=X<=x1)。正如其名所示,這樣也就得到了概率。
閱讀全文
摘要: 函數(shù)方程求解,其實是函數(shù)的零點問題,也就是說函數(shù)的曲線與X軸的交點。對于線性方程,我們可以輕易的求解,對于線性方程組,利用前面講過的的矩陣分解方法也可以求解。那么對于函數(shù)表達的很多非線性方程的求解。我們要依賴數(shù)值算法。Commons Math包中專門有一個analysis.solver包來解決這個問題。
閱讀全文
摘要: 積分可以說是最常見的了,在函數(shù)的一節(jié)中我們講過函數(shù)的微分和給定變量求值,這里我們講講通過函數(shù)求積分,具體的數(shù)值積分方法和應(yīng)用。什么是數(shù)值積分?在數(shù)值分析中,數(shù)值積分是計算定積分數(shù)值的方法和理論。在數(shù)學(xué)分析中,給定函數(shù)的定積分的計算不總是可行的。許多定積分不能用已知的積分公式得到精確值。數(shù)值積分是利用黎曼積分等數(shù)學(xué)定義,用數(shù)值逼近的方法近似計算給定的定積分值。借助于電子計算設(shè)備,數(shù)值積分可以快速而有效地計算復(fù)雜的積分。Commons Math中的積分包analysis.integration提供了幾種數(shù)值積分的實現(xiàn),UnivariateRealIntegrator接口是積分包中的基礎(chǔ)接口,該接口繼承了math包中的ConvergingAlgorithm接口。具體定義了一系列方法,其中比較主要的有double integrate(UnivariateRealFunction f, double min, double max)方法,這個方法就是通過min和max設(shè)定積分區(qū)間,通過f設(shè)定被積函數(shù),最后返回定積分值的方法。可以看到這個接口的實現(xiàn)是針對單變量實函數(shù)的。多元積分的實現(xiàn),目前還沒有看
閱讀全文
摘要: 在Commons Math中的analysis.interpolation包中有所有的與函數(shù)插值相關(guān)的類和接口定義。這一篇主要從這個包分析,來研究一下函數(shù)插值的應(yīng)用。在2.1的api doc中添加了很多新的接口和類實現(xiàn),但是2.0的source code里還是只有少量的實現(xiàn)。這里以2.0的source code為標(biāo)準,輔助以2.1的api doc(其實這都是不影響的)。
插值是數(shù)學(xué)領(lǐng)域數(shù)值分析中的通過已知的離散數(shù)據(jù)求未知數(shù)據(jù)的過程或方法。給定n個離散數(shù)據(jù)點(稱為節(jié)點)(xk,yk),k= 1,2,...,n。對于,求x所對應(yīng)的y的值稱為內(nèi)插。f(x)為定義在區(qū)間[a,b]上的函數(shù)。x1,x2,x3...xn為[a,b]上n個互不相同的點,G為給定的某意函數(shù)類。若G上有函數(shù)g(x)滿足: g(xi) = f(xi),k = 1,2,...n
則稱g(x)為f(x)關(guān)于節(jié)點x1,x2,x3...xn在G上的插值函數(shù)
閱讀全文
摘要: 在Commons Math中的analysis.polynomials包中有所有的與多項式函數(shù)相關(guān)的類和接口定義。這一篇主要從這個包分析,來研究一下多項式函數(shù)的應(yīng)用。
閱讀全文
摘要: 向量和矩陣可以說是線性代數(shù)的代表,那么返還到高等數(shù)學(xué)中,函數(shù)就是我們最常用到的單位了,還有各種微積分和其他應(yīng)用,都是建立在變量、函數(shù)的基礎(chǔ)上的。Commons Math庫的下一個研讀部分就是針對函數(shù)這一塊。在Commons Math中也單獨有一個analysis包完成這部分實現(xiàn)。
閱讀全文
摘要: 補充上一次的矩陣知識,這次主要講講矩陣的一些分解運算——Matrix Decomposition:
矩陣分解主要有三種方式:LU分解,QR分解和奇異值分解。當(dāng)然在Math的linear包中提供了對應(yīng)的接口有CholeskyDecomposition、EigenDecomposition、LUDecomposition、QRDecomposition和SingularValueDecomposition這5種分解方式。
閱讀全文
摘要: 今天來第二篇:矩陣——Matrix。
Math包org.apache.commons.math.linear里對矩陣的表示是有一個層次結(jié)構(gòu)的。
最頂層的AnyMatrix是一個基本的interface。下面有3個sub interface:BigMatrix, FieldMatrix
, RealMatrix。而每個sub interface分別被相應(yīng)的矩陣類實現(xiàn)。整個矩陣的層次結(jié)構(gòu)也就出來了。不過其中的BigMatrix已經(jīng)不用了。被Array2DRowFieldMatrix替代了。
閱讀全文