Да что значит искажает: там (в БПФ) объём вычислений порядка

, где в скобках складываются те простые сомножители, на которые раскладываеся

.
Я имел в виду, что и матрицу и вектор можно в некоторых случаях дополнить элементами до размерности степени двойки. А ответ урезать до первоначальной размерности.
Если при этом результат будет эквивалентным - то игра стоит свеч.
368Х368 всяко меньше, чем 512Х9Х4.
-- Чт апр 07, 2011 19:24:28 --Как я понял, имеется в виду матрица

, в которой

при

и

при

, где

- некоторые числа.
В этом случае (как и в случае любой другой матрицы, в которой

зависит только от

) её произведение на вектор можно вычислить за O(n*log(n)) арифметических операций с помощью быстрого преобразования Фурье. Описывать быстрое преобразование Фурье здесь не буду, так как оно описано на многих других сайтах.
А не кинете ссылку на наиболее простое обяснение преобразования таких матриц к псевдодиагональному виду.
Я когда-то БПФ даже программировал, но мне бы теорию - и чтобы попроще.