Java矩阵运算,jama包

Jama是一个基本的线性代数java包。包括一个基本的Matrix类和5个矩阵分解类。

Matrix类提供了基本的线性代数数值运算的功能,不同的构造函数可以构造双精度和浮点精度的二维数组,而不同的gets和sets方法可以返回子矩阵和矩阵元素。

基本的算术运算包括矩阵相加,矩阵相乘,矩阵范式以及基于矩阵元素的算术运算。打印矩阵的函数也包括在内。

矩阵的五大分解,涉及一对或三元组,排列向量矩阵等,对应于jama的5个矩阵分解类。这些分解类可由Matrix类访问,可以求解线性方程组,求解方阵行列式,求逆和其他矩阵运算。这些分解类如下:

1、对称正定矩阵的Cholesky分解

2、矩阵的LU分解(高斯消元)

3、矩阵的QR分解

4、对称和非对称方阵的特征向量值分解

5、矩阵的奇异值分解   

jama功能汇总如下图

Java矩阵运算,jama包_第1张图片

使用举例(首先要引入Jama.1.0.3.jar):

import Jama.Matrix;

public class Matrix_Test {
	
	public static void main(String[] args) {
		double[][] a = {
				{1,1,0},
				{0,1,0},
				{0,0,1}
		};
		
		//利用二维数组创建矩阵
		Matrix matrix = new Matrix(a);
		
		//打印矩阵,第一个参数是每一列的宽度,第二个参数是保留的小数点位数
		matrix.print(3, 2);
		
		//求矩阵的逆
		matrix.inverse().print(3,2);
		
		//求矩阵的转置
		matrix.transpose().print(3,2);
		
		//矩阵乘法
		matrix.transpose().times(matrix).print(3,2);
	}
}


参考文献:

jama jar包下载地址:http://math.nist.gov/javanumerics/jama/

官方文档地址:http://math.nist.gov/javanumerics/jama/doc/

JAMA:java矩阵包:http://article.yeeyan.org/view/49656/40905

你可能感兴趣的:(Java矩阵运算,jama包)