首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中不精确的矩阵幂

Java中不精确的矩阵幂
EN

Stack Overflow用户
提问于 2013-09-11 06:01:17
回答 1查看 390关注 0票数 0

我正在为Android开发一个计算器应用程序( Java),具有一些基本的矩阵功能。我已经尝试了两种算法,SVD和特征值分解,以实现矩阵的幂,但结果有点不符合我的口味。例如,[[1,2];[3,4]]^2.3在Scilab中以[11.463254,16.618358];[24.927537,36.390583]]的形式返回(在abs之后,去掉了恼人的虚构部分),但我的应用程序返回[[11.5107804,16.4911239];[26.2208761,37.1379804]]。我认为Scilab的回答是真实的,WolframAlpha证实了这一点。

上面的答案(来自我的应用程序)是使用SVD。特征值分解给出了一个“完全错误”的答案。有什么方法可以提高答案的准确性吗?我使用EJML进行矩阵后端工作,我的测试是在运行Android4.3的Nexus7上进行的。不,据我所知,EJML没有自己的矩阵幂/幂方法。

EN

回答 1

Stack Overflow用户

发布于 2013-09-11 18:29:53

从0.4.5版本开始,la4j (线性代数for Java)为Matrix类提供了power操作。但它只能与整数指数一起使用。如下所示:

代码语言:javascript
复制
// creates a new dense matrix
Matrix a = new Basic2DMatrix(...);

// performs 'a * a * a' in O(log n) via exponentiation-by-squaring
Matrix b = a.power(3);

无论如何,我会考虑为power方法支持双指数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18729470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档