Java矩阵库Jama

Jama是一个Java线性代数库,适用于矩阵运算,包括Maven引入、矩阵构造与基本运算、矩阵分解等功能。提供了CholeskyDecomposition等五种矩阵分解方法,可用于线性方程求解等高级运算。适合处理实数矩阵。
摘要由CSDN通过智能技术生成

Jama是一个非常好用的Java的线性代数软件包。适用于日常编程可能碰到的各种矩阵运算问题,提供了一个优雅的简便的解决方案。

原本只是搬砖式的项目工程到后半部分就卡壳了,没有合适的算法来支撑,在经过各种脑洞和论文后,最后还是老老实实的捡回线性代数,尝试着一步步去推导。

Maven引入

<!-- https://mvnrepository.com/artifact/gov.nist.math/jama -->
<dependency>
    <groupId>gov.nist.math</groupId>
    <artifactId>jama</artifactId>
    <version>1.0.3</version>
</dependency>

功能

Jama由6大类组成:Matrix, CholeskyDecomposition, LUDecomposition, QRDecomposition, SingularValueDecompositionEigenvalueDecomposition

Matrix 类提供数值线性代数的基本运算。 各种构造函数从双精度浮点数的二维数组创建矩阵。 各种获取和设置提供对子矩阵和矩阵元素的访问。 基本的算术运算包括矩阵加法和乘法、矩阵范数和选定的逐元素数组运算。 还包括一种方便的矩阵打印方法。

矩阵的五大分解,对应于Jama的五个矩阵分解类,依次为:

  • 对称正定矩阵的Cholesky分解 CholeskyDecomposition
  • 矩阵的LU分解(高斯消元)LUDecomposition
  • 矩阵的QR分解 QRDecomposition
  • 对称和非对称矩阵的特征向量值分解 EigenvalueDecomposition
  • 矩阵的奇异值分解 SingularValueDecomposition

这些分解类可以由Matrix 类访问,可以求解线性方程组,求解行列式,求逆和其他矩阵运算。

目前的Jama仅处理实数矩阵。

使用

例子

// 求解 3x3 线性系统 Ax=b 并计算残差的范数
double[][] array = {
   {
   1.,2.,3},{
   4.,5.,6.},{
   7.,8.,10.}};
Matrix A = new Matrix(array);
Matrix b = Matrix.random(3,1);
Matrix x = 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值