code: def _get_triplets_reciprocal_mesh_at_q(fixed_grid_number,
                                         mesh,
                                         rotations,
                                         is_time_reversal=True,
                                         swappable=True):
      
  
      import phono3py._phono3py as phono3c
  
      map_triplets = np.zeros(np.prod(mesh), dtype='uintp')
      map_q = np.zeros(np.prod(mesh), dtype='uintp')
      grid_address = np.zeros((np.prod(mesh), 3), dtype='intc')
  
      phono3c.triplets_reciprocal_mesh_at_q(
          map_triplets,
          map_q,
          grid_address,
          fixed_grid_number,
          np.array(mesh, dtype='intc'),
          is_time_reversal * 1,
          np.array(rotations, dtype='intc', order='C'),
          swappable * 1)
  
      return map_triplets, map_q, grid_address
docs: Search symmetry reduced triplets fixing one q-point
  
      Triplets of (q0, q1, q2) are searched.
  
      Parameters
      ----------
      fixed_grid_number : int
          Grid point of q0
      mesh : array_like
          Mesh numbers
          dtype='intc'
          shape=(3,)
      rotations : array_like
          Rotation matrices in real space. Note that those in reciprocal space
          mean these matrices transposed (local terminology).
          dtype='intc'
          shape=(n_rot, 3, 3)
      is_time_reversal : bool
          Inversion symemtry is added if it doesn't exist.
      swappable : bool
          q1 and q2 can be swapped. By this number of triplets decreases.