首页 > 技术文章 > Java调用jama实现矩阵运算

zangbo 2016-06-28 09:41 原文

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

 

推荐阅读