首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建对角线稀疏矩阵的有效方法

创建对角线稀疏矩阵的有效方法
EN

Stack Overflow用户
提问于 2010-09-12 23:43:24
回答 2查看 6.7K关注 0票数 7

我在Python中使用Numpy编写了以下代码:

代码语言:javascript
运行
复制
p = np.diag(1.0 / np.array(x))

如何将其转换为与p具有相同值的稀疏矩阵p2,而不先创建p

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-13 00:06:30

使用scipy.sparse.spdiags (它做了很多事情,所以一开始可能会让人感到困惑)、scipy.sparse.dia_matrix和/或scipy.sparse.lil_diags。(取决于稀疏矩阵所在的format ...)

例如,使用spdiags

代码语言:javascript
运行
复制
import numpy as np
import scipy as sp
import scipy.sparse

x = np.arange(10)

# "0" here indicates the main diagonal...
# "y" will be a dia_matrix type of sparse array, by default
y = sp.sparse.spdiags(x, 0, x.size, x.size)
票数 10
EN

Stack Overflow用户

发布于 2010-12-11 06:13:48

使用scipy.sparse模块,

代码语言:javascript
运行
复制
p = sparse.dia_matrix(1.0 / np.array(x), shape=(len(x), len(x)));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3695434

复制
相关文章

相似问题

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