РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
283 of 769 menu

Функция fft.fftn

Функция fft.fftn вычисляет многомерное дискретное преобразование Фурье (ДПФ) над одним или несколькими последними измерениями тензора. Первый параметр функции - входной тензор. Вторым параметром можно передать размеры преобразования. Третьим параметром можно указать размерность, по которой выполняется преобразование. Также функция поддерживает параметр norm для управления нормализацией.

Синтаксис

torch.fft.fftn(input, s=None, dim=None, norm='backward')

Пример

Давайте выполним двумерное преобразование Фурье над тензором размером 3x3:

import torch t = torch.tensor([ [1, 2, 3], [4, 5, 6], [7, 8, 9], ], dtype=torch.complex64) res = torch.fft.fftn(t) print(res)

Результат выполнения кода:

tensor([ [45.+0.j, -4.5+2.598j, -4.5-2.598j], [-13.5+7.794j, 0.+0.j, 0.+0.j ], [-13.5-7.794j, 0.-0.j, 0.+0.j ], ])

Пример

Давайте выполним преобразование только по первым двум осям трехмерного тензора с указанием размера s для каждой размерности:

import torch t = torch.randn(2, 3, 4, dtype=torch.complex64) torch.manual_seed(0) res = torch.fft.fftn(t, s=(2, 3), dim=(0, 1)) print(res.shape)

Результат выполнения кода:

torch.Size([2, 3, 4])

Пример

Давайте выполним преобразование с разными вариантами нормализации с помощью параметра norm:

import torch t = torch.tensor([ [1, 2], [3, 4], ], dtype=torch.complex64) res_backward = torch.fft.fftn(t, norm='backward') res_forward = torch.fft.fftn(t, norm='forward') res_ortho = torch.fft.fftn(t, norm='ortho') print(res_backward) print(res_forward) print(res_ortho)

Результат выполнения кода:

tensor([ [10.+0.j, -2.+0.j], [-4.+0.j, 0.+0.j], ]) tensor([ [2.5+0.j, -0.5+0.j], [-1.+0.j, 0.+0.j], ]) tensor([ [5.+0.j, -1.+0.j], [-2.+0.j, 0.+0.j], ])

Смотрите также

  • функцию fft,
    которая выполняет одномерное преобразование Фурье
  • функцию ifftn,
    которая выполняет обратное многомерное преобразование Фурье
  • функцию fft2,
    которая выполняет двумерное преобразование Фурье
  • функцию fftshift,
    которая смещает нулевую частоту в центр спектра
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить