Python PyTorch 中的 torch.polar() 方法
給定絕對值和角度,我們可以使用 **torch.polar()** 方法在 PyTorch 中構造一個複數。絕對值和角度必須是 **float** 或 **double** 型別。絕對值和角度必須是相同的資料型別。
如果 **abs** 是 **float** 型別,則 **angle** 也必須是 **float** 型別。
如果輸入是 **torch.float32**,則構造的複數張量必須是 **torch.complex64**。
如果輸入是 **torch.float64**,則複數張量必須是 **torch.complex128**。
語法
torch.polar(abs, angle)
引數
**abs** – 複數張量的絕對長度。
**angle** – 複數張量的角度。
步驟
我們可以使用以下步驟來構造具有給定 **abs** 和 **angle** 的複數張量:
匯入所需的庫。在以下所有示例中,所需的 Python 庫是 **torch**。確保您已安裝它。
import torch
定義兩個 torch 張量:**abs** 和 **angle**。兩個張量中的元素數量必須相同。
abs = torch.tensor([3, 2.5], dtype=torch.float32) angle = torch.tensor([np.pi / 2, np.pi / 4], dtype=torch.float32)
使用給定的 **abs** 和 **angle** 構造一個複數張量。
z = torch.polar(abs, angle)
列印計算出的複數張量。
print("Complex Number:
", z)列印複數張量的 dtype。
print("dtype of Complex number:",z.dtype)示例 1
import torch
import numpy as np
# define the absolute value and angle of the complex tensor
abs = torch.tensor([1], dtype=torch.float32)
angle = torch.tensor([np.pi / 4], dtype=torch.float32)
# print absolute value and angle
print("abs:", abs)
print("angle:", angle)
z = torch.polar(abs, angle)
print("Complex number:
",z)
print("dtype of complex number:
", z.dtype)輸出
abs: tensor([1.]) angle: tensor([0.7854]) Complex number: tensor([0.7071+0.7071j]) dtype of complex number: torch.complex64
在上面的示例中,我們使用給定的張量絕對長度和角度構造了一個 **dtype=torch.complex64** 的複數張量。
示例 2
import torch import numpy as np abs = torch.tensor([3, 2.5], dtype=torch.float32) angle = torch.tensor([np.pi / 2, np.pi / 4], dtype=torch.float32) z = torch.polar(abs, angle) print(z)
輸出
tensor([-1.3113e-07+3.0000j, 1.7678e+00+1.7678j])
示例 3
import torch import numpy as np abs = torch.tensor([1.6, 2.3], dtype=torch.float64) angle = torch.tensor([np.pi / 3, 5 * np.pi / 2], dtype=torch.float64) z = torch.polar(abs, angle) print(z)
輸出
tensor([8.0000e-01+1.3856j, 7.0417e-16+2.3000j], dtype=torch.complex128)
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP