使用JAMA包求伪逆
来源:互联网 发布:lua源码分析 编辑:程序博客网 时间:2024/06/06 00:34
JAMA全称为Java矩阵包,这是一个基础的线性代数运算的jar包,官网最后更新时间是2012年11月
官网地址:http://math.nist.gov/javanumerics/jama/
JAMA最新jar包下载:http://math.nist.gov/javanumerics/jama/Jama-1.0.3.jar
官方文档中说明这个包可以调用inverse方法求伪逆或逆矩阵,但实际上并不能求伪逆,inverse方法在求伪逆的时候依然调用LU分解函数,事实上伪逆通常应该做QR分解或SVD分解
好在JAMA提供了SVD分解的函数,可以通过调用SVD函数来实现求伪逆,下面是一个简单的代码
import Jama.Matrix;import Jama.SingularValueDecomposition;public class Test {public static void main(String[] args) {System.out.println("HelloWorld");double[][] array = { { 2., 2. }, { 1., 1. } };System.out.println(array.length);Matrix A = new Matrix(array);SingularValueDecomposition svd =A.svd();Matrix S = svd.getS();Matrix V = svd.getV().transpose();Matrix U = svd.getU();//将S中非0元素取倒数Matrix sinv = UnaryNotZeroElement(S);Matrix inv = V.times(sinv).times(U.transpose());inv.print(8, 8);}//将矩阵中非0元素取倒数private static Matrix UnaryNotZeroElement(Matrix x) {double[][] array=x.getArray();for(int i=0;i<array.length;i++){for(int j=0;j<array[i].length;j++){if(array[i][j]!=0){array[i][j]=1.0/array[i][j];}}}return new Matrix(array);}}
0 0
- 使用JAMA包求伪逆
- java矩阵运算包JAMA的使用
- jama 矩阵运算速度
- Jama.Matrix的学习
- JAVA矩阵计算类 JAMA
- Java矩阵运算,jama包
- JAVA矩阵包JAMA学习
- JAVA矩阵包JAMA学习
- JAVA矩阵包JAMA学习
- Jama Contour 轻量型企业需求管理工具
- Java调用Jama包完成矩阵运算
- [025]Java矩阵运算——jama
- Java调用jama实现矩阵运算
- 线性代数java包,Jama的常用方法
- Java调用jama实现矩阵运算
- JAMA:Java矩阵包-JAVA调用Matlab的替代品
- JAMA:Java矩阵包-JAVA调用Matlab的替代品
- 如何自己下载Java矩阵运算包-jama
- FPGA Verilog实现数字钟2 校时校分蜂鸣器功能
- webrtc音频引擎总结
- Go小计 - 可见性规则
- 怎样求FIRST集与FOLLOW集
- C++项目中的extern "C" {}
- 使用JAMA包求伪逆
- 关于指针的引用
- spring中<tx:advice></tx:advice>是什么意思?作用是什么?谁能简单说下
- Android Studio项目目录结构
- 解决使用WINHTTP时的一些编译通不过的问题
- Go监控目录变化小程序.
- CSS行高——line-height
- centos7 安装wireshark
- UIImage 和 NSString 之间的互转