Opción 1:
Cortar el dominio en $[0,M]$ para algunos $M$ elegida de forma que la integral sobre $[M,\infty)$ es como máximo la mitad de la tolerancia deseada. A continuación, utilice una rutina de cuadratura estándar como la regla trapezoidal o la regla de Simpson en $[0,M]$ con un tamaño de paso lo suficientemente pequeño como para que el error en $[0,M]$ es como máximo la mitad de la tolerancia deseada.
Opción 2:
Utilice la opción 1, pero con tamaños de paso más grandes donde el integrando es más pequeño. Esto es útil en su problema, porque su integrando es extremadamente pequeño fuera de un intervalo moderadamente grande alrededor de $0$ (como $[0,100]$ ).
Opción 3:
Definir $F(t)$ para ser la extensión par de $\sin(\pi t)$ de $[0,\infty)$ a $\mathbb{R}$ . (Así que $F(t)=\sin(\pi t)$ para $t \geq 0$ y $F(t)=\sin(-\pi t)$ para $t<0$ .)
Escriba $$I=\int_0^\infty e^{-t^2/100} \sin(\pi t) dt = \frac{1}{2} \int_{-\infty}^\infty e^{-t^2/100} F(t) dt =5 \int_{-\infty}^\infty e^{-s^2} F(10s) ds$$
y luego realizar la cuadratura Gauss-Hermite.
Opción 4:
De forma similar a la opción 3, escriba
$$I=\frac{\sqrt{50}}{2} \int_{-\infty}^\infty e^{-s^2/2} F(\sqrt{50}s) ds$$
y luego reconocer esto como $\frac{\sqrt{50}}{2} E(F(\sqrt{50}X))$ , donde $X$ es una variable aleatoria normal estándar. A continuación, calcule esta expectativa mediante un procedimiento de Montecarlo. (Esta es probablemente la peor de las cuatro opciones que he dado aquí).
Opción 5 (quizás la mejor, sugerida por @uranix):
Escriba
$$I=10 \int_0^\infty e^{-s^2} F(10s) ds$$
y luego usar la cuadratura de Gauss directamente. Por lo que sé, esta forma particular de cuadratura de Gauss no tiene un nombre especial y sus parámetros no están bien tabulados, pero se puede utilizar el algoritmo de Golub-Welsch para generar los nodos y pesos directamente. Lo único que necesita el algoritmo de Golub-Welsch para este caso que no puede generar por sí mismo es $\int_0^\infty e^{-x^2} dx$ que, por supuesto, es $\frac{\sqrt{\pi}}{2}$ .