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-将稀疏矩阵行与非稀疏向量乘以索引 的相关文章

  • 从一个数组中删除另一个数组中的元素

    假设我有这些二维数组A and B 我怎样才能从中删除元素A那些在B 集合论中的补集 A B A np asarray 1 1 1 1 1 2 1 1 3 1 1 4 B np asarray 0 0 0 1 0 2 1 0 3 1 0 4
  • 如何在Python中找到低精度浮点值的原始文本表示?

    我遇到了显示问题floatPython 中的值 从外部数据源加载 它们是 32 位浮点数 但这也适用于较低精度的浮点数 以防万一 这些值是由人类在 C C 中输入的 因此与任意计算值不同 与round数字很 可能not预期的 但不能被忽略
  • python类型中的__flags__有什么用

    我最近阅读了pickle源代码 以下代码在copy reg让我很困惑 HEAPTYPE 1 lt lt 9 def reduce ex self proto assert proto lt 2 for base in self class
  • matplotlib get_color 用于子图

    我正在按照这里的教程进行操作 https matplotlib org gallery ticks and spines multiple yaxis with spines html https matplotlib org galler
  • Django 和 AWS 简单电子邮件服务 [重复]

    这个问题在这里已经有答案了 我正在尝试启动并运行 django 站点 并且正在尝试启用 django 的标准密码重置服务 我的网站由 AWS EC2 托管 因此我想将 AWS SES 用于我的电子邮件服务 但是 我无法使 smtp 连接正常
  • 点击后 Dash DropDown 关闭

    我不希望下拉菜单在选择值后关闭 我希望它在我的页面上保持打开状态 我正在使用 dcc Dropdown dcc Dropdown id job type options self options placeholder Select one
  • Python中非常大的整数的math.pow是错误的[重复]

    这个问题在这里已经有答案了 我试图通过计算一个整数的非常大的幂来打印一个非常大的数字 尽管我的代码是正确的 但我没有观察到所需的输出 一般来说 Python解释器可以打印系统内存支持的非常大的整数 考虑到这个假设 下面是我正在运行的代码 a
  • 确保特定列位于数据框中最后(或第一个)的最快方法是什么

    given df df pd DataFrame np arange 8 reshape 2 4 columns list abcd 假设我需要专栏 b 到最后 我可以做 df a c d b 但是确保给定列位于末尾的最有效方法是什么 这就
  • Python服务器“通常只允许每个套接字地址使用一次”

    我正在尝试用 python 创建一个非常基本的服务器 它侦听端口 当客户端尝试连接时创建 TCP 连接 接收数据 发回某些内容 然后再次侦听 并无限期地重复该过程 这是我到目前为止所拥有的 from socket import server
  • 桨在移动时留下痕迹(Pygame Pong 游戏)[重复]

    这个问题在这里已经有答案了 我的游戏中的球拍有问题 每次我试图移动它时 桨都会留下一条 痕迹 我想这是因为我的代码没有删除旧位置的前一个桨 如果是的话怎么删除之前的呢 我应该使用blit Code import pygame sys ran
  • 为什么Python 3中实例方法可以作为类方法调用?

    考虑下面的类 class Foo object def bar self print self 在Python 2中 2 7 13 调用bar 作为类方法引发异常 gt gt gt Foo bar hello Traceback most
  • Odoo:如何覆盖原始功能

    在 Odoo 中 每次打开产品表单时都会计算产品的数量 这发生在模型中product product gt function product available 该函数返回一个名为 res 的字典 Example res 8 qty ava
  • Python 日志记录 - 如何检查记录器是否为空

    我刚刚在我的应用程序中实现了日志记录 我想知道是否有一种方法可以检查记录器是否为空 我的想法是在我的脚本中设置两个处理程序 一个用于带水平仪的控制台WARNING 一个用于带级别的文件DEBUG 在脚本的最后 我需要检查是否CONSOLE记
  • 使用字体模块的 Tkinter 代码无法从命令行运行?

    我有使用 tkinter 的代码 我可以从 IDLE 运行得很好 但会引发异常AttributeError module object has no attribute font 当它从命令行运行时 其他 tkinter 程序工作正常 但任
  • 更改 Windows 上的 virtualenv 文件夹

    计算机修复后 我的 python 项目目录 Windows 发生了变化 比如从 d 到 f 现在我所有的 virtualenv 都坏了 激活 env 后 virtualenv 中的项目无法找到依赖项 并且自定义脚本 来自 env scrip
  • Django - 从时间戳获取不同的日期

    我正在尝试按日期过滤用户 但直到我可以找到数据库中用户的第一个和最后一个日期为止 虽然我可以让我的脚本稍后过滤掉重复项 但我想从一开始就使用 Django 来完成此操作distinct因为它显着减少 我试过 User objects val
  • Python 多处理:全局对象未正确复制到子级

    前几天我回答了一个关于SO的问题 https stackoverflow com q 67047533 1925388关于并行读取 tar 文件 这是问题的要点 import bz2 import tarfile from multipro
  • 类型错误:不可散列的类型:pandas 的“切片”

    我有一个 pandas 数据结构 我这样创建 test inputs pd read csv input test csv delimiter 它的形状 print test inputs shape is this 28000 784 我
  • 按键合并的两个字典的值的并集

    我有两本词典 d1 a x y b k l d2 a m n c p r 如何合并这两个字典以获得这样的结果 d3 a x y m n b k l c p r 当字典的值是简单类型 如 int 或 str 时 这有效 d3 dict i a
  • PHP清晰度卷积矩阵

    我正在使用一个卷积矩阵 http www php net manual en function imageconvolution php为了锐度PHP GD我想改变清晰度 level 我会去哪里做出改变如果我想做到的话或多或少尖锐 imag

随机推荐

  • 在 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