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

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

我使用Numpy在 Python中有以下代码: p = np.diag(1.0 / np.array(x)) 如何在不创建p的情况下对其进行变换以使稀疏矩阵p2具有与p相同的值? 使用 scipy.sparse.spdiags(这很多,因此最初可能会令人困惑), scipy.sparse.dia_matrix和/或 scipy.sparse.lil_diags

我使用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)

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/kaifa/python/20201204/12774.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部