code: def test_geometric_mean_couple():
      n_features = 7
      spd1 = np.ones((n_features, n_features))
      spd1 = spd1.dot(spd1) + n_features * np.eye(n_features)
      spd2 = np.tril(np.ones((n_features, n_features)))
      spd2 = spd2.dot(spd2.T)
      vals_spd2, vecs_spd2 = np.linalg.eigh(spd2)
      spd2_sqrt = _form_symmetric(np.sqrt, vals_spd2, vecs_spd2)
      spd2_inv_sqrt = _form_symmetric(
          np.sqrt, 1.0 / vals_spd2, vecs_spd2
      )
      geo = spd2_sqrt.dot(
          _map_eigenvalues(
              np.sqrt, spd2_inv_sqrt.dot(spd1).dot(spd2_inv_sqrt)
          )
      ).dot(spd2_sqrt)
  
      assert_array_almost_equal(_geometric_mean([spd1, spd2]), geo)
  
imports: import copy
  import warnings
  from math import cosh, exp, log, sinh, sqrt
  import numpy
  import pytest
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  from pandas import DataFrame
  from scipy import linalg
  from sklearn.covariance import EmpiricalCovariance, LedoitWolf
  from nilearn._utils.extmath import is_spd
  from nilearn.connectome.connectivity_matrices import ConnectivityMeasure, _check_spd, _check_square, _form_symmetric, _geometric_mean, _map_eigenvalues, prec_to_partial, sym_matrix_to_vec, vec_to_sym_matrix
  from nilearn.tests.test_signal import generate_signals
label_desc: Use image node_id 11 for calling a global function with example usage: test_geometric_mean_couple() without return types