GaussianMixture

does this and that…

class olympus.surfaces.GaussianMixture(*args, **kwargs)[source]

Random Gaussian Mixture surface. Given the number of dimensions and Gaussian distributions provided, the surface is the sum of probability densities. Unless a set of means and covariances are provided, a set of random means and covariances are generated.

Parameters
  • param_dim (int) – Number of input dimensions. Default is 2.

  • num_gauss (int) – Number of Gaussians. Default is 2.

  • cov_scale (float) – Scaling factor for the randomly generated covariance matrices (default is 0.5). A random covariance matrix B is generated by multiplying a random matrix A by its transpose. The elements of the random matrix are drawn from a uniform distribution. cov_scale is used to scale the resulting covariance matrix. Setting it to one typically generates smooth surfaces, while setting it to 0.1 generates rougher surfaces.

  • diagonal_cov (bool) – Whether to use a diagonal rather than full covariance matrix. Default is False.

  • means (array) – 2-dimensional array (shape=(#gaussians, #dimensions)) providing a list of means for the Gaussians. If provided, param_dim and num_gauss will be ignored, as they will be derived from the dimensionality of this array.

  • covariances (array) – 3-dimensional array (shape=(#gaussians, #dimensions, #dimensions)) providing a list of covariance matrices for the Gaussians. If provided, param_dim and num_gauss will be ignored, as they will be derived from the dimensionality of this array.

  • noise (Noise) – Noise object that injects noise into the evaluations of the surface. Default is None.

  • random_seed (int) – Fix the random seed for reproducible surfaces. Default is None, i.e. random.

Methods

run(params[, return_paramvector])

Evaluate the surface at the chosen location.