【问题标题】:Complex inverse and complex pseudo-inverse in Scala?Scala中的复数逆和复数伪逆?
【发布时间】:2015-12-09 16:26:25
【问题描述】:

我正在考虑为我的算法开发学习 Scala,但首先需要知道该语言是否已经实现(或正在实现)复杂的逆和伪逆函数。我查看了文档(herehere),虽然它声明这些函数适用于实数矩阵,但在 the code 中,我不明白为什么它不接受复杂矩阵。

代码中还留下如下注释:

pinv 表示任何可以转置,乘以转置,然后求解

这只是我的一厢情愿,还是不会接受复杂的矩阵?

【问题讨论】:

  • 你可以使用java库,例如apache commons math,不是吗?
  • @Mr.V.据我所知,apache commons 没有复杂的求解或任何复杂的矩阵分解。

标签: scala matrix linear-algebra matrix-inverse scala-breeze


【解决方案1】:

Breeze 实现者在这里:

我还没有为复数实现 inv 等,因为我还没有找到一种以与 blas 和 lapack 兼容且不破坏当前 API 的方式存储未装箱的复数的好方法。您可以按照与您链接的代码类似的方法使用 netlib java 自行设置调用。

【讨论】:

  • 感谢您的回答。看来再过几个月我就可以自己实现它了(可能很差,因为我是函数式编程的新手),我可以问一下它是否在要开发的路线图上?特别是伪反例?
  • 假设存在路线图。我根据需要(或想要)添加东西,或者如果它们在 github 问题列表中(尽管我绝对不会了解所有内容!)。
  • 让一个盒装的实现工作一点也不难,真的。我只是有点挑剔,可能不会在 Complex 上工作,直到我有一个令人满意的答案来摆脱拳击。
  • 哈哈,我很欣赏你的坦率 :) 那足以成为选择 Scala 的理由!我真的很期待学习它的功能性 o-o 方法......再次感谢
  • 好吧,你让我重新思考了一遍,我可能有一个解决方案......它需要一些相当大的改变,但我们会看到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-27
  • 1970-01-01
  • 2015-12-18
  • 1970-01-01
  • 2012-10-27
  • 2020-05-18
  • 1970-01-01
相关资源
最近更新 更多