Eu tenho uma função definida numericamente que está entre um gaussiano e um lorentziano. Decai muito mais devagar que um gaussiano, mas ainda mais rápido que um simples poder inverso.
No entanto, quando calculo uma aproximação à transformada de Fourier, recebo algumas oscilações ímpares que eu não esperaria inicialmente.
Como indiquei na figura acima, as oscilações têm um "período" de cerca de 15,7. Meu primeiro palpite seria que esse poderia ser um artefato de natureza alternada do cancelamento da integral, mas que não explicaria o "período" observado de 15,7.
que é exatamente um fator de 100 diferente do que observo (sim, verifiquei se defini corretamente minhas integrais e eixos horizontais). Como isso poderia ser?
Edição # 1: Detalhes da interpolação
Interpolation
De fato, agora que escrevi isso, percebo que poderia muito bem ser um artefato da minha amostra finita, porque:
Gostaria muito de receber mais ajuda sobre isso, em particular uma boa maneira de superar esse problema.
h[x_?NumericQ, En_?NumericQ, pz_?NumericQ] :=
1./(En^2 + pz^2 + 0.24^2)*
NIntegrate[((Sqrt[
0.316/(1. +
1.2*((k4 + 0.5*En)^2 + kp + (x*pz)^2))^1.*0.316/(1. +
1.2*((k4 - 0.5*En)^2 + kp + ((1. - x)*pz)^2))^1.])*((1. -
x)*0.316/(1. + 1.2*((k4 + 0.5*En)^2 + kp + (x*pz)^2))^1. +
x*0.316/(1. +
1.2*((k4 - 0.5*En)^2 + kp + ((1. - x)*pz)^2))^1.))/(((k4 +
0.5*En)^2 +
kp + (x*pz)^2 + (0.316/(1. +
1.2*((k4 + 0.5*En)^2 + kp + (x*pz)^2))^1.)^2)*((k4 -
0.5*En)^2 +
kp + ((1. - x)*
pz)^2 + (0.316/(1. +
1.2*((k4 - 0.5*En)^2 +
kp + ((1. - x)*
pz)^2))^1.)^2)), {k4, -\[Infinity], \[Infinity]}, {kp,
0, \[Infinity]}, Method -> "LocalAdaptive",
MaxRecursion ->
100]; (*LocalAdaptive seems to work slightly faster *)
g[x_]:=h[0.5,x,2.]; (*this is the function*)
Integrate
a construção adaptativa de interpolantes (e todo o pensamento que foi introduzido em sua função). design) com você mesmo, o que provavelmente é uma má ideia.
Module[{n=32,L=10},Exp[InterpolatingPolynomial[Table[{x,Log[g[x]]},{x,-L Cos[(π N@Range[1,2n-1,2])/(2n)]}],x]]]