irfftn#
- scipy.fft.irfftn(x, s=None, оси=None, norm=None, overwrite_x=False, workers=None, *, plan=None)[источник]#
Вычисляет обратную матрицу
rfftnЭта функция вычисляет обратное N-мерное дискретное преобразование Фурье для вещественного ввода по любому количеству осей в M-мерном массиве с помощью быстрого преобразования Фурье (БПФ). Другими словами,
irfftn(rfftn(x), x.shape) == xс численной точностью. (a.shapeнеобходимо, какlen(a)предназначен дляirfft, и по той же причине.)Входные данные должны быть упорядочены так же, как возвращается функцией
rfftn, т.е., как дляirfftдля конечной оси преобразования, и как дляifftnвдоль всех остальных осей.- Параметры:
- xarray_like
Входной массив.
- sпоследовательность целых чисел, опционально
Форма (длина каждой преобразованной оси) вывода (
s[0]относится к оси 0,s[1]к оси 1 и т.д.). s также является количеством входных точек, используемых вдоль этой оси, за исключением последней оси, гдеs[-1]//2+1точки ввода используются. По любой оси, если форма, указанная s меньше, чем у входных данных, входные данные обрезаются. Если больше, входные данные дополняются нулями. Если s не задан, используется форма ввода вдоль осей, указанных параметром axes. За исключением последней оси, которая принимается равной2*(m-1), гдеm— это длина входных данных вдоль этой оси.- осипоследовательность целых чисел, опционально
Оси, по которым вычисляется обратное БПФ. Если не указано, последние len(s) используются оси, или все оси, если s также не указан.
- norm{“backward”, “ortho”, “forward”}, опционально
Режим нормализации (см.
fft). По умолчанию “backward”.- overwrite_xbool, необязательно
Если True, содержимое x может быть уничтожен; по умолчанию False. См.
fftдля получения дополнительной информации.- workersint, необязательный
Максимальное количество рабочих процессов для параллельных вычислений. Если отрицательное, значение оборачивается с
os.cpu_count(). См.fftдля получения дополнительной информации.- planобъект, опционально
Этот аргумент зарезервирован для передачи предварительно вычисленного плана, предоставленного поставщиками FFT. В настоящее время не используется в SciPy.
Добавлено в версии 1.5.0.
- Возвращает:
- выходndarray
Усечённый или дополненный нулями вход, преобразованный вдоль осей, указанных оси, или комбинацией s или x, как объяснено в разделе параметров выше. Длина каждой преобразованной оси указана соответствующим элементом из s, или длина ввода по каждой оси, кроме последней, если s не задан. В окончательной преобразованной оси длина вывода, когда s не указано, это
2*(m-1), гдеm— это длина конечной преобразованной оси входных данных. Чтобы получить нечётное количество выходных точек на конечной оси, s должен быть указан.
- Вызывает:
- ValueError
Если s и оси имеют разную длину.
- IndexError
Если элемент оси больше количества осей x.
Смотрите также
Примечания
См.
fftдля определений и используемых соглашений.См.
rfftдля определений и соглашений, используемых для вещественного ввода.Значение по умолчанию для s предполагает четную длину выхода в конечной оси преобразования. При выполнении конечного преобразования из комплексного в вещественное, эрмитова симметрия требует, чтобы последняя мнимая компонента вдоль этой оси была равна 0, поэтому она игнорируется. Чтобы избежать потери информации, правильная длина вещественного ввода должен должен быть указан.
Примеры
>>> import scipy.fft >>> import numpy as np >>> x = np.zeros((3, 2, 2)) >>> x[0, 0, 0] = 3 * 2 * 2 >>> scipy.fft.irfftn(x) array([[[1., 1.], [1., 1.]], [[1., 1.], [1., 1.]], [[1., 1.], [1., 1.]]])