稀疏矩阵 (cupyx.scipy.sparse
)#
CuPy 使用 cuSPARSE 支持稀疏矩阵。这些矩阵具有与 SciPy 稀疏矩阵相同的接口。
与 SciPy 稀疏矩阵相互转换#
cupyx.scipy.sparse.*_matrix
和 scipy.sparse.*_matrix
彼此不能隐式转换。这意味着,SciPy 函数不能接受 cupyx.scipy.sparse.*_matrix
对象作为输入,反之亦然。
要将 SciPy 稀疏矩阵转换为 CuPy,请将其传递给每个 CuPy 稀疏矩阵类的构造函数。
要将 CuPy 稀疏矩阵转换为 SciPy,请使用每个 CuPy 稀疏矩阵类的
get
方法。
请注意,CuPy 和 SciPy 之间的转换会产生主机 (CPU) 设备和 GPU 设备之间的数据传输,这在性能方面开销很大。
与 CuPy ndarray 相互转换#
要将 CuPy ndarray 转换为 CuPy 稀疏矩阵,请将其传递给每个 CuPy 稀疏矩阵类的构造函数。
要将 CuPy 稀疏矩阵转换为 CuPy ndarray,请使用每个 CuPy 稀疏矩阵实例的
toarray
方法(例如,cupyx.scipy.sparse.csr_matrix.toarray()
)。
CuPy ndarray 和 CuPy 稀疏矩阵之间的转换不会产生数据传输;它在 GPU 设备内部进行复制。
目录#
稀疏矩阵类#
|
COOrdinate 格式稀疏矩阵。 |
|
压缩稀疏列矩阵。 |
|
压缩稀疏行矩阵。 |
|
对角线存储稀疏矩阵。 |
|
所有稀疏矩阵的基类。 |
函数#
构建稀疏矩阵
|
创建主对角线为一的稀疏矩阵。 |
|
创建稀疏格式的单位矩阵。 |
|
稀疏矩阵 A 和 B 的 Kronecker 积。 |
|
稀疏矩阵 A 和 B 的 Kronecker 和。 |
|
从对角线构造稀疏矩阵。 |
|
从对角线创建稀疏矩阵。 |
|
返回稀疏格式矩阵的下三角部分 |
|
返回稀疏格式矩阵的上三角部分 |
|
从稀疏子块构建稀疏矩阵 |
|
水平(按列)堆叠稀疏矩阵 |
|
垂直(按行)堆叠稀疏矩阵 |
|
生成随机稀疏矩阵。 |
稀疏矩阵工具 |
生成随机稀疏矩阵。 |
识别稀疏矩阵
|
返回矩阵非零元素的索引和值 |
Identifying sparse matrices
|
检查给定矩阵是否为稀疏矩阵。 |
|
检查给定矩阵是否为稀疏矩阵。 |
检查给定矩阵是否为 CSC 格式。 |
|
检查给定矩阵是否为 CSR 格式。 |
|
检查给定矩阵是否为 COO 格式。 |
|
检查给定矩阵是否为 DIA 格式。 |