Open dlfivefifty opened 3 years ago
Hmm, for the disk what about something like
P_k(ρ(x)) * T_j(y/ρ(x)), x*P_k(ρ(x)) * T_j(y/ρ(x))
whee P_k
are orthogonal on 0..1
. I think this contains all polynomials a subspace, and we can use even/odd in x
for fast transforms?
For ρ(x) = (1-x^4)^(1/4)
we would need two more:
x^j * P_k(ρ(x)) * T_j(y/ρ(x)) for j = 0:3
so the expansion part is not so clear...
Yeah I think it works on the disk since it's quite a lot like spherical harmonics without the z = cos(theta) variable transformation.
Don't know about the quartic weight, but perhaps instead of Givens rotations the isométries can be factored in terms of short Householder reflectors.
Works on the disk from what basis? I’m not talking about the radial coordinates basis
I think the Dunkl-Xu will work. Just needs implementing
It works like this. I assume we have no problem in the even k case. You write:
C_{n-k}^(k)(x)*ρ(x)^k*T_k(y/ρ(x))
as polynomials in x times T_k(y/ρ(x))
by unrolling C_{n-k}^(k)(x)*ρ(x)^k
via Givens rotations.
For odd k, you leave one power of ρ(x)
behind (and use the fact that T_k
is odd). Discrete sine and cosine transforms follow.
@MikaelSlevinsky's transform work by first expanding in a tensor product basis, which contains non-polynomial terms, before transforming to a polynomial basis. For example, to compute OPs on the triangle we expand in the basis
(I'm using OPs on
0..1
here) which includes non-polynomial termsy/(1-x)^j
, before converting to the polynomial basisThe point is polynomials in
x
andy
are a subspace of the non-polynomial basis.Does this technique translate to OPs on the disk (a la Dunkl & Xu, not Zernike)
where
ρ(x) = sqrt(1-x^2)
? A tensor basis likedoes not seem to work here... seems like we'd need a sum-space frame that also includes
ρ(x)*T_k(x)*T_j(y/ρ(x))
....What about
ρ(x) = (1-x^4)^(1/4)
? Now we wouldn't know the OP basis but perhaps we can represent it by the conversion to a bigger basis a laLanczosPolynomial
.