如何从 Scala 求解大型稀疏线性系统

2023-12-25

已经有几个问题 https://stackoverflow.com/questions/8760925/is-there-a-good-math-stats-library-for-scala询问 Scala 的通用数学/统计框架。

我只对一个具体问题感兴趣,即解决大型稀疏线性系统。本质上我正在寻找相当于scipy.sparse.linalg.spsolve http://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.linalg.spsolve.html.

目前我正在研究breeze-math https://github.com/scalanlp/breeze/tree/master/math of ScalaNLP 微风 http://www.scalanlp.org/breeze-0-1/,看起来它可以完成这项工作,只不过这个库集合的重点是自然语言处理,所以使用它感觉有点奇怪。

Saddle http://saddle.github.io/看起来也很有前途,但还不是很成熟,从它的依赖关系来看,EJML 似乎没有稀疏的功能,而 Apache commons math 有,但它是flaky https://issues.apache.org/jira/browse/MATH-870.

目前有没有人有一个相当简单且有效的解决方案?


虽然 ScalaNLP Breeze 声称它是针对 NLP 的,但它的线性代数库相当通用,并不是专门针对 NLP 的。话虽如此,您可以轻松地执行以下操作:

  val A = new CSCMatrix[Int]()
  val B = new CSCMatrix[Int]()

  val x = A \ B
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Scala 求解大型稀疏线性系统 的相关文章

  • WSClient - 打开的文件太多

    我正在 CentOS 6 上使用 Play Framework 2 4 我的应用程序抛出此异常 java net SocketException Too many open files 我在 Stack Overflow 上搜索了很多主题并
  • Akka中有轻量级的actor吗?

    我的用例非常简单 在两个对象之间交换少量 现在我正在从 Scala Actors 迁移到 Akka 但是我再也找不到那些轻量级 Actors 使用Akka 我不仅需要为Actor创建创建ActorSystem Props 还需要照顾Acto
  • 比较 javascript 元素和 scala 变量的 Play 框架 Twirl 模板

    如下面的代码示例所示 我想比较 scala 辅助元素内的 javascript 元素 然而 即使存在元素 abcde 它也始终返回 false 除了使用标签之外 如何获取 scala 辅助元素内的 javascript 值 appSeq S
  • Scala 2.8 中 <:<、<%< 和 =:= 的含义是什么?它们的文档在哪里?

    我可以在 API 文档中看到Predef https scala lang org files archive api 2 8 2 scala Predef 24 html它们是通用函数类型 From gt To 的子类 但仅此而已 嗯什么
  • SBT插件——编译前执行自定义任务

    我刚刚编写了我的第一个 SBT 自动插件 它有一个生成设置文件的自定义任务 如果该文件尚不存在 当显式调用任务时 一切都会按预期工作 但我希望在使用插件编译项目之前自动调用它 无需项目修改其 build sbt 文件 有没有办法实现这一点
  • 与文件名中的冒号“:”作斗争

    我有以下代码 用于加载大量 csv gz 并将它们转储到其他文件夹中 并将源文件名作为一列 object DailyMerger extends App def allFiles path File List File val parts
  • 如何最好地处理 Future.filter 谓词不满足类型错误

    我喜欢 scala 的类型安全性 但我不断遇到的一个运行时错误是 Future filter predicate is not satisfied 我知道为什么会出现此错误 只是寻求有关如何最好地解决此错误并优雅地处理它的建议 或者也许我做
  • 如何不让 Gradle 立即退出 Scala 的 REPL?

    这些简单的线条在build gradle暴露一个repl理想情况下会启动 scala REPL 的任务 点燃并保持活力就是这样 repl 加载后 它立即收到 quit 命令并退出 的重要部分build gradle dependencies
  • Scala案例类使用浅拷贝还是深拷贝?

    case class Person var firstname String lastname String val p1 Person amit shah val p2 p1 copy p1 firstname raghu p1 p2 p
  • 如何使用 *non-case* 类通过 Scala 从 JSON 反序列化?

    我正在编写一个 Scala 应用程序 需要序列化和反序列化 JSON 某些 JSON 对象具有超过 22 个字段 因此我无法使用案例类 并且也无法更改格式 我找到的所有 Scala JSON 库都只能 轻松地 与案例类一起使用 而不是与普通
  • 如何处理 Spark 数据框中外连接的数据倾斜

    我有两个数据框 正在对 5 列执行外连接 下面是我的数据集的示例 uniqueFundamentalSet PeriodId SourceId StatementTypeCode StatementCurrencyId FinancialS
  • 最大模式长度 fpgrowth apache Spark

    我正在尝试使用 Spark Scala 运行关联规则 我首先创建一个 FPGrowth 树并将其传递给关联规则方法 但是 我希望添加最大模式长度参数 以限制我想要在左侧和右侧的项目数量 我只想要项目之间的一对一关联 val model ne
  • 在 Scala 中实现不区分大小写比较的字符串类

    我有许多带有不区分大小写的字段的类 我想将这些类的实例放入 HashMap 中 并通过不区分大小写的字符串查找它们 我不是每次想通过字符串索引实例或通过字符串查找实例时都使用 toLowerCase 而是尝试将此逻辑封装在 CaseInse
  • 使用 numpy tensordot 进行张量乘法

    我有一个张量 U 由 n 个维度 d k 的矩阵和一个维度 k n 的矩阵 V 组成 我想将它们相乘 以便结果返回一个维度为 d n 的矩阵 其中 j 列是 U 的矩阵 j 与 V 的 j 列之间的矩阵乘法的结果 获得此信息的一种可能方法是
  • MATLAB 中最有效的矩阵求逆

    在 MATLAB 中计算某个方阵 A 的逆矩阵时 使用 Ai inv A should be the same as Ai A 1 MATLAB 通常会通知我这不是最有效的求逆方法 那么什么是更有效率的呢 如果我有一个方程系统 可能会使用
  • 使用 scala 进行重复的所有排列

    我正在寻找 scala 方法来给出所有排列而不重复 我知道这个网站上已经有一些帖子 但它们似乎有一个稍微不同的问题 我正在寻找所有重复的排列 例如 combine List A C G 应该产生 List List A A A List A
  • Scala 中 Null/Nothing/Unit 的用法

    我刚刚读过 http oldfashionedsoftware com 2008 08 20 a post about nothing http oldfashionedsoftware com 2008 08 20 a post abou
  • 如何在 Scala 中使用 Circe 解码 JSON 列表/数组

    我有代码片段 cursor downField params downField playlist downField items as List Clip 其中 Clip 是字符串和数字的简单 case 类 传入的 Json 应包含一个
  • 在 Scala 中使用隐式的良好实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否有任何客观原因在代码中到处使用隐式参数只是为了缩短应传递的参数数量 我有一个 REST API 端点的每个调用都有一个唯一的 ID 应该在调
  • Scalaz 状态 monad 示例

    我还没有看到很多 scalaz 状态单子的例子 有这个例子 http scalaz github com scalaz scalaz 2 9 1 6 0 2 doc sxr scalaz example ExampleState scala

随机推荐