Документация Engee

Преобразование Падуа

Здесь приводится преобразование Падуа и обратное преобразование с точным объяснением нормализации и точек.

using FastTransforms

Определим точки Падуа и извлечем декартовы составляющие:

N = 15
pts = paduapoints(N)
x = pts[:,1]
y = pts[:,2];

Возьмем преобразование Падуа для функции:

f = (x,y) -> exp(x + cos(y))
f̌ = paduatransform(f.(x , y));

и используем коэффициенты для создания аппроксимации функции :

f̃ = (x,y) -> begin
    j = 1
    ret = 0.0
    for n in 0:N, k in 0:n
        ret += f̌[j]*cos((n-k)*acos(x)) * cos(k*acos(y))
        j += 1
    end
    ret
end
#3 (generic function with 1 method)

В какой точке функция хорошо аппроксимирована?

f̃(0.1,0.2) ≈ f(0.1,0.2)
true

Возвращает ли нас обратное преобразование назад к сетке?

ipaduatransform(f̌) ≈ f̃.(x,y)
true