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’ядерная норма
infmax(sum(abs(x), dim=1))-infmin(sum(abs(x), dim=1))1max(sum(abs(x), dim=0))-1min(sum(abs(x), dim=0))2наибольшее сингулярное значение
-2наименьшее сингулярное значение
где
infозначаетfloat(‘inf’), объект NumPyinfили любой эквивалентный объект.- Параметры:
-
-
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
-
A (Tensor) – тензор с двумя или более измерениями. По умолчанию его форма интерпретируется как
- Именованные аргументы:
-
-
out (Tensor, optional) – выходной тензор. Игнорируется, если
None. По умолчанию:None. -
dtype (
torch.dtype, optional) – если задан,xперед накоплением преобразуется к типуdtype. По умолчанию:None
-
out (Tensor, optional) – выходной тензор. Игнорируется, если
- Возвращает:
-
Тензор с действительными значениями, даже если
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