docs: def generate_supremacy_circuit_google_v2_grid(n_rows: int, n_cols: int,
                                                cz_depth: int, seed: int
                                                ) -> circuits.Circuit:
      """
      Generates Google Random Circuits v2 as in github.com/sboixo/GRCS cz_v2.
      See also https://arxiv.org/abs/1807.10749
  
      Args:
          n_rows: number of rows of a 2D lattice.
          n_cols: number of columns.
          cz_depth: number of layers with CZ gates.
          seed: seed for the random instance.
  
      Returns:
          A circuit corresponding to instance
          inst_{n_rows}x{n_cols}_{cz_depth+1}_{seed}
  
      The mapping of qubits is cirq.GridQubit(j,k) -> q[j*n_cols+k]
      (as in the QASM mapping)
      """
      qubits = [devices.GridQubit(i, j) for i in range(n_rows)
                for j in range(n_cols)]
      return generate_supremacy_circuit_google_v2(qubits, cz_depth, seed)