Функция PyTorch torch.adjoint
Справочное руководство PyTorch torch
torch.adjointЭто функция в PyTorch, используемая для вычисления сопряжённого транспонирования (эрмитова сопряжения) матрицы. Для вещественных матриц она эквивалентна транспонированию; для комплексных матриц она возвращает транспонированную матрицу и выполняет комплексное сопряжение каждого элемента.
Определение функции
torch.adjoint(input)
Parameters:
input(Tensor): входной тензор.
Возвращаемое значение:
torch.Tensor: Возвращает сопряжённое транспонирование входного тензора.
Пример использования
Пример - вещественная матрица
import torch
# Создать вещественную матрицу
A = torch.tensor([[1, 2, 3], [4, 5, 6]])
# Вычислить сопряжённое транспонирование
result = torch.adjoint(A)
print("Исходная матрица:")
print(A)
print("Форма:", A.shape)
print("Сопряжённое транспонирование:")
print(result)
print("Форма:", result.shape)
# Создать вещественную матрицу
A = torch.tensor([[1, 2, 3], [4, 5, 6]])
# Вычислить сопряжённое транспонирование
result = torch.adjoint(A)
print("Исходная матрица:")
print(A)
print("Форма:", A.shape)
print("Сопряжённое транспонирование:")
print(result)
print("Форма:", result.shape)
Результат вывода:
原矩阵:
tensor([[1, 2, 3],
[4, 5, 6]])
形状: torch.Size([2, 3])
共轭转置:
tensor([[1, 4],
[2, 5],
[3, 6]])
形状: torch.Size([3, 2])
Пример - комплексная матрица
import torch
# Создать комплексную матрицу
A = torch.tensor([[1+1j, 2+2j], [3+3j, 4+4j]])
# Вычислить сопряжённое транспонирование
result = torch.adjoint(A)
print("Исходная матрица:")
print(A)
print("Сопряжённое транспонирование:")
print(result)
# Создать комплексную матрицу
A = torch.tensor([[1+1j, 2+2j], [3+3j, 4+4j]])
# Вычислить сопряжённое транспонирование
result = torch.adjoint(A)
print("Исходная матрица:")
print(A)
print("Сопряжённое транспонирование:")
print(result)
Другие расширения