¿Métodos numéricos para invertir transformadas integrales?


11

Estoy tratando de invertir numéricamente la siguiente transformación integral:

F(y)=∫0∞yexp⁡[−12(y2+x2)]I0(xy)f(x)dx

Entonces, para una dada , necesito aproximar f ( x ) donde:F(y)f(x)

  • y F ( y ) son reales y positivasf(x)F(y)(son distribuciones de probabilidad continuas)
  • son reales y positivosx,y(son magnitudes)

Tengo un método de fuerza bruta muy desordenado para hacer esto en este momento:

Defino y la spline sobre una serie de puntos, los valores de los puntos spiled se 'adivinan' por muestreo aleatorio, lo que produce un F ( y ) predicho . Un algoritmo genético básico que escribí minimiza la diferencia entre la matriz F ( y ) predicha y medida . Luego tomo la f ( x ) a la que converge el algoritmo como mi respuesta para la inversión.f(x)F(y)F(y)f(x)

Este enfoque funciona bastante bien para algunos casos simples, pero me parece desordenado y no particularmente robusto.

¿Alguien puede darme orientación sobre mejores formas de resolver este problema?

¡Gracias por su tiempo y ayuda!

[publicado en x en computercience]

Respuestas:


13

Un método bastante simple sería elegir una base en el espacio de funciones y convertir la transformación integral en una matriz. Entonces puedes simplemente invertir la matriz.

Matemáticamente, así es como funciona: necesita un conjunto de funciones de base ortonormal . (Usted puede salirse sin que éstos se normalizaron también, pero es más fácil de explicar de esta manera.) Medios Ortonormales que el producto interno ⟨ T i , T j ⟩ = δ i j , dondeTi(x)⟨Ti,Tj⟩=δij

(1)⟨Ti,Tj⟩≡∫abW(x)Ti(x)Tj(x)dx=δij

Aquí es alguna función de peso. Eso y los límites a y b están ligados a su elección de T i . Una vez que elija qué conjunto de funciones básicas usar, puede codificar los límites y la función de peso en su programa.W(x)abTi

Usando la ortonormalidad, puede expresar cualquier función, como y F ( y ) , como combinaciones lineales de estas funciones básicas:f(x)F(y)

(2)f(x)=∑iciTi(x)F(y)=∑jCjTj(y)

donde los coeficientes se calculan como

(3)ci=⟨f,Ti⟩=∫abW(x)f(x)Ti(x)dx(4)Cj=⟨F,Tj⟩=∫abW(y)F(y)Tj(y)dy

Puede verificar que estas expresiones sean consistentes con las definiciones de los coeficientes, ec. (2), y la ortonormalidad, ec. (1)

Ahora, calcule la transformación de cada una de las funciones básicas; Digamos que es .T~i(y)

T~i(y)≡∫0∞yexp⁡[−12(y2+x2)]I0(xy)Ti(x)dx

es una función, y por lo que se puede expresar como una combinación lineal de las funciones de base tal como lo hicimos conf(x)yF(y):T~i(y)f(x)F(y)

T~i(y)=∑kAikTk(y)

donde los elementos de la matriz se determinan de la misma manera que encontramos c i y C j arriba:AikciCj

(5)Aik=⟨T~i,Tk⟩=∫abW(y)T~i(y)Tk(y)dy

ikTi(x)W(x)

AikciCjf(x)F(y)

∑jCjTj(y)⏞F(y)=∫0∞yexp⁡[−12(y2+x2)]I0(xy)∑iciTi(x)⏞f(x)dx=∑ici∫0∞yexp⁡[−12(y2+x2)]I0(xy)Ti(x)dx=∑ici∑kAikTk(y)

CℓTℓ

⟨(∑jCjTj),Tℓ⟩=⟨(∑ici∑kAikTk),Tℓ⟩∫abW(y)∑jCjTj(y)Tℓ(y)dy=∫abW(y)∑ici∑jAikTk(y)Tℓ(y)dy∑jCj∫abW(y)Tj(y)Tℓ(y)dy=∑ici∑kAik∫abW(y)Tk(y)Tℓ(y)dy∑jCjδjℓ=∑ici∑kAikδkℓCℓ=∑iciAiℓ

ℓCj

CjciAijciAijCjF(y)

F(y)Cj

Cj=∑iciAij

A

ij1NNf(x)T1(x),…,TN(x)1MF(y)T1(y),…,TM(y)M=NMNNciAM×NA11ANM

[−1,1]TiW(x)=11−x2a=−1b=1⟨Ti,Tj⟩=δijπ/2i=j≠0⟨T0,T0⟩=π

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.