加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 创建对角稀疏矩阵的有效方法

发布时间:2020-12-16 23:29:20 所属栏目:Python 来源:网络整理
导读:我使用Numpy在 Python中有以下代码: p = np.diag(1.0 / np.array(x)) 如何在不创建p的情况下对其进行变换以使稀疏矩阵p2具有与p相同的值? 解决方法 使用 scipy.sparse.spdiags (这很多,因此最初可能会令人困惑), scipy.sparse.dia_matrix 和/或 scipy.spar
我使用Numpy在 Python中有以下代码:
p = np.diag(1.0 / np.array(x))

如何在不创建p的情况下对其进行变换以使稀疏矩阵p2具有与p相同的值?

解决方法

使用 scipy.sparse.spdiags(这很多,因此最初可能会令人困惑),scipy.sparse.dia_matrix和/或 scipy.sparse.lil_diags.(取决于 format你想要稀疏矩阵……)

例如.使用spdiags:

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,x.size,x.size)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读