cupyx.scipy.sparse.csc_matrix#

class cupyx.scipy.sparse.csc_matrix(arg1, shape=None, dtype=None, copy=False)[源代码][源代码]#

压缩稀疏列矩阵。

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

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)[源代码]#
__setitem__(key, x)[源代码]#
__len__()[源代码]#
__iter__()[源代码]#
arcsin()[源代码]#

逐元素反正弦。

arcsinh()[源代码]#

逐元素反正弦。

arctan()[源代码]#

逐元素反正切。

arctanh()[源代码]#

逐元素计算反双曲正切。

argmax(axis=None, out=None)[源代码]#

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

隐式零元素会被考虑在内。如果有多个最大值,则返回第一个出现的索引。如果矩阵中出现 NaN 值,输出默认在该行/列中出现 NaN 的位置为零。

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

  • out (None) – (可选) 这个参数在签名中 是为了与NumPy兼容。除了默认值外,不要传递任何内容,因为这个参数没有被使用。

返回:

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

返回类型:

(cupy.narray or int)

argmin(axis=None, out=None)[源代码]#

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

隐式零元素会被考虑在内。如果有多个最小值,则返回第一个出现的索引。如果矩阵中出现 NaN 值,输出默认在该行/列中出现 NaN 的位置为零。

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

  • out (None) – (可选) 这个参数在签名中 是为了与NumPy兼容。除了默认值外,不要传递任何内容,因为这个参数没有被使用。

返回:

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

返回类型:

(cupy.narray or int)

asformat(format)[源代码]#

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

参数:

format (str or None) – 你需要的形式。

asfptype()[源代码]#

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

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

返回:

一个浮点类型的矩阵。

返回类型:

cupyx.scipy.sparse.spmatrix

astype(t)[源代码]#

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

参数:

dtype – 类型说明符。

返回:

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

ceil()[源代码]#

逐元素向上取整。

conj(copy=True)[源代码]#

逐元素复共轭。

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

参数:

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

返回:

逐元素的复共轭。

返回类型:

cupyx.scipy.sparse.spmatrix

conjugate(copy=True)[源代码]#

逐元素复共轭。

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

参数:

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

返回:

逐元素的复共轭。

返回类型:

cupyx.scipy.sparse.spmatrix

copy()[源代码]#

返回此矩阵的副本。

返回值和当前矩阵之间不会共享数据/索引。

count_nonzero()[源代码]#

返回非零条目的数量。

备注

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

返回:

非零条目的数量。

deg2rad()[源代码]#

逐元素的 deg2rad。

diagonal(k=0)[源代码]#

返回矩阵的第 k 条对角线。

参数:
  • k (int, optional) – 获取哪条对角线,对应于元素

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

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

返回:

第 k 条对角线。

返回类型:

cupy.ndarray

dot(other)[源代码]#

普通点积

eliminate_zeros()[源代码][源代码]#

原地移除零条目。

expm1()[源代码]#

逐元素计算 expm1。

floor()[源代码]#

逐元素取底。

get(stream=None)[源代码][源代码]#

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

警告

你需要安装 SciPy 来使用这个方法。

参数:

stream (cupy.cuda.Stream) – CUDA 流对象。如果提供了它,复制操作将异步进行。否则,复制操作是同步的。

返回:

主机内存中的数组副本。

返回类型:

scipy.sparse.csc_matrix

getH()[源代码]#
get_shape()[源代码]#

返回矩阵的形状。

返回:

矩阵的形状。

返回类型:

tuple

getcol(i)[源代码][源代码]#

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

参数:

i (integer) – 列

返回:

单列稀疏矩阵

返回类型:

cupyx.scipy.sparse.csc_matrix

getformat()[源代码]#
getmaxprint()[源代码]#
getnnz(axis=None)[源代码]#

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

参数:

axis – 尚不支持。

返回:

存储值的数量。

返回类型:

int

getrow(i)[源代码][源代码]#

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

参数:

i (integer) – 行

返回:

稀疏矩阵与单行

返回类型:

cupyx.scipy.sparse.csc_matrix

log1p()[源代码]#

逐元素计算 log1p。

max(axis=None, out=None, *, explicit=False)[源代码]#

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

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

  • out (None) – (可选) 这个参数在签名中 是为了与NumPy兼容。除了默认值外,不要传递任何内容,因为这个参数没有被使用。

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

返回:

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

返回类型:

(cupy.ndarray or float)

参见

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

参见

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

maximum(other)[源代码]#
mean(axis=None, dtype=None, out=None)[源代码]#

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

参数:

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

返回:

求和数组。

返回类型:

cupy.ndarray

参见

scipy.sparse.spmatrix.mean()

min(axis=None, out=None, *, explicit=False)[源代码]#

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

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

  • out (None) – (可选) 这个参数在签名中 是为了与NumPy兼容。除了默认值外,不要传递任何内容,因为这个参数没有被使用。

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

返回:

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

返回类型:

(cupy.ndarray or float)

参见

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

参见

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

minimum(other)[源代码]#
multiply(other)[源代码]#

逐点乘以另一个矩阵

power(n, dtype=None)[源代码]#

逐元素幂函数。

参数:
  • n – 指数。

  • dtype – 类型说明符。

rad2deg()[源代码]#

逐元素的 rad2deg。

reshape(*shape, order='C')[源代码]#

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

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

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

返回:

稀疏矩阵

返回类型:

cupyx.scipy.sparse.coo_matrix

rint()[源代码]#

逐元素取整。

set_shape(shape)[源代码]#
setdiag(values, k=0)[源代码]#

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

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

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

sign()[源代码]#

逐元素符号。

sin()[源代码]#

逐元素正弦。

sinh()[源代码]#

逐元素的双曲正弦函数。

sort_indices()[源代码][源代码]#

对本矩阵的索引进行*原地*排序。

警告

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

sorted_indices()[源代码]#

返回此矩阵的副本,并按排序后的索引排列

警告

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

sqrt()[源代码]#

逐元素平方根。

sum(axis=None, dtype=None, out=None)[源代码]#

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

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

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

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

返回:

求和数组。

返回类型:

cupy.ndarray

参见

scipy.sparse.spmatrix.sum()

sum_duplicates()[源代码]#

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

备注

这是一个 原地 操作。

警告

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

tan()[源代码]#

逐元素的 tan 函数。

tanh()[源代码]#

逐元素 tanh。

toarray(order=None, out=None)[源代码][源代码]#

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

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

  • out – 不支持。

返回:

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

返回类型:

cupy.ndarray

tobsr(blocksize=None, copy=False)[源代码]#

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

tocoo(copy=False)[源代码][源代码]#

将矩阵转换为 COOrdinate 格式。

参数:

copy (bool) – 如果 False ,它会尽可能多地共享数据数组。

返回:

转换后的矩阵。

返回类型:

cupyx.scipy.sparse.coo_matrix

tocsc(copy=None)[源代码][源代码]#

将矩阵转换为压缩稀疏列格式。

参数:

copy (bool) – 如果 False,该方法返回自身。否则,它会复制矩阵。

返回:

转换后的矩阵。

返回类型:

cupyx.scipy.sparse.csc_matrix

tocsr(copy=False)[源代码][源代码]#

将矩阵转换为压缩稀疏行格式。

参数:

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

返回:

转换后的矩阵。

返回类型:

cupyx.scipy.sparse.csr_matrix

todense(order=None, out=None)[源代码]#

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

todia(copy=False)[源代码]#

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

todok(copy=False)[源代码]#

将此矩阵转换为字典键格式。

tolil(copy=False)[源代码]#

将此矩阵转换为链表格式。

transpose(axes=None, copy=False)[源代码][源代码]#

返回一个转置矩阵。

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

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

返回:

self 的维度反转。

返回类型:

cupyx.scipy.sparse.csr_matrix

trunc()[源代码]#

逐元素截断。

__eq__(other)[源代码]#

返回 self==value。

__ne__(other)[源代码]#

返回 self!=value。

__lt__(other)[源代码]#

返回 self<value。

__le__(other)[源代码]#

返回 self<=value。

__gt__(other)[源代码]#

返回 self>value。

__ge__(other)[源代码]#

返回 self>=value。

__nonzero__()[源代码]#
__bool__()[源代码]#

属性

A#

该矩阵的密集 ndarray 表示。

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

H#
T#
device#

此数组所在的 CUDA 设备。

dtype#

矩阵的数据类型。

format = 'csc'#
has_canonical_format#

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

返回

bool: 如果上述情况适用,则为 True,否则为 False

备注

has_canonical_format 意味着 has_sorted_indices,所以如果后者标志是 False,前者也将是;如果前者被发现是 True,后者标志也会被设置。

警告

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

has_sorted_indices#

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

返回
bool:

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

警告

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

ndim#
nnz#
shape#
size#