java jama包_java矩阵包jama的简单操作

本文转自http://www.cnblogs.com/zangbo/p/5622351.html

一、jama简介

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

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

8de40461a80ca07d076761b520da0f19.png

二.矩阵操作

2.1 对象操作

(1)构造函数

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

d77ecca34db769e10539c9300e5f0661.png

(2)set方法

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

0522223da7543655dff23e30bdca378b.png

(3)get方法

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

23bf0179a257e3a7a10d4f5ff5ebf41c.png

(4)拷贝方法

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

cfca0667773c23847a206f4185d79416.png

(5)克隆方法

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

bb3a50bc3333fe9e9979bcac3a881484.png

2.2 矩阵元素级别的操作

(1)矩阵加法

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

e9f7025e70fb47abe3f036d72806b90c.png

(2)矩阵相减

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

4504c31b228bf292f3eb81eda00ab981.png

(3)矩阵乘法

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

fd9b1247c58743559925a28e63b448a5.png

(4)放大缩小

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

660839915239ce84fcfc201ff78dff6c.png

(5)元素除法

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

5b19b3810bcfa6a3c68487cbde1a5f49.png

(6)矩阵求逆

矩阵求逆:matrix.inverse()

020dbb7eae572f58cd1ff7c9e488d6b1.png

(7)求矩阵的转置

5bd42d95e50d55817bc9472aa2cdc316.png

(8)矩阵的范式

925ff01a38159fdda3c96558d2cb824e.png

2.3 矩阵分解

(1)LU分解

dfff0f1f420202cbf8ef8b6ad9a83d4f.png

(2)QR分解

fe187ae1925557f13277396cf4a721f0.png

(3)SVD分解

82de4cbdba8dbc9c826b8d4f12698d90.png

2.4矩阵相关的数学量

(1)条件数

38ee8846fd8c78c9b226b4a79e975682.png

(2)行列式

3546b5ca166f600248be6a1f53716c85.png

(3矩阵秩

294b1703909429aae8c18f5a760e5bf3.png

(4)求逆

74fce26193033cdad1db157ca422bd6a.png

参考文献:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值