本文轉自http://www.cnblogs.com/zangbo/p/5622351.html
一、jama簡介
Jama是一個基本的線性代數java包。包括一個基本的Matrix類和5個矩陣分解類。
Matrix類提供了基本的線性代數數值運算的功能,不同的構造函數可以構造雙精度和浮點精度的二維數組,而不同的gets和sets方法可以返回子矩陣和矩陣元素。
二.矩陣操作
2.1 對象操作
(1)構造函數
利用二維數組a[][]創建矩陣並打印矩陣。
(2)set方法
Set方法中,set(0,0,2)中的三個參數分別表示行序、列序和數值。
(3)get方法
在get方法中,函數getMatrix(0,2,0,0)表示取矩陣第一列元素,第1、2個參數表示行的起始和結束(即從第一行到第三行),第3、4個參數表示列的起始和結束(即從第0列到第0列)。
(4)拷貝方法
在拷貝方法中,矩陣copy后還是Matrix類型。
(5)克隆方法
矩陣克隆后變為object對象,需要將其轉化成Matrix類型。
2.2 矩陣元素級別的操作
(1)矩陣加法
矩陣A與矩陣B相加:Matrix D = A.plus(B)
(2)矩陣相減
矩陣A與矩陣B相減:Matrix C = A.minus(B)
(3)矩陣乘法
矩陣A與矩陣B相乘:Matrix E = A.times(B)
(4)放大縮小
將矩陣元素放大兩倍:Matrix Q = A.times(2)
(5)元素除法
矩陣左除:Matrix F = A.arrayLeftDivide(B)
(6)矩陣求逆
矩陣求逆:matrix.inverse()
(7)求矩陣的轉置
(8)矩陣的范式
2.3 矩陣分解
(1)LU分解
(2)QR分解
(3)SVD分解
2.4矩陣相關的數學量
(1)條件數
(2)行列式
(3矩陣秩
(4)求逆
參考文獻:
jama jar包下載地址:http://math.nist.gov/javanumerics/jama/
官方文檔地址:http://math.nist.gov/javanumerics/jama/doc/
JAMA:java矩陣包:http://article.yeeyan.org/view/49656/40905