Spec-Zone.ru › PyTorch 2

torch.polar

torch.polar(abs, angle, *, out=None) → Tensor

Создаёт комплексный тензор, элементы которого — декартовы координаты, соответствующие полярным координатам с абсолютным значением abs и углом angle.

out=abs⋅cos⁡(angle)+abs⋅sin⁡(angle)⋅j\text{out} = \text{abs} \cdot \cos(\text{angle}) + \text{abs} \cdot \sin(\text{angle}) \cdot j

Примечание

torch.polar похож на std::polar и не вычисляет полярное разложение комплексного тензора, как это делают Python’s cmath.polar и SciPy’s linalg.polar. Поведение этой функции не определено, если abs отрицательно или NaN, или если angle бесконечно.

Параметры
  • abs (Тензор) – Абсолютное значение комплексного тензора. Должно быть типа float или double.
  • angle (Тензор) – Угол комплексного тензора. Должен иметь тот же тип данных, что и abs.
Аргументы ключевого слова

out (Тензор) – Если входные данные torch.float32, то обязательно torch.complex64. Если входные данные torch.float64, то обязательно torch.complex128.

Пример:

>>> import numpy as np
>>> abs = torch.tensor([1, 2], dtype=torch.float64)
>>> angle = torch.tensor([np.pi / 2, 5 * np.pi / 4], dtype=torch.float64)
>>> z = torch.polar(abs, angle)
>>> z
tensor([(0.0000+1.0000j), (-1.4142-1.4142j)], dtype=torch.complex128)

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.polar.html

Spec-Zone.ru

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