cupyx.scipy.sparse.csr_matrix#
- class cupyx.scipy.sparse.csr_matrix(arg1, shape=None, dtype=None, copy=False)[source]#
压缩稀疏行矩阵。
可以通过几种方式实例化。
csr_matrix(D)
D
是一个二维cupy.ndarray
。csr_matrix(S)
S
是另一个稀疏矩阵。它等同于S.tocsr()
。csr_matrix((M, N), [dtype])
它构造一个形状为
(M, N)
的空矩阵。默认数据类型是 float64。csr_matrix((data, (row, col)))
所有
data
、row
和col
都是一维cupy.ndarray
。csr_matrix((data, indices, indptr))
所有
data
、indices
和indptr
都是一维cupy.ndarray
。
- 参数:
arg1 – 初始化器的参数。
shape (tuple) – 矩阵的形状。其长度必须为二。
dtype – 数据类型。它必须是
numpy.dtype
的一个参数。copy (bool) – 如果为 `True`,则始终使用给定数组的副本。
方法
- argmax(axis=None, out=None)[source]#
返回沿某个轴的最大元素的索引。
考虑了隐式零元素。如果有多个最大值,则返回第一次出现的最大值的索引。如果矩阵中出现 `NaN` 值,则对于出现 NaN 的行/列,输出默认为零条目。
- argmin(axis=None, out=None)[source]#
返回沿某个轴的最小元素的索引。
考虑了隐式零元素。如果有多个最小值,则返回第一次出现的最小值的索引。如果矩阵中出现 `NaN` 值,则对于出现 NaN 的行/列,输出默认为零条目。
- asfptype()[source]#
将矩阵向上转换为浮点格式。
当矩阵具有浮点类型时,此方法返回其本身。否则,它会创建一个具有浮点类型和相同格式的副本。
- 返回值:
具有浮点类型的矩阵。
- 返回类型:
- conj(copy=True)[source]#
元素级复数共轭。
如果矩阵是非复数数据类型且 `copy` 为 False,则此方法不执行任何操作且不复制数据。
- 参数:
copy (bool) – 如果为 True,则结果保证不与自身共享数据。
- 返回值:
元素级复数共轭。
- 返回类型:
- conjugate(copy=True)[source]#
元素级复数共轭。
如果矩阵是非复数数据类型且 `copy` 为 False,则此方法不执行任何操作且不复制数据。
- 参数:
copy (bool) – 如果为 True,则结果保证不与自身共享数据。
- 返回值:
元素级复数共轭。
- 返回类型:
- diagonal(k=0)[source]#
返回矩阵的第 k 个对角线元素。
- 参数:
k (int, optional) – 要获取的对角线编号,对应于元素
a[i – 0(主对角线)。
Default (i+k].) – 0(主对角线)。
- 返回值:
第 k 个对角线。
- 返回类型:
- get(stream=None)[source]#
返回主机内存上数组的副本。
- 参数:
stream (cupy.cuda.Stream) – CUDA 流对象。如果给定,则复制异步运行。否则,复制是同步的。
- 返回值:
主机内存上数组的副本。
- 返回类型:
- max(axis=None, out=None, *, explicit=False)[source]#
返回矩阵的最大值或沿某个轴的最大值。
- 参数:
- 返回值:
`a` 的最大值。如果 `axis` 为 `None`,结果是一个标量值。如果给定 `axis`,结果是一个维度为 `a.ndim - 1` 的数组。出于计算效率考虑,这与 numpy 不同。
- 返回类型:
(cupy.ndarray 或 float)
另请参阅
min : 稀疏矩阵沿给定轴的最小值。
另请参阅
numpy.matrix.max : NumPy 对矩阵 `max` 的实现
- mean(axis=None, dtype=None, out=None)[source]#
计算沿指定轴的算术平均值。
- 参数:
axis (int 或 `None`) – 计算平均值的轴。如果为 `None`,则计算所有元素的平均值。从 `{None, 0, 1, -2, -1}` 中选择。
- 返回值:
平均后的数组。
- 返回类型:
另请参阅
scipy.sparse.spmatrix.mean()
- min(axis=None, out=None, *, explicit=False)[source]#
返回矩阵的最小值或沿某个轴的最小值。
- 参数:
- 返回值:
`a` 的最小值。如果 `axis` 为 None,结果是一个标量值。如果给定 `axis`,结果是一个维度为 `a.ndim - 1` 的数组。出于计算效率考虑,这与 numpy 不同。
- 返回类型:
(cupy.ndarray 或 float)
另请参阅
max : 稀疏矩阵沿给定轴的最大值。
另请参阅
numpy.matrix.min : NumPy 对矩阵 ‘min’ 的实现
- reshape(*shape, order='C')[source]#
在不改变数据的情况下,赋予稀疏矩阵一个新的形状。
- 参数:
shape (tuple) – 新形状应与原始形状兼容。
order – {‘C’, ‘F’} (可选) 使用此索引顺序读写元素。‘C’ 表示使用类似 C 的索引顺序读写元素。‘F’ 表示使用类似 Fortran 的索引顺序读写元素。默认值:C。
- 返回值:
稀疏矩阵
- 返回类型:
- sum(axis=None, dtype=None, out=None)[source]#
沿给定轴对矩阵元素求和。
- 参数:
axis (int 或 `None`) – 计算和的轴。如果为 `None`,则计算所有元素的和。从 `{None, 0, 1, -2, -1}` 中选择。
dtype – 返回矩阵的类型。如果未指定,则使用数组的类型。
out (cupy.ndarray) – 输出矩阵。
- 返回值:
平均后的数组。
- 返回类型:
另请参阅
scipy.sparse.spmatrix.sum()
- toarray(order=None, out=None)[source]#
返回一个表示相同值的密集矩阵。
- 参数:
order ({'C', 'F', None}) – 是否按 C (行主序) 或 F (列主序) 顺序存储数据。默认为 C 顺序。
out – 不支持。
- 返回值:
表示相同矩阵的密集数组。
- 返回类型:
- tocoo(copy=False)[source]#
将矩阵转换为 COOrdinate 格式。
- 参数:
copy (bool) – 如果
False
,则尽可能共享数据数组。- 返回值:
转换后的矩阵。
- 返回类型:
- tocsc(copy=False)[source]#
将矩阵转换为 Compressed Sparse Column 格式。
- 参数:
copy (bool) – 如果
False
,则尽可能共享数据数组。实际上,此选项被忽略,因为在 csr 到 csc 转换中无法共享矩阵中的所有数组。- 返回值:
转换后的矩阵。
- 返回类型:
- tocsr(copy=False)[source]#
将矩阵转换为 Compressed Sparse Row 格式。
- 参数:
copy (bool) – 如果
False
,则方法返回自身。否则,它会创建矩阵的副本。- 返回值:
转换后的矩阵。
- 返回类型:
- transpose(axes=None, copy=False)[source]#
返回一个转置矩阵。
- 参数:
axes – 此选项不受支持。
copy (bool) – 如果
True
,则返回的矩阵不共享数据。否则,它会尽可能共享数据数组。
- 返回值:
维度颠倒的 self。
- 返回类型:
属性
- H#
- T#
- device#
此数组所在的 CUDA 设备。
- dtype#
矩阵的数据类型。
- format = 'csr'#
- has_canonical_format#
确定矩阵是否具有排序的索引且没有重复项。
- 返回
bool: 如果上述情况适用则为
True
,否则为False
。
注意
has_canonical_format
意味着has_sorted_indices
,因此如果后一个标志为False
,则前一个也将是;如果前一个被发现为True
,则后一个标志也会被设置。警告
获取此属性可能会同步设备。
- has_sorted_indices#
确定矩阵是否具有排序的索引。
- 返回
- bool
如果矩阵的索引按排序顺序排列则为
True
,否则为False
。
警告
获取此属性可能会同步设备。
- ndim#
- nnz#
- shape#
- size#