Дискретни намотка функция е (т) и г (т). определено на снимачната площадка на числа Z. нарича следното:
Кръгов намотка на дискретни не-периодична функция е с периодична функция грама се нарича следното:
Дискретен намотка има много различни приложения - умножение на полиноми, произволна точност аритметика, обработка на сигнали. Кръгов намотка не е комутативен - една от функциите е периодичен сигнал, и друг - от не-периодичен сигнал в отговор. Операнди конвенционален намотка твърде често има различни значения, но комутативен на операции - резултат гънка на мозъка не се променя от Първообразът на функциите е и ж.
подаване на данни
Домейн на функциите е и ж е на цялата поредица от числа, но на практика ние трябва да се справят с данни с ограничена дължина. Това е най-удобно, когато е и г са различни от нула само за неотрицателна т. Изчислителна съчетания ALGLIB пакетни решаване на този конкретен проблем - извивките на две функции различна от нула само за не-отрицателни стойности на аргумента. Това позволява да се използва прост кореспонденция между функцията и аргумент индекс масив, който съхранява своята стойност: F (т = l) = f_array [Ь] 0 ≤ I Ако функции е и г са различни от нула и положителни и отрицателни стойности на аргумента, че е възможно да се използва фактът, че преместването на един от извивките аргументи резултат също се подлага на срязване в същата посока от същото количество (промяна на два аргумента - сумата от отделните премествания). Просто плъзнете е и ж надясно, докато всички не-нулева стойност, няма да се появи от едната страна на нула, обадете се на подпрограма за навиване, а след това се премести в резултат обратно. Тук, за простота, ние ще приемем, че N ≥ М. т.е. втори операнд е по-дълъг от първия, въпреки че скоростта на алгоритъма не зависи от реда, в който са прехвърлени операнди. Всеизвестно е, че намотка може да се изчисли с помощта на бързо преобразуване на Фурие в даден момент O (N · дневник (N)). Въпреки това, използването на линейна трансформация на Фурие не винаги е оптимално решение - ако един операнд е по-къс от другия, може значително да се ускори изчисления използват други алгоритми. В зависимост от дължината на операнди, ALGLIB пакет можете да използвате следните алгоритми: За изчисление на намотка, с помощта на част от алгоритъма на ALGLIB FFT. Конволюция подпрограма автоматично избира дължината на операнди, допълването им с нули, колкото е необходимо за постигане на оптимална ефективност (изпълнение FFT е силно зависима от дължината на разлагането операнд в основните фактори). По този начин, потребителите ALGLIB не е нужно да се притеснявате за оптималната дължина на операндите.Реализация на конволюция в ALGLIB
Ръчно въвеждане