稀疏矩阵 (cupyx.scipy.sparse)#
提示
SciPy API 参考:稀疏矩阵 (scipy.sparse) <https://docs.scipy.org/doc/scipy/reference/sparse.html>`_
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 ndarrays#
要将 CuPy ndarray 转换为 CuPy 稀疏矩阵,请将其传递给每个 CuPy 稀疏矩阵类的构造函数。
要将 CuPy 稀疏矩阵转换为 CuPy ndarray,请使用每个 CuPy 稀疏矩阵实例的
toarray方法(例如,cupyx.scipy.sparse.csr_matrix.toarray())。
在 CuPy ndarray 和 CuPy 稀疏矩阵之间转换不会导致数据传输;它是在 GPU 设备内部复制的。
内容#
稀疏矩阵类#
|
COOrdinate 格式稀疏矩阵。 |
|
压缩稀疏列矩阵。 |
|
压缩稀疏行矩阵。 |
|
带有对角存储的稀疏矩阵。 |
|
所有稀疏矩阵的基类。 |
函数#
构建稀疏矩阵:
|
创建一个对角线上为1的稀疏矩阵。 |
|
创建一个稀疏格式的单位矩阵。 |
|
稀疏矩阵 A 和 B 的克罗内克积。 |
|
稀疏矩阵 A 和 B 的 Kronecker 和。 |
|
从对角线构造一个稀疏矩阵。 |
|
从对角线创建一个稀疏矩阵。 |
|
以稀疏格式返回矩阵的下三角部分 |
|
以稀疏格式返回矩阵的上三角部分 |
|
从稀疏子块构建稀疏矩阵 |
|
水平堆叠稀疏矩阵(按列) |
|
垂直堆叠稀疏矩阵(按行) |
|
生成一个随机的稀疏矩阵。 |
|
生成一个随机的稀疏矩阵。 |
稀疏矩阵工具:
|
返回矩阵中非零元素的索引和值 |
识别稀疏矩阵:
|
检查给定的矩阵是否为稀疏矩阵。 |
|
检查给定的矩阵是否为稀疏矩阵。 |
检查给定的矩阵是否为CSC格式。 |
|
检查给定的矩阵是否为CSR格式。 |
|
检查给定矩阵是否为COO格式。 |
|
检查给定矩阵是否为DIA格式。 |