docs: def add_fluctuations(hdf5_file, N_columns, N_processes):
      """This procedure organizes the addition of small fluctuations on top of 
          a matrix of similarities at 'hdf5_file' across 'N_processes' 
          different processes. Each of those processes is an instance of the 
          class 'Fluctuations_Worker' defined elsewhere in this module.
      """
  
      random_state = np.random.RandomState(0)
          
      slice_queue = multiprocessing.JoinableQueue()
          
      pid_list = []
      for i in range(N_processes):
          worker = Fluctuations_worker(hdf5_file,
                     '/aff_prop_group/similarities', random_state, 
                     N_columns, slice_queue)
          worker.daemon = True
          worker.start()
          pid_list.append(worker.pid)
              
      for rows_slice in chunk_generator(N_columns, 4 * N_processes):
          slice_queue.put(rows_slice)
          
      slice_queue.join()
      slice_queue.close()
      
      terminate_processes(pid_list)
      gc.collect()