КОМПЬЮТЕРНАЯ ОБРАБОТКА ЧИСЛОВЫХ ПОТОКОВ С ПОМОЩЬЮ ВЭЙВЛЕТОВ Выполнил : Терехин Николай, 545 Научный руководитель : Демьянович Ю. К.
Постановка задачи 2 Дана функция f из C 1 [a, b] Дана сетка на [a, b] и значения в узлах Приблизить f, используя значения в узлах сетки Пользователь контролирует количество кодирующих чисел
Вэйвлетный подход 3 Рассмотреть f на мелкой сетке Укрупнить сетку Аппроксимировать f на крупной сетке
Сплайны 4 Фиксируем φ (t) = (1, t, t 2 ) T Аппроксимационное соотношение a j-2 ω j-2 + a j-1 ω j-1 + a j ω j = φ (t) при t [x j, x j+1 ] Рассматриваем ω j такие, что supp ω j [x j, x j+3 ] S φ (X)= {u | u = Σ c j ω j } – пространство сплайнов f приближается с помощью линейной комбинации ω j
Аппроксимация 5 На вход подаётся аргумент функции t, узлы сетки и значения в них За O(log N) вычисляется пара узлов сетки, соседних с x За O( 1 ) вычисляется значение аппроксимации
Средства разработки 6 C++ Microsoft Windows Microsoft Visual Studio 2008 На выходе DLL
Экспортируемые функции 7 EncodeFunction Вход: начальное количество узлов, доля сохраняемых узлов, функция Выход : основной поток ApproximateValue Вход: узлы, коэффициенты Выход : аппроксимация
Возможности для распараллеливания 8 ApproximateValue выполняется быстро EncodeFunction потенциально долгая операция и может быть распараллелена Оптимально использование OpenMP #pragma omp parallel for schedule(static)