一、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