torch.linalg.svdvals
-
torch.linalg.svdvals(A, *, driver=None, out=None) → Tensor[source] -
Вычисляет сингулярные значения матрицы.
Поддерживает входные данные типов float, double, cfloat и cdouble. Также поддерживает пакетную обработку матриц; если
Aпредставляет собой пакет матриц, выходные данные имеют те же пакетные размерности.Сингулярные значения возвращаются в порядке убывания.
Примечание
Эта функция эквивалентна
linalg.svd(A, compute_uv=False)NumPy.Примечание
Если входные данные находятся на устройстве CUDA, эта функция синхронизирует это устройство с CPU.
См. также
torch.linalg.svd()вычисляет полное сингулярное разложение.- Параметры:
-
A (Tensor) – тензор формы
(*, m, n), где*— ноль или более пакетных размерностей. - Именованные аргументы:
-
-
driver (str, необязательно) – название метода cuSOLVER, который следует использовать. Этот именованный аргумент работает только для входных данных CUDA. Доступны следующие варианты:
None,gesvd,gesvdjиgesvda. Подробнее см. в разделеtorch.linalg.svd(). По умолчанию:None. -
out (Tensor, необязательно) – выходной тензор. Игнорируется, если
None. По умолчанию:None.
-
driver (str, необязательно) – название метода cuSOLVER, который следует использовать. Этот именованный аргумент работает только для входных данных CUDA. Доступны следующие варианты:
- Возвращает:
-
Тензор с вещественными значениями, даже если
Aявляется комплексным.
Примеры:
>>> A = torch.randn(5, 3) >>> S = torch.linalg.svdvals(A) >>> S tensor([2.5139, 2.1087, 1.1066]) >>> torch.dist(S, torch.linalg.svd(A, full_matrices=False).S) tensor(2.4576e-07)
© 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.svdvals.html