code: def get_rtf_matrix(
      psd_speeches,
      psd_noises,
      diagonal_loading: bool = True,
      ref_channel: int = 0,
      rtf_iterations: int = 3,
      diag_eps: float = 1e-7,
      eps: float = 1e-8,
  ):
      """Calculate the RTF matrix with each column the relative transfer function
      of the corresponding source.
      """  # noqa: H405
      assert isinstance(psd_speeches, list) and isinstance(
          psd_noises, list
      )
      rtf_mat = cat(
          [
              get_rtf(
                  psd_speeches[spk],
                  tik_reg(psd_n, reg=diag_eps, eps=eps)
                  if diagonal_loading
                  else psd_n,
                  mode="power",
                  reference_vector=ref_channel,
                  iterations=rtf_iterations,
              )
              for spk, psd_n in enumerate(psd_noises)
          ],
          dim=-1,
      )
      # normalize at the reference channel
      return rtf_mat / rtf_mat[..., ref_channel, None, :]
  
imports: from typing import List, Union
  import torch
  from packaging.version import parse
  from torch_complex import functional
  from torch_complex.tensor import ComplexTensor
  from espnet2.enh.layers.complex_utils import cat, complex_norm, einsum, inverse, is_complex, is_torch_complex_tensor, matmul, reverse, solve, to_double
label_desc: Use image node_id 10 for calling a global function with example usage: get_rtf_matrix(psd_speeches, psd_noises, diagonal_loading, ref_channel, rtf_iterations, diag_eps, eps) and returns: unknown