快捷键

torch.linalg.matrix_norm

torch.linalg.matrix_norm(A, ord='fro', dim=(- 2, - 1), keepdim=False, *, dtype=None, out=None) Tensor

计算矩阵范数。

如果 A 是复数值,则计算 A .abs() 的范数

支持输入 float、double、cfloat 和 cdouble 数据类型。也支持矩阵批次的输入:范数将在由 2-元组 dim 指定的维度上计算,其他维度将被视为批次维度。输出将具有相同的批次维度。

ord 定义了所计算的矩阵范数。以下范数被支持:

ord

矩阵范数

‘fro’(默认)

Frobenius 范数

‘nuc’

核范数

无穷

求 max(sum(abs(x), dim=1))

-无穷大

求 x 的绝对值之和的最小值(按维度 1)

1

求 x 的绝对值之和的最大值(按维度 0)

-1

求 x 的绝对值之和的最小值(按维度 0)

2

最大的奇异值

-2

最小的奇异值

其中 inf 指的是 float(‘inf’), NumPy 的 inf 对象,或任何等效对象。

参数:
  • A(张量)- 具有两个或更多维度的张量。默认情况下,其形状被解释为 (*, m, n),其中 * 是零个或多个批次维度,但此行为可以通过 dim 进行控制。

  • ord (int, inf, -inf, 'fro', 'nuc', 可选) – 范数的阶。默认:‘fro’

  • dim (Tuple[int, int], 可选) – 计算范数的维度。默认:(-2, -1)

  • keepdim (bool, 可选) – 如果设置为 True,则减少的维度在结果中保留为大小为一的维度。默认:False

关键字参数:
  • out(张量,可选)- 输出张量。如果为 None 则忽略。默认:None。

  • dtype ( torch.dtype ,可选) – 如果指定,则在执行操作之前将输入张量转换为 dtype ,返回的张量类型将为 dtype 。默认:None

返回值:

实值张量,即使 A 是复数。

示例:

>>> from torch import linalg as LA
>>> A = torch.arange(9, dtype=torch.float).reshape(3, 3)
>>> A
tensor([[0., 1., 2.],
        [3., 4., 5.],
        [6., 7., 8.]])
>>> LA.matrix_norm(A)
tensor(14.2829)
>>> LA.matrix_norm(A, ord=-1)
tensor(9.)
>>> B = A.expand(2, -1, -1)
>>> B
tensor([[[0., 1., 2.],
        [3., 4., 5.],
        [6., 7., 8.]],

        [[0., 1., 2.],
        [3., 4., 5.],
        [6., 7., 8.]]])
>>> LA.matrix_norm(B)
tensor([14.2829, 14.2829])
>>> LA.matrix_norm(B, dim=(0, 2))
tensor([ 3.1623, 10.0000, 17.2627])

© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源并获得您的疑问解答

查看资源