code: def make_covariances(
      n_matrices,
      n_channels,
      rs=None,
      return_params=False,
      evals_mean=2.0,
      evals_std=0.1,
  ):
      """Generate a set of covariances matrices, with the same eigenvectors.
  
      Parameters
      ----------
      n_matrices : int
          Number of matrices to generate.
      n_channels : int
          Number of channels in covariance matrices.
      rs : RandomState instance, default=None
          Random state for reproducible output across multiple function calls.
      return_params : bool, default=False
          If True, then return parameters.
      evals_mean : float, default=2.0
          Mean of eigen values.
      evals_std : float, default=0.1
          Standard deviation of eigen values.
  
      Returns
      -------
      covmats : ndarray, shape (n_matrices, n_channels, n_channels)
          Covariances matrices.
      evals : ndarray, shape (n_matrices, n_channels)
          Eigen values used for each covariance matrix.
          Only returned if ``return_params=True``.
      evecs : ndarray, shape (n_channels, n_channels)
          Eigen vectors used for all covariance matrices.
          Only returned if ``return_params=True``.
      """
      rs = check_random_state(rs)
  
      evals = np.abs(
          evals_mean + evals_std * rs.randn(n_matrices, n_channels)
      )
      evecs, _ = np.linalg.qr(rs.randn(n_channels, n_channels))
  
      covmats = np.empty((n_matrices, n_channels, n_channels))
      for i in range(n_matrices):
          covmats[i] = evecs @ np.diag(evals[i]) @ evecs.T
  
      if return_params:
          return covmats, evals, evecs
      else:
          return covmats
  
file_path: pyRiemann/pyriemann/datasets/simulated.py
imports: import numpy
  from sklearn.utils.validation import check_random_state
  from ..utils.mean import mean_riemann
  from ..utils.distance import distance_riemann
  from ..utils.base import invsqrtm, powm, sqrtm, expm
  from .sampling import generate_random_spd_matrix, sample_gaussian_spd
  from ..transfer import encode_domains
  from ..utils import deprecated
label_desc: Use image node_id 1 for calling a global function with example usage: make_covariances(n_matrices, n_channels, rs, return_params, evals_mean, evals_std) and returns: covmats,  evals,  evecs, covmats