code: def test_tangent_and_untangent_space(kind, metric, get_mats):
      """Test tangent space projection then back-projection should be identity"""
      n_matrices, n_channels = 10, 3
      mats = get_mats(n_matrices, n_channels, kind)
      X, C = mats[: n_matrices - 1], mats[-1]
      X_t = tangent_space(X, C, metric=metric)
      X_ut = untangent_space(X_t, C, metric=metric)
      assert X_ut == approx(X)
  
file_path: pyRiemann/tests/test_utils_tangent_space.py
imports: from conftest import get_metrics
  import numpy
  import pytest
  from pytest import approx
  from pyriemann.utils.distance import distance_riemann
  from pyriemann.utils.tangentspace import exp_map_euclid, exp_map_logeuclid, exp_map_riemann, log_map_euclid, log_map_logeuclid, log_map_riemann, upper, unupper, tangent_space, untangent_space, transport
label_desc: Use image node_id 8 for calling a global function with example usage: test_tangent_and_untangent_space(kind, metric, get_mats) without return types