6 votos

La mejor manera de generar un campo gaussiano

Tengo que generar un campo gaussiano homogéneo con una función de correlación dada de cada punto en una cuadrícula de tres dimensiones (500 x 500 x 500). El método de descomposición de Cholesky falla debido al gran número de puntos, por lo que necesito encontrar otro método. ¿Podría sugerirme la mejor manera de generar este campo gaussiano?

Gracias,

0 votos

Puedes consultar los métodos espectrales. Como el campo es estacionario, puedes aplicar una transformada de Fourier a la autocorrelación para obtener el espectro. Luego, escalas el ruido blanco complejo por la raíz cuadrada del espectro (que es real) y listo. Ecuaciones: $S(f)=\mathcal F R(s)$ , $H(f)=\sqrt{S(f)}$ , $X = \mathcal F ^{-1} (N\cdot H ) = n * \mathcal F ^{-1} H$ , $R_X(s)=\mathcal F ^{-1} S_X(f) = \mathcal F ^{-1} |H(f)|^2 = R(s)$ , donde $R$ , $S$ denotan autocorrelación y espectro, $n$ et $N$ son el ruido blanco y su transformada de Fourier. Habría que calcular la extensión a más dimensiones.

1voto

Tom Puntos 783

¡Sí, esto es demasiado grande para Cholesky! Si generas en una cuadrícula regular, los métodos espectrales son los mejores. Son un poco difíciles de configurar. Afortunadamente, hay varios paquetes de R, por ejemplo, RandomFields.

0 votos

Gracias por su respuesta. ¿Algún paquete para Python?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X