Based on moving-average model.
using grid_type = Grid< T, N >using array_type = Array< T, N >using default_coefficient_solver = Fixed_point_iteration_yule_walker_solver< T, N >using solver_ptr = std::unique_ptr< solver_type >using solver_type = Yule_walker_solver< T, N >generate(const grid_type & grid, array_type & result) -> voidvirtualoperator=(const MA_wavy_surface_generator &) -> MA_wavy_surface_generator &MA_wavy_surface_generator(const MA_wavy_surface_generator &)MA_wavy_surface_generator()Based on autoregerssive model.
using solver_ptr = std::unique_ptr< solver_type >using grid_type = Grid< T, N >using array_type = Array< T, N >generate(const grid_type & grid, array_type & result) -> voidvirtual~AR_wavy_surface_generator()virtualAR_wavy_surface_generator()using rect3 = blitz::RectDomain< N >using vec3 = blitz::TinyVector< T, N >using generator_ptr = std::unique_ptr< generator_type >using generator_type = Wavy_surface_generator< T >using solver_ptr = std::unique_ptr< solver_type >using solver_type = Yule_walker_solver< T, N >using prng_type = std::mt19937using array_type = Array< T, N >using grid_type = Grid< T, N >generate_white_noise(array_type result) -> voidprotectedcalculate_coefficients() -> voiddecay() const -> const vec3 &decay(const vec3 & rhs) -> voidcoefficient_solver() -> solver_type *coefficient_solver() const -> const solver_type *coefficient_solver(solver_ptr && ptr) -> voidtemplate <class SeedSequence> seed(SeedSequence & seq) -> voidseed() -> voidvariance() const -> Twhite_noise_variance() const -> Tcoefficients() const -> const array_type &acf() const -> const array_type &acf(array_type acf_in) -> voidacf_generator() const -> const generator_ptr &acf_generator(generator_ptr ptr) -> voidhas_acf_generator() const -> boolhas_acf() const -> boolhas_coefficients() const -> boolgenerate(const grid_type & grid, array_type & result) -> voidvirtualARMA_wavy_surface_generator_base(array_type acf_in)explicit~ARMA_wavy_surface_generator_base()virtualARMA_wavy_surface_generator_base()template <class T, int N> covariance(blitz::Array< T, N > lhs, blitz::Array< T, N > rhs, Chirp_Z_transform< std::complex< T >, N > & fft) -> blitz::Array< T, N >
Computes autocovariance function of three-dimensional field.
Check AR (MA) process stationarity (invertibility).
template <class T, int N> correlation(blitz::Array< T, N > lhs, blitz::Array< T, N > rhs, Chirp_Z_transform< std::complex< T >, N > & fft) -> blitz::Array< T, N >