Как выполнить *быстрое* DCT (дискретное косинусное преобразование) в R?

Использование Rprof показало, что dct в пакете dtt был основным нарушителем в части кода R, который работал довольно медленно.Заменив его на fft в пакете stats (это не одно и то же преобразование, но для вычисления нужно столько же времени), время выполнения резко улучшилось. На самом деле 2/3 моих линий Rprof ранее были вызовами dct, а всего 3 линии из примерно 600 были вызовами fft после переключения.

Разве реализация dct в пакете dtt не выполняется с использованием быстрогодискретного преобразования Фурье? Если да, то есть ли пакет, в котором он есть? (Я знаю, что можно удвоить данные, а затем извлечь коэффициенты для dct из этих коэффициентов fft, но прямой быстрый dct, безусловно, был бы лучше, и действительно долженгде-то быть).

6
задан John Robertson 28 June 2012 в 15:44
поделиться