jama是一个基本的线性代数java包,它提供了实数非稀疏矩阵类,程序员可构造操控这些类。
API地址:http://math.nist.gov/javanumerics/jama/doc/Jama/Matrix.html
下载 http://math.nist.gov/javanumerics/jama/
Jama.Matrix
对象操作
构造函数
set 方法 set(int i, int j, double s)
get 方法 get(int i, int j) getArray()
拷贝方法 copy()
克隆方法 clone()
矩阵元素级别的操作
矩阵加法 plus(Matrix B)
矩阵减法 minus(Matrix B)
矩阵乘法 times(Matrix B)
放大缩小
元素乘法 arrayTimesEquals(Matrix B)
元素除法 arrayLeftDivide(Matrix B)
求反 uminus()
倒置 transpose()
范式 norm()
矩阵分解
Cholesky chol()
LU lu()
QR qr()
SVD svd()
对称矩阵的特征值 eig()
非对称矩阵的特征值 eig()
线性方程求解
非奇异系统
最小二乘 solve(Matrix B)
矩阵相关的数学量
条件数 cond()
行列式 det()
矩阵秩 rank()
求逆 inverse()
伪逆 inverse()
//特征值和特征向量计算调用示例: import Jama.Matrix; public class Jama_Matrix { public static void main(String[] args) { double [][] array = { {-1,1,0}, {-4,3,0}, {1 ,0,2}}; //定义一个矩阵 Matrix A = new Matrix(array); //由特征值组成的对角矩阵 A.eig().getD().print(4,2); //每一列对应的是一个特征向量 A.eig().getV().print(4,2); } }