Python-将稀疏矩阵行与非稀疏向量乘以索引

2024-03-14

我当前的软件项目涉及使用 python 实现求解线性系统的数值方法(所谓的SOR-方法)。 它基本上是这样工作的:

给定一个线性系统:

ax1 + bx2 + cx3 = b1
dx1 + ex2 + fx3 = b2
gx1 + hx2 + ix3 = b3

重新排列方程为:

x1_new = (b1 - (bx2 + cx3)) / a
x2_new = (b2 - (dx1_new + fx3)) / e
x3_new = (b3 - (gx1_new + hx2_new)) / i

如您所见,x*_new值随着每一行更新 - 这就是为什么我不能使用简单的向量-向量乘积的不幸原因(我还必须除以对角线元素 - 而不是乘以它)。我必须逐个元素地进行。

我想与sparse-矩阵。但我还没有找到如何索引稀疏矩阵以及如何执行上述操作的方法?就像,我发现的唯一的东西(关于这个https://docs.scipy.org/doc/scipy/reference/ generated/scipy.sparse.csr_matrix.html https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csr_matrix.html)是使用A[i].data返回该行的非零元素i。但连续可能有很多零。并且使用大量 if/else 来获取索引处的元素对于100.000 x 100.000 matrix.

有任何想法吗?


None

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

Python-将稀疏矩阵行与非稀疏向量乘以索引 的相关文章

随机推荐

  • 在 POST Django 上加密密码

    除了使用 SSL 之外 还有什么方法可以在第一次 POST 到服务器时在 Django 框架中加密密码 例如 如果我有一个接受用户名和密码的表单 然后将其发送到另一个视图 那么发送到后端的密码不是未加密的吗 如果是这样 有没有办法在传输到后
  • 为 testProbe 提供 ActorPath

    我有一些代码使用 ActorPath 而不是 ActorRef 向演员发送消息 system actorSelection user myActor a message 我需要确保这条消息确实被发送了 因此 我需要在测试中创建一个位于此 a
  • 如何从 localhost 向我的 docker 容器发送 HTTP 请求?

    我在向 Docker 容器 它是与 Redis 数据库通信的 Node js API 发出 HTTP 请求时遇到问题 该容器在 VM Docker Toolbox 内运行 我已经使用所需的端口设置了 Dockerfile 和 docker
  • 两个具有共享滚动条的 Gtk TextView 小部件

    我想要两个并排的 TextView 小部件 它们与单个滚动条一起滚动 我可以将两个 TextView 小部件放入 Hbox 然后将它们添加到 Viewport 然后添加到 ScrolledWindow 然而 这不会按我想要的方式工作 从滚动
  • 在 Octave 中的曲面图顶部绘制 3D 线

    我根据一些数据绘制了一个曲面 在同一个图中 我想要一条 3D 线 我有要绘制的线的 x y z 值 当我尝试在同一图中使用plot3 x y z 执行此操作时 该线始终位于表面下方 有没有什么办法解决这一问题 不知道Matlab中是否也出现
  • 在android中获取列表视图项目的点击次数

    我想计算列表视图中特定项目的点击次数 假设列表视图中有 3 个项目 我第一次单击第一个项目 它应该显示第一个项目点击计数为 1 的 toast 消息 现在 如果我再次单击第一个项目 消息应该是第一个项目点击计数为 2 对于其他项目依此类推
  • JUnit5:测试多个类而不重复代码

    我已经用 Java 构建了自己的堆栈实现 如下所示 有一个接口 Stack 它提供了基本功能 pop push peek 等 然后我有 2 个具体的类 一个借助数组 另一个带有链表 在这种情况下如何并不重要 现在我的问题是 我想用 JUni
  • Android sqlite将WAL文件内容刷新到主数据库文件中

    我正在尝试创建我的应用程序数据库内容的备份 对于大多数设备来说 它工作正常 但有一些设备默认启用了 wal 模式 这会导致问题 从我读过的所有内容来看 调用 pragma wal checkpoint 应该将 wal 文件的内容刷新到主数据
  • Python argparse:在帮助条目之间插入空行

    使用 argparse 时 传递 help程序生成帮助文本 不幸的是 它很难阅读 因为选项之间没有空行 这里摘录一段来说明 optional arguments h help show this help message and exit
  • 更新数组变量的状态

    我想更改 setArray 的状态 但无法更改它 console log 显示空数组 其他州都在工作 但这个州不行 我也使用过 useEffect 但什么也没有发生 请给我一个解决方案 import React from react imp
  • 如何创建与列相关的大小的 Pyspark 窗口函数

    当我尝试使用 pyspark 中的窗口函数对与列相关的前行数进行累积值时 出现意外错误 重现我遇到的错误的最小工作示例 MWE 如下 from pyspark sql import Window import pandas as pd df
  • 在Python中处理键盘事件

    如何在 python 中处理键盘事件 更确切地说 我需要为我的命令行应用程序管理键盘箭头和其他一些键 是否有一个模块可以实现此目的 或者我需要使用例如 if get key mykey do Something 它是伪代码 来逐个处理键 我
  • 使用 Django 在 Heroku 上提供根级静态文件?

    我需要在 Heroku 上提供几个根级静态文件 例如 domain com favicon ico 以下是当前的文件列表 favicon ico crossdomain xml sitemap xml robots txt humans t
  • 检测服务中的屏幕方向变化[重复]

    这个问题在这里已经有答案了 一个非常简单直接的问题 服务是否可以检测屏幕方向的变化 如果是这样 怎么办 此链接将回答您的问题 如何使用服务来监控 Android 中的方向变化 https stackoverflow com question
  • MUI 网格禁用 GridToolBar 中的导出按钮

    如何在 MUI 中禁用 覆盖 XGrid GridToolbar 的导出按钮 对于将来重新讨论这个问题的任何人 我发现 DataGrid 组件上的组件组件属性允许您传入具有 csvOptions 的对象来禁用导出按钮
  • 为什么从 INSTALLED_APPS 中删除“django.contrib.sites”可以修复我突然出现的“DoesNotExist at /admin/”错误?

    昨天我设置了一个新的 Django 应用程序 当我停止工作时 管理员仍然可以正常工作 今天早上我运行服务器 我看到这个错误页面 DoesNotExist at admin Site matching query does not exist
  • 在 mongodb 中按 $type 编号查找

    我有以下文件 gt db people insert name Bob gt db people insert name 42 如果我需要按类型查找String我可以用 gt db people find name type 2 Where
  • 运行时服务不再注入 DNX 控制台应用程序 (RC1)

    我曾经能够注入运行时服务 例如IApplicationEnvironment到构造函数中PogramDNX 控制台应用程序的类 但是 使用最新的 RC1 CI 版本 服务不再被注入 public Program IApplicationEn
  • 无法将 MySQL.DateTime 转换为具有 0000-00-00 00:00:00 值的 System.DateTime

    我正在开发一个 C 项目 但遇到了一个问题 该程序允许用户连接到 MySQL 数据库并从每个选定的表中检索信息并将数据写入文件 问题是因为我不知道架构会是什么样子或者它会包含什么值 如果时间戳列包含日期 0000 00 00 00 00 0
  • Python-将稀疏矩阵行与非稀疏向量乘以索引

    我当前的软件项目涉及使用 python 实现求解线性系统的数值方法 所谓的SOR 方法 它基本上是这样工作的 给定一个线性系统 ax1 bx2 cx3 b1 dx1 ex2 fx3 b2 gx1 hx2 ix3 b3 重新排列方程为 x1