Spec-Zone.ru › PyTorch 2.14

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. Также поддерживаются пакеты матриц: норма вычисляется по измерениям, указанным в кортеже из двух элементов dim, а остальные измерения считаются измерениями пакета. Выходные данные будут иметь те же измерения пакета.

ord задаёт вычисляемую матричную норму. Поддерживаются следующие нормы:

ord

матричная норма

‘fro’ (по умолчанию)

норма Фробениуса

‘nuc’

ядерная норма

inf

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

-inf

min(sum(abs(x), dim=1))

1

max(sum(abs(x), dim=0))

-1

min(sum(abs(x), dim=0))

2

наибольшее сингулярное значение

-2

наименьшее сингулярное значение

где inf означает float(‘inf’), объект NumPy inf или любой эквивалентный объект.

Параметры:
  • A (Tensor) – тензор с двумя или более измерениями. По умолчанию его форма интерпретируется как (*, m, n), где * — ноль или более измерений пакета; это поведение можно изменить с помощью dim.
  • ord (int, inf, -inf, 'fro', 'nuc', optional) – порядок нормы. По умолчанию: ‘fro’
  • dim (Tuple[int, int], optional) – измерения, по которым вычисляется норма. По умолчанию: (-2, -1)
  • keepdim (bool, optional) – если задано значение True, сокращённые измерения сохраняются в результате как измерения размера 1. По умолчанию: False
Именованные аргументы:
  • out (Tensor, optional) – выходной тензор. Игнорируется, если None. По умолчанию: None.
  • dtype (torch.dtype, optional) – если задан, x перед накоплением преобразуется к типу 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])

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.linalg.matrix_norm.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API