torch.svd_lowrank¶
- torch.svd_lowrank(A, q=6, niter=2, M=None)[源代码]¶
返回矩阵、矩阵批次或稀疏矩阵 的奇异值分解
(U, S, V),使得 。如果给定 ,则 对矩阵 进行奇异值分解。注意
该实现基于Halko等人2009年的算法5.1。
注意
为了获得可重复的结果,重置伪随机数生成器的种子
注意
假设输入是一个低秩矩阵。
注意
通常情况下,由于其10倍的高性能特性,对于密集矩阵使用全秩SVD实现
torch.linalg.svd()。低秩SVD 对于torch.linalg.svd()无法处理的超大稀疏矩阵将非常有用。- Args::
A (Tensor): 输入的张量,大小为
q (int, 可选): 对A的略微高估的秩。
- niter (int, optional): the number of subspace iterations to
进行;niter 必须是一个非负整数,默认值为 2
- M (Tensor, optional): the input tensor’s mean of size
.
- References::
Nathan Halko、Per-Gunnar Martinsson 和 Joel Tropp,通过随机性发现结构:用于构建近似矩阵分解的概率算法,arXiv:0909.4061 [math.NA; math.PR],2009年(可在arXiv获取)。