java 矩阵运算_Java调用jama实现矩阵运算

Java调用jama实现矩阵运算

一、jama简介

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

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

702356a172231c71373a8ab9adfdc9f0.png

二.矩阵操作

2.1 对象操作

(1)构造函数

利用二维数组a[][]创建矩阵并打印矩阵。

735696699c5f1896820232c93ce36a00.png

(2)set方法

Set方法中,set(0,0,2)中的三个参数分别表示行序、列序和数值。

60e9493f64f5642de6377c2c2949f0b9.png

(3)get方法

在get方法中,函数getMatrix(0,2,0,0)表示取矩阵第一列元素,第1、2个参数表示行的起始和结束(即从第一行到第三行),第3、4个参数表示列的起始和结束(即从第0列到第0列)。

8cff0334bb4709dae57f0ef96be26126.png

(4)拷贝方法

在拷贝方法中,矩阵copy后还是Matrix类型。

b486aa9cf3f550dd994b2249cb962328.png

(5)克隆方法

矩阵克隆后变为object对象,需要将其转化成Matrix类型。

1d5a051d85edd07d77266d247de7d1e4.png

2.2 矩阵元素级别的操作

(1)矩阵加法

矩阵A与矩阵B相加:Matrix D = A.plus(B)

da57819e55a60cae61d67ac9a43439d9.png

(2)矩阵相减

矩阵A与矩阵B相减:Matrix C = A.minus(B)

9018f89b13ab37d5e43994863e4d1846.png

(3)矩阵乘法

矩阵A与矩阵B相乘:Matrix E = A.times(B)

b3a431d64869a95e462fcb2200d9fa42.png

(4)放大缩小

将矩阵元素放大两倍:Matrix Q = A.times(2)

b2dd3b84cb75bda5a916d399a2cb5fdb.png

(5)元素除法

矩阵左除:Matrix F = A.arrayLeftDivide(B)

c51b3d6740658bf8e1610fdc3f65605a.png

(6)矩阵求逆

矩阵求逆:matrix.inverse()

bb7b28dcded0be1b171574f652d0b735.png

(7)求矩阵的转置

ce5b6002dbd36cc9c6765b44b33d3948.png

(8)矩阵的范式

d885e05ad55dc4b65f1fb3744c56d6aa.png

2.3 矩阵分解

(1)LU分解

054876e3d718baf22d3e409ec9442c04.png

(2)QR分解

2bb6bfc438b4c717772490ad171373c3.png

(3)SVD分解

7776a73d33a6263694aa9e81874deda4.png

2.4矩阵相关的数学量

(1)条件数

bb2063dabd998a4ab43c5d1088a7c42a.png

(2)行列式

b36a351ca41584a6087abbe083dee095.png

(3矩阵秩

6aa4a3c9373c037b6ac0004bd3785baf.png

(4)求逆

abe8f6cd022a4d94121e51ea07d27516.png

参考文献:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值