One - One Code All

Blog Content

线性代数java包,Jama的常用方法

Java   2013-09-18 22:00:40

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);
    
    }
}



上一篇:Java.math.BigDecimal.negate()方法实例
下一篇:linux/mac替代makefile的编译工具Ninja介绍

The minute you think of giving up, think of the reason why you held on so long.