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)))

所有 datarowcol 都是一维 cupy.ndarray

csr_matrix((data, indices, indptr))

所有 dataindicesindptr 都是一维 cupy.ndarray

参数:
  • arg1 – 初始化器的参数。

  • shape (tuple) – 矩阵的形状。其长度必须为二。

  • dtype – 数据类型。它必须是 numpy.dtype 的一个参数。

  • copy (bool) – 如果为 `True`,则始终使用给定数组的副本。

方法

__getitem__(key)[source]#
__setitem__(key, x)[source]#
__len__()[source]#
__iter__()[source]#
arcsin()[source]#

元素级 arcsin。

arcsinh()[source]#

元素级 arcsinh。

arctan()[source]#

元素级 arctan。

arctanh()[source]#

元素级 arctanh。

argmax(axis=None, out=None)[source]#

返回沿某个轴的最大元素的索引。

考虑了隐式零元素。如果有多个最大值,则返回第一次出现的最大值的索引。如果矩阵中出现 `NaN` 值,则对于出现 NaN 的行/列,输出默认为零条目。

参数:
  • axis (int) – {-2, -1, 0, 1, `None`} (可选) 计算 argmax 的轴。如果为 `None`(默认),则返回扁平化数据中最大元素的索引。

  • out (None) – (可选) 此参数出于 NumPy 兼容性原因包含在签名中。除了默认值外,请勿传递任何内容,因为此参数未使用。

返回值:

最大元素的索引。如果为数组,则其沿 `axis` 的大小为 1。

返回类型:

(cupy.ndarray 或 int)

argmin(axis=None, out=None)[source]#

返回沿某个轴的最小元素的索引。

考虑了隐式零元素。如果有多个最小值,则返回第一次出现的最小值的索引。如果矩阵中出现 `NaN` 值,则对于出现 NaN 的行/列,输出默认为零条目。

参数:
  • axis (int) – {-2, -1, 0, 1, `None`} (可选) 计算 argmin 的轴。如果为 `None`(默认),则返回扁平化数据中最小元素的索引。

  • out (None) – (可选) 此参数出于 NumPy 兼容性原因包含在签名中。除了默认值外,请勿传递任何内容,因为此参数未使用。

返回值:

最小元素的索引。如果为矩阵,则其沿 `axis` 的大小为 1。

返回类型:

(cupy.ndarray 或 int)

asformat(format)[source]#

以给定的稀疏格式返回此矩阵。

参数:

format (strNone) – 所需的格式。

asfptype()[source]#

将矩阵向上转换为浮点格式。

当矩阵具有浮点类型时,此方法返回其本身。否则,它会创建一个具有浮点类型和相同格式的副本。

返回值:

具有浮点类型的矩阵。

返回类型:

cupyx.scipy.sparse.spmatrix

astype(t)[source]#

将数组转换为给定的数据类型。

参数:

dtype – 类型说明符。

返回值:

具有给定类型的数组副本。

ceil()[source]#

元素级 ceil。

conj(copy=True)[source]#

元素级复数共轭。

如果矩阵是非复数数据类型且 `copy` 为 False,则此方法不执行任何操作且不复制数据。

参数:

copy (bool) – 如果为 True,则结果保证不与自身共享数据。

返回值:

元素级复数共轭。

返回类型:

cupyx.scipy.sparse.spmatrix

conjugate(copy=True)[source]#

元素级复数共轭。

如果矩阵是非复数数据类型且 `copy` 为 False,则此方法不执行任何操作且不复制数据。

参数:

copy (bool) – 如果为 True,则结果保证不与自身共享数据。

返回值:

元素级复数共轭。

返回类型:

cupyx.scipy.sparse.spmatrix

copy()[source]#

返回此矩阵的副本。

返回值与当前矩阵之间不共享任何数据/索引。

count_nonzero()[source]#

返回非零条目数。

注意

此方法计算实际的非零条目数,不包括显式零条目。而 `nnz` 返回包括显式零在内的条目数。

返回值:

非零条目数。

deg2rad()[source]#

元素级 deg2rad。

diagonal(k=0)[source]#

返回矩阵的第 k 个对角线元素。

参数:
  • k (int, optional) – 要获取的对角线编号,对应于元素

  • a[i – 0(主对角线)。

  • Default (i+k].) – 0(主对角线)。

返回值:

第 k 个对角线。

返回类型:

cupy.ndarray

dot(other)[source]#

普通点积

eliminate_zeros()[source]#

原地移除零条目。

expm1()[source]#

元素级 expm1。

floor()[source]#

元素级 floor。

get(stream=None)[source]#

返回主机内存上数组的副本。

参数:

stream (cupy.cuda.Stream) – CUDA 流对象。如果给定,则复制异步运行。否则,复制是同步的。

返回值:

主机内存上数组的副本。

返回类型:

scipy.sparse.csr_matrix

getH()[source]#
get_shape()[source]#

返回矩阵的形状。

返回值:

矩阵的形状。

返回类型:

tuple

getcol(i)[source]#

返回矩阵的第 i 列的副本,作为 (m x 1) CSR 矩阵(列向量)。

参数:

i (integer) – 列

返回值:

具有单列的稀疏矩阵

返回类型:

cupyx.scipy.sparse.csr_matrix

getformat()[source]#
getmaxprint()[source]#
getnnz(axis=None)[source]#

返回存储值的数量,包括显式零。

参数:

axis – 尚不支持。

返回值:

存储值的数量。

返回类型:

int

getrow(i)[source]#

返回矩阵的第 i 行的副本,作为 (1 x n) CSR 矩阵(行向量)。

参数:

i (integer) – 行

返回值:

具有单行的稀疏矩阵

返回类型:

cupyx.scipy.sparse.csr_matrix

log1p()[source]#

元素级 log1p。

max(axis=None, out=None, *, explicit=False)[source]#

返回矩阵的最大值或沿某个轴的最大值。

参数:
  • axis (int) – {-2, -1, 0, 1, `None`} (可选) 计算最大值的轴。默认为计算所有矩阵元素的最大值,返回一个标量(即 `axis` = `None`)。

  • out (None) – (可选) 此参数出于 NumPy 兼容性原因包含在签名中。除了默认值外,请勿传递任何内容,因为此参数未使用。

  • explicit (bool) – 返回显式指定的最大值,忽略所有隐式零条目。如果维度没有显式值,则返回零,表示它是唯一的隐式值。此参数是实验性的,将来可能会更改。

返回值:

`a` 的最大值。如果 `axis` 为 `None`,结果是一个标量值。如果给定 `axis`,结果是一个维度为 `a.ndim - 1` 的数组。出于计算效率考虑,这与 numpy 不同。

返回类型:

(cupy.ndarrayfloat)

另请参阅

min : 稀疏矩阵沿给定轴的最小值。

另请参阅

numpy.matrix.max : NumPy 对矩阵 `max` 的实现

maximum(other)[source]#
mean(axis=None, dtype=None, out=None)[source]#

计算沿指定轴的算术平均值。

参数:

axis (int 或 `None`) – 计算平均值的轴。如果为 `None`,则计算所有元素的平均值。从 `{None, 0, 1, -2, -1}` 中选择。

返回值:

平均后的数组。

返回类型:

cupy.ndarray

另请参阅

scipy.sparse.spmatrix.mean()

min(axis=None, out=None, *, explicit=False)[source]#

返回矩阵的最小值或沿某个轴的最小值。

参数:
  • axis (int) – {-2, -1, 0, 1, `None`} (可选) 计算最小值的轴。默认为计算所有矩阵元素的最小值,返回一个标量(即 `axis` = `None`)。

  • out (None) – (可选) 此参数出于 NumPy 兼容性原因包含在签名中。除了默认值外,请勿传递任何内容,因为此参数未使用。

  • explicit (bool) – 返回显式指定的最小值,忽略所有隐式零条目。如果维度没有显式值,则返回零,表示它是唯一的隐式值。此参数是实验性的,将来可能会更改。

返回值:

`a` 的最小值。如果 `axis` 为 None,结果是一个标量值。如果给定 `axis`,结果是一个维度为 `a.ndim - 1` 的数组。出于计算效率考虑,这与 numpy 不同。

返回类型:

(cupy.ndarrayfloat)

另请参阅

max : 稀疏矩阵沿给定轴的最大值。

另请参阅

numpy.matrix.min : NumPy 对矩阵 ‘min’ 的实现

minimum(other)[source]#
multiply(other)[source]#

与另一个矩阵、向量或标量进行点乘

power(n, dtype=None)[source]#

元素级幂函数。

参数:
  • n – 指数。

  • dtype – 类型说明符。

rad2deg()[source]#

元素级 rad2deg。

reshape(*shape, order='C')[source]#

在不改变数据的情况下,赋予稀疏矩阵一个新的形状。

参数:
  • shape (tuple) – 新形状应与原始形状兼容。

  • order – {‘C’, ‘F’} (可选) 使用此索引顺序读写元素。‘C’ 表示使用类似 C 的索引顺序读写元素。‘F’ 表示使用类似 Fortran 的索引顺序读写元素。默认值:C。

返回值:

稀疏矩阵

返回类型:

cupyx.scipy.sparse.coo_matrix

rint()[source]#

元素级 rint。

set_shape(shape)[source]#
setdiag(values, k=0)[source]#

设置数组的对角线或非对角线元素。

sign()[source]#

元素级 sign。

sin()[source]#

元素级 sin。

sinh()[source]#

元素级 sinh。

sort_indices()[source]#

原地排序此矩阵的索引。

警告

调用此函数可能会同步设备。

sorted_indices()[source]#

返回一个索引已排序的矩阵副本

警告

调用此函数可能会同步设备。

sqrt()[source]#

元素级 sqrt。

sum(axis=None, dtype=None, out=None)[source]#

沿给定轴对矩阵元素求和。

参数:
  • axis (int 或 `None`) – 计算和的轴。如果为 `None`,则计算所有元素的和。从 `{None, 0, 1, -2, -1}` 中选择。

  • dtype – 返回矩阵的类型。如果未指定,则使用数组的类型。

  • out (cupy.ndarray) – 输出矩阵。

返回值:

平均后的数组。

返回类型:

cupy.ndarray

另请参阅

scipy.sparse.spmatrix.sum()

sum_duplicates()[source]#

通过将重复条目相加来消除矩阵中的重复项。

注意

这是一个原地操作。

警告

调用此函数可能会同步设备。

tan()[source]#

逐元素计算 tan。

tanh()[source]#

逐元素计算 tanh。

toarray(order=None, out=None)[source]#

返回一个表示相同值的密集矩阵。

参数:
  • order ({'C', 'F', None}) – 是否按 C (行主序) 或 F (列主序) 顺序存储数据。默认为 C 顺序。

  • out – 不支持。

返回值:

表示相同矩阵的密集数组。

返回类型:

cupy.ndarray

tobsr(blocksize=None, copy=False)[source]#

将此矩阵转换为块稀疏行格式。

tocoo(copy=False)[source]#

将矩阵转换为 COOrdinate 格式。

参数:

copy (bool) – 如果 False,则尽可能共享数据数组。

返回值:

转换后的矩阵。

返回类型:

cupyx.scipy.sparse.coo_matrix

tocsc(copy=False)[source]#

将矩阵转换为 Compressed Sparse Column 格式。

参数:

copy (bool) – 如果 False,则尽可能共享数据数组。实际上,此选项被忽略,因为在 csr 到 csc 转换中无法共享矩阵中的所有数组。

返回值:

转换后的矩阵。

返回类型:

cupyx.scipy.sparse.csc_matrix

tocsr(copy=False)[source]#

将矩阵转换为 Compressed Sparse Row 格式。

参数:

copy (bool) – 如果 False,则方法返回自身。否则,它会创建矩阵的副本。

返回值:

转换后的矩阵。

返回类型:

cupyx.scipy.sparse.csr_matrix

todense(order=None, out=None)[source]#

返回此矩阵的密集矩阵表示形式。

todia(copy=False)[source]#

将此矩阵转换为稀疏 DIAgonal 格式。

todok(copy=False)[source]#

将此矩阵转换为 Dictionary Of Keys 格式。

tolil(copy=False)[source]#

将此矩阵转换为 LInked List 格式。

transpose(axes=None, copy=False)[source]#

返回一个转置矩阵。

参数:
  • axes – 此选项不受支持。

  • copy (bool) – 如果 True,则返回的矩阵不共享数据。否则,它会尽可能共享数据数组。

返回值:

维度颠倒的 self

返回类型:

cupyx.scipy.sparse.csc_matrix

trunc()[source]#

逐元素计算 trunc。

__eq__(other)[source]#

返回 self==value。

__ne__(other)[source]#

返回 self!=value。

__lt__(other)[source]#

返回 self<value。

__le__(other)[source]#

返回 self<=value。

__gt__(other)[source]#

返回 self>value。

__ge__(other)[source]#

返回 self>=value。

__nonzero__()[source]#
__bool__()[source]#

属性

A#

此矩阵的密集 ndarray 表示形式。

此属性等同于 toarray() 方法。

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#