torch.linalg.svdvals
-
torch.linalg.svdvals(A, *, driver=None, out=None) → Tensor -
Вычисляет сингулярные значения матрицы.
Поддерживает входные данные типа float, double, cfloat и cdouble. Также поддерживает пакетные матрицы, и если
Aявляется пакетом матриц, то выходные данные имеют те же размерности пакета.Сингулярные значения возвращаются в порядке убывания.
Примечание
Эта функция эквивалентна функции NumPy’s
linalg.svd(A, compute_uv=False).Примечание
При вводе данных на устройстве CUDA эта функция синхронизирует это устройство с процессором.
См. также
torch.linalg.svd()вычисляет полное сингулярное разложение.- Параметры:
-
A (Тензор) – тензор формы
(*, m, n)где*— это ноль или более размерностей пакета. - Ключевые аргументы:
-
-
driver (str, необязательно) – имя метода cuSOLVER, который необходимо использовать. Этот ключевой аргумент работает только с входными данными CUDA. Доступные варианты:
None,gesvd,gesvdj, иgesvda. Подробности см. вtorch.linalg.svd(). По умолчанию:None. -
out (Тензор, необязательно) – выходной тензор. Игнорируется, если
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)
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.linalg.svdvals.html