pyriemann.datasets.sample_gaussian_spd¶
- pyriemann.datasets.sample_gaussian_spd(n_matrices, mean, sigma, random_state=None, n_jobs=1, sampling_method='auto')¶
Sample a Riemannian Gaussian distribution.
Sample SPD matrices from a Riemannian Gaussian distribution centered at mean and with dispersion parametrized by sigma. This distribution has been defined in [1] and generalizes the notion of a Gaussian distribution to the space of SPD matrices. The sampling is based on a spectral factorization of SPD matrices in terms of their eigenvectors (U-parameters) and the log of the eigenvalues (r-parameters).
- Parameters:
- n_matricesint
How many matrices to generate.
- meanndarray, shape (n_dim, n_dim)
Center of the Riemannian Gaussian distribution.
- sigmafloat
Dispersion of the Riemannian Gaussian distribution.
- random_stateint, RandomState instance or None, default=None
Pass an int for reproducible output across multiple function calls.
- n_jobsint, default=1
The number of jobs to use for the computation. This works by computing each of the class centroid in parallel. If -1 all CPUs are used.
- sampling_methodstr, default=’auto’
Sampling method to sample eigenvalues. It can be ‘auto’, ‘slice’ or ‘rejection’. If it is ‘auto’, the sampling_method will be equal to ‘slice’ for n_dim != 2 and equal to ‘rejection’ for n_dim = 2.
Added in version 0.4.
- Returns:
- samplesndarray, shape (n_matrices, n_dim, n_dim)
Samples of the Riemannian Gaussian distribution.
Notes
Added in version 0.3.
References
[1]Riemannian Gaussian distributions on the space of symmetric positive definite matrices S. Said, L. Bombrun, Y. Berthoumieu, and J. Manton. IEEE Trans Inf Theory, vol. 63, pp. 2153–2170, 2017.