Функция imag
Функция imag применяется к комплексным тензорам и возвращает тензор, содержащий мнимую часть каждого элемента. На вход она принимает тензор с комплексным типом данных (например, torch.complex64 или torch.complex128) и возвращает тензор с вещественным типом данных, соответствующим точности исходного комплексного числа. Эта функция полезна при работе с сигналами, преобразованиями Фурье и другими областями, где используются комплексные числа.
Синтаксис
torch.imag(input)
где input - комплексный тензор.
Пример
Давайте создадим комплексный тензор и извлечём из него мнимую часть:
import torch
t = torch.tensor([1 + 2j, 3 + 4j, 5 + 6j])
res = torch.imag(t)
print(res)
Результат выполнения кода:
tensor([2., 4., 6.])
Как видите, функция вернула вещественный тензор, состоящий только из мнимых частей исходных комплексных чисел.
Пример
Функция imag также корректно работает с тензорами, созданными с помощью torch.complex:
import torch
real = torch.tensor([1., 2., 3.])
imag = torch.tensor([4., 5., 6.])
t = torch.complex(real, imag)
res = torch.imag(t)
print(res)
Результат выполнения кода:
tensor([4., 5., 6.])
Здесь мы сначала сформировали комплексный тензор из двух вещественных, а затем получили его мнимую часть.
Пример
Функция imag сохраняет размерность исходного тензора. Рассмотрим это на двумерном примере:
import torch
t = torch.tensor([
[1 + 2j, 3 + 4j],
[5 + 6j, 7 + 8j],
])
res = torch.imag(t)
print(res)
Результат выполнения кода:
tensor([
[2., 4.],
[6., 8.],
])
Размерность тензора сохранилась, но тип данных изменился на вещественный.