Функция conj
Функция conj возвращает новый тензор, каждый элемент которого является комплексно-сопряженным числом для соответствующего элемента исходного тензора. Для тензоров с вещественными числами функция возвращает копию исходного тензора без изменений. Функция принимает один обязательный параметр - тензор input.
Синтаксис
torch.conj(input)
Пример
Давайте создадим комплексный тензор и применим к нему функцию conj:
import torch
t = torch.tensor([1 + 2j, 3 - 4j, 5 + 6j])
res = torch.conj(t)
print(res)
Результат выполнения кода:
tensor([1.-2.j, 3.+4.j, 5.-6.j])
Пример
Теперь применим функцию conj к вещественному тензору. В этом случае тензор не изменяется, но возвращается его копия:
import torch
t = torch.tensor([1.0, 2.0, 3.0])
res = torch.conj(t)
print(res)
Результат выполнения кода:
tensor([1., 2., 3.])
Пример
Рассмотрим работу conj с двумерным комплексным тензором. Для каждого элемента вычисляется сопряженное число:
import torch
t = torch.tensor([
[1 + 2j, 3 + 4j],
[5 + 6j, 7 + 8j]
])
res = torch.conj(t)
print(res)
Результат выполнения кода:
tensor([
[1.-2.j, 3.-4.j],
[5.-6.j, 7.-8.j]
])
Пример
Функция conj является методом тензора, поэтому ее можно вызывать непосредственно от объекта тензора. Результат будет аналогичным:
import torch
t = torch.tensor([1 + 2j, 3 - 4j])
res = t.conj()
print(res)
Результат выполнения кода:
tensor([1.-2.j, 3.+4.j])