code: def c_bas(A: np.ndarray, V: np.ndarray, h: float) -> np.ndarray:
      n = int(A.shape[1] / 2)
      D = np.diag(np.exp(1j * V * h))
      S = np.block(
          [
              [A[0:n, 0:n], np.matmul(A[0:n, n : 2 * n], D)],
              [
                  np.matmul(D, A[n : 2 * n, 0:n]),
                  np.matmul(np.matmul(D, A[n : 2 * n, n : 2 * n]), D),
              ],
          ]
      )
      return S
  
file_path: nevergrad/nevergrad/functions/photonics/photonics.py
imports: import typing
  from pathlib import Path
  import numpy
  from scipy.linalg import toeplitz
label_desc: Use image node_id 4 for calling a global function with example usage: c_bas(A, V, h) and returns: S