Java调用jama实现矩阵运算

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

猜你喜欢

转载自blog.csdn.net/xiaoxiao_yang77/article/details/79277322