cupyx.scipy.sparse.csc_matrix#

cupyx.scipy.sparse.csc_matrix(arg1, shape=None, dtype=None, copy=False)[source]#

压缩稀疏列矩阵。

可以通过几种方式实例化。

csc_matrix(D)

D 是一个秩为 2 的 cupy.ndarray

csc_matrix(S)

S 是另一个稀疏矩阵。这等效于 S.tocsc()

csc_matrix((M, N), [dtype])

它构造一个形状为 (M, N) 的空矩阵。默认 dtype 为 float64。

csc_matrix((data, (row, col)))

所有 datarowcol 都是一维的 cupy.ndarray

csc_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.narray 或 int)

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

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

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

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

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

返回:

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

返回类型:

(cupy.narray 或 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 返回包括显式零在内的条目数量。

返回:

非零条目的数量。

int

deg2rad()[source]#

逐元素 deg2rad。

diagonal(k=0)[source]#

参数:
  • 返回矩阵的第 k 个对角线。

  • k (int, optional) – 要获取的对角线,对应于元素

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

返回:

默认 (i+k].) – 0 (主对角线)。

返回类型:

cupy.ndarray

第 k 个对角线。

dot(other)[source]#

普通点积

eliminate_zeros()[source]#

就地移除零条目。

expm1()[source]#

逐元素 expm1。

floor()[source]#

逐元素 floor。

get(stream=None)[source]#

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

警告

参数:

您需要安装 SciPy 才能使用此方法。

返回:

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

返回类型:

scipy.sparse.csc_matrix

主机内存中数组的副本。
getH()[source]#

get_shape()[source]#

返回:

返回矩阵的形状。

返回类型:

矩阵的形状。

tuple

getcol(i)[source]#

参数:

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

返回:

i (integer) – 列

返回类型:

cupyx.scipy.sparse.csc_matrix

具有单列的稀疏矩阵
getformat()[source]#
getmaxprint()[source]#

getnnz(axis=None)[source]#

参数:

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

返回:

axis – 暂不支持。

返回类型:

存储值的数量。

int

getrow(i)[source]#

参数:

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

返回:

i (integer) – 行

返回类型:

cupyx.scipy.sparse.csc_matrix

具有单行的稀疏矩阵

log1p()[source]#

逐元素 log1p。

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

参数:
  • 返回矩阵的最大值或沿轴的最大值。

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

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

返回:

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

返回类型:

a 的最大值。如果 axisNone,结果为标量值。如果给出 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]#

参数:
  • 返回矩阵的最小值或沿轴的最小值。

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

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

返回:

a 的最小值。如果 axis 为 None,结果为标量值。如果给定了 axis,结果是维度为 a.ndim - 1 的数组。这与 numpy 的实现不同,以便提高计算效率。

返回类型:

a 的最大值。如果 axisNone,结果为标量值。如果给出 axis,结果将是维度为 a.ndim - 1 的数组。这与 numpy 不同,是为了计算效率。

另请参阅

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

另请参阅

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

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

与另一个矩阵进行逐元素乘法。

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

逐元素的幂函数。

参数:
  • n – 指数。

  • dtype – 类型说明符。

rad2deg()[source]#

逐元素的弧度转角度。

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]#

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

参数:
  • values (cupy.ndarray) – 对角线元素的新值。values 可以是任意长度。如果对角线比 values 长,则剩余的对角线项将不会被设置。如果 values 比对角线长,则剩余的值将被忽略。如果给定一个标量值,则整个对角线都设置为该值。

  • k (int, optional) – 要设置哪个对角线,对应于元素 a[i, i+k]。默认值:0(主对角线)。

sign()[source]#

逐元素的符号函数。

sin()[source]#

逐元素的正弦函数。

sinh()[source]#

逐元素的双曲正弦函数。

sort_indices()[source]#

*就地*排序此矩阵的索引。

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

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

sorted_indices()[source]#

返回此矩阵的一个带有排序索引的副本

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

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

sqrt()[source]#

逐元素的平方根函数。

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

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

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

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

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

返回:

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

返回类型:

cupy.ndarray

另请参阅

scipy.sparse.spmatrix.sum()

sum_duplicates()[source]#

通过将重复的矩阵项相加来消除它们。

注意

这是*就地*操作。

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

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

tan()[source]#

逐元素的正切函数。

tanh()[source]#

逐元素的双曲正切函数。

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

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

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

  • out – 不支持。

返回:

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

返回类型:

cupy.ndarray

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

将此矩阵转换为块稀疏行格式 (Block Sparse Row format)。

tocoo(copy=False)[source]#

将矩阵转换为坐标格式 (COOrdinate format)。

参数:

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

返回:

转换后的矩阵。

返回类型:

cupyx.scipy.sparse.coo_matrix

tocsc(copy=None)[source]#

将矩阵转换为压缩稀疏列格式 (Compressed Sparse Column format)。

参数:

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

返回:

转换后的矩阵。

返回类型:

cupyx.scipy.sparse.csc_matrix

tocsr(copy=False)[source]#

将矩阵转换为压缩稀疏行格式 (Compressed Sparse Row format)。

参数:

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

返回:

转换后的矩阵。

返回类型:

cupyx.scipy.sparse.csr_matrix

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

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

todia(copy=False)[source]#

将此矩阵转换为稀疏对角格式 (sparse DIAgonal format)。

todok(copy=False)[source]#

将此矩阵转换为键字典格式 (Dictionary Of Keys format)。

tolil(copy=False)[source]#

将此矩阵转换为链表格式 (LInked List format)。

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

返回转置矩阵。

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

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

返回:

维度反转的 self

返回类型:

cupyx.scipy.sparse.csr_matrix

trunc()[source]#

逐元素的截断函数。

__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 = 'csc'#
has_canonical_format#

确定矩阵是否具有已排序的索引且没有重复项。

返回

bool: 如果满足上述条件,则为 True,否则为 False

注意

has_canonical_format 意味着 has_sorted_indices,因此如果后一个标志为 False,前一个标志也将为 False;如果前一个标志为 True,后一个标志也会被设置。

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

获取此属性可能会同步设备。

has_sorted_indices#

确定矩阵是否具有已排序的索引。

返回
bool

如果矩阵的索引按排序顺序排列,则为 True,否则为 False

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

获取此属性可能会同步设备。

ndim#
nnz#
shape#
size#